r1524 - in packages/libmail-box-perl/tags: . debian_version_2_063-1 debian_version_2_063-1/debian debian_version_2_063-1/lib/Mail debian_version_2_063-1/lib/Mail/Box debian_version_2_063-1/lib/Mail/Box/Dbx debian_version_2_063-1/lib/Mail/Box/Dir debian_version_2_063-1/lib/Mail/Box/File debian_version_2_063-1/lib/Mail/Box/IMAP4 debian_version_2_063-1/lib/Mail/Box/Locker debian_version_2_063-1/lib/Mail/Box/MH debian_version_2_063-1/lib/Mail/Box/Maildir debian_version_2_063-1/lib/Mail/Box/Manage debian_version_2_063-1/lib/Mail/Box/Mbox debian_version_2_063-1/lib/Mail/Box/Message debian_version_2_063-1/lib/Mail/Box/Net debian_version_2_063-1/lib/Mail/Box/POP3 debian_version_2_063-1/lib/Mail/Box/Parser debian_version_2_063-1/lib/Mail/Box/Search debian_version_2_063-1/lib/Mail/Box/Thread debian_version_2_063-1/lib/Mail/Box/Tie debian_version_2_063-1/lib/Mail/Message debian_version_2_063-1/lib/Mail/Message/Body debian_version_2_063-1/lib/Mail/Message/Construct debian_version_2_063-1/lib/Mail/Message/Convert debian_version_2_063-1/lib/Mail/Message/Field debian_version_2_063-1/lib/Mail/Message/Head debian_version_2_063-1/lib/Mail/Message/Replace debian_version_2_063-1/lib/Mail/Message/TransferEnc debian_version_2_063-1/lib/Mail/Message/Wrapper debian_version_2_063-1/lib/Mail/Server debian_version_2_063-1/lib/Mail/Server/IMAP4 debian_version_2_063-1/lib/Mail/Transport debian_version_2_063-1/tests/13body debian_version_2_063-1/tests/31fgroups debian_version_2_063-1/tests/44imap debian_version_2_063-1/tests/50message

Gunnar Wolf gwolf at costa.debian.org
Fri Nov 18 20:01:25 UTC 2005


Author: gwolf
Date: 2005-11-18 20:00:22 +0000 (Fri, 18 Nov 2005)
New Revision: 1524

Added:
   packages/libmail-box-perl/tags/debian_version_2_060-2/
   packages/libmail-box-perl/tags/debian_version_2_063-1/
   packages/libmail-box-perl/tags/debian_version_2_063-1/ChangeLog
   packages/libmail-box-perl/tags/debian_version_2_063-1/META.yml
   packages/libmail-box-perl/tags/debian_version_2_063-1/Makefile.PL
   packages/libmail-box-perl/tags/debian_version_2_063-1/debian/changelog
   packages/libmail-box-perl/tags/debian_version_2_063-1/debian/rules
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box-Cookbook.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box-Index.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box-Overview.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Collection.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Collection.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dbx.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dbx.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dbx/Message.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dbx/Message.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dir.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dir.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dir/Message.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dir/Message.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/FastScalar.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/FastScalar.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/File.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/File.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/File/Message.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/File/Message.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4/Head.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4/Head.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4/Message.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4/Message.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Identity.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Identity.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/DotLock.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/DotLock.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/Flock.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/Flock.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/Multi.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/Multi.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/NFS.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/NFS.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/POSIX.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/POSIX.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Index.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Index.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Labels.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Labels.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Message.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Message.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Maildir.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Maildir.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Maildir/Message.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Maildir/Message.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Manage/User.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Manage/User.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Manager.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Manager.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Mbox.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Mbox.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Mbox/Message.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Mbox/Message.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Message.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Message.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Message/Destructed.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Message/Destructed.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Net.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Net.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Net/Message.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Net/Message.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/POP3.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/POP3.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/POP3/Message.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/POP3/Message.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Parser.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Parser.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Parser/Perl.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Parser/Perl.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search/Grep.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search/Grep.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search/SpamAssassin.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search/SpamAssassin.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Thread/Manager.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Thread/Manager.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Thread/Node.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Thread/Node.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie/ARRAY.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie/ARRAY.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie/HASH.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie/HASH.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Construct.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Construct.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Delayed.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Delayed.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Encode.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Encode.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/File.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/File.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Lines.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Lines.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Multipart.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Multipart.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Nested.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Nested.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/String.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/String.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Bounce.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Bounce.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Build.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Build.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Forward.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Forward.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Read.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Read.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Rebuild.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Rebuild.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Reply.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Reply.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Text.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Text.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/Html.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/Html.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/HtmlFormatPS.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/HtmlFormatPS.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/HtmlFormatText.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/HtmlFormatText.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/MailInternet.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/MailInternet.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/MimeEntity.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/MimeEntity.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/TextAutoformat.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/TextAutoformat.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Dummy.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Dummy.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/AddrGroup.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/AddrGroup.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Address.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Address.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Addresses.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Addresses.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Attribute.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Attribute.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Fast.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Fast.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Flex.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Flex.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Full.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Full.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Structured.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Structured.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/URIs.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/URIs.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Unstructured.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Unstructured.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Complete.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Complete.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Delayed.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Delayed.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/FieldGroup.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/FieldGroup.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/ListGroup.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/ListGroup.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Partial.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Partial.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/ResentGroup.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/ResentGroup.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/SpamGroup.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/SpamGroup.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Subset.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Subset.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Part.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Part.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Replace/MailHeader.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Replace/MailHeader.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Replace/MailInternet.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Replace/MailInternet.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/Base64.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/Base64.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/Binary.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/Binary.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/EightBit.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/EightBit.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/QuotedPrint.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/QuotedPrint.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/SevenBit.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/SevenBit.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Wrapper/SpamAssassin.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Wrapper/SpamAssassin.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Reporter.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Reporter.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/Fetch.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/Fetch.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/List.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/List.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/Search.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/Search.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Exim.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Exim.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/IMAP4.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/IMAP4.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Mailx.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Mailx.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/POP3.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/POP3.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Qmail.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Qmail.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Receive.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Receive.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/SMTP.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/SMTP.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Send.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Send.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Sendmail.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Sendmail.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/test.pl
   packages/libmail-box-perl/tags/debian_version_2_063-1/tests/13body/40multip.t
   packages/libmail-box-perl/tags/debian_version_2_063-1/tests/31fgroups/30spam.t
   packages/libmail-box-perl/tags/debian_version_2_063-1/tests/44imap/30flags.t
   packages/libmail-box-perl/tags/debian_version_2_063-1/tests/50message/10stripsig.t
   packages/libmail-box-perl/tags/debian_version_2_063-1/tests/50message/21reply.t
Removed:
   packages/libmail-box-perl/tags/debian_release_2_060-2/
   packages/libmail-box-perl/tags/debian_version_2_063-1/ChangeLog
   packages/libmail-box-perl/tags/debian_version_2_063-1/META.yml
   packages/libmail-box-perl/tags/debian_version_2_063-1/Makefile.PL
   packages/libmail-box-perl/tags/debian_version_2_063-1/debian/changelog
   packages/libmail-box-perl/tags/debian_version_2_063-1/debian/rules
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box-Cookbook.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box-Index.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box-Overview.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Collection.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Collection.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dbx.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dbx.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dbx/Message.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dbx/Message.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dir.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dir.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dir/Message.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dir/Message.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/FastScalar.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/FastScalar.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/File.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/File.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/File/Message.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/File/Message.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4/Head.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4/Head.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4/Message.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4/Message.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Identity.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Identity.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/DotLock.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/DotLock.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/Flock.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/Flock.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/Multi.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/Multi.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/NFS.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/NFS.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/POSIX.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/POSIX.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Index.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Index.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Labels.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Labels.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Message.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Message.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Maildir.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Maildir.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Maildir/Message.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Maildir/Message.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Manage/User.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Manage/User.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Manager.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Manager.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Mbox.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Mbox.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Mbox/Message.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Mbox/Message.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Message.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Message.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Message/Destructed.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Message/Destructed.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Net.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Net.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Net/Message.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Net/Message.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/POP3.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/POP3.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/POP3/Message.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/POP3/Message.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Parser.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Parser.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Parser/Perl.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Parser/Perl.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search/Grep.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search/Grep.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search/SpamAssassin.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search/SpamAssassin.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Thread/Manager.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Thread/Manager.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Thread/Node.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Thread/Node.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie/ARRAY.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie/ARRAY.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie/HASH.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie/HASH.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Construct.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Construct.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Delayed.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Delayed.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Encode.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Encode.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/File.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/File.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Lines.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Lines.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Multipart.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Multipart.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Nested.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Nested.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/String.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/String.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Bounce.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Bounce.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Build.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Build.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Forward.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Forward.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Read.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Read.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Rebuild.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Rebuild.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Reply.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Reply.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Text.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Text.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/Html.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/Html.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/HtmlFormatPS.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/HtmlFormatPS.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/HtmlFormatText.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/HtmlFormatText.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/MailInternet.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/MailInternet.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/MimeEntity.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/MimeEntity.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/TextAutoformat.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/TextAutoformat.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Dummy.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Dummy.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/AddrGroup.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/AddrGroup.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Address.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Address.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Addresses.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Addresses.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Attribute.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Attribute.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Fast.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Fast.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Flex.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Flex.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Full.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Full.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Structured.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Structured.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/URIs.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/URIs.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Unstructured.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Unstructured.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Complete.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Complete.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Delayed.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Delayed.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/FieldGroup.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/FieldGroup.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/ListGroup.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/ListGroup.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Partial.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Partial.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/ResentGroup.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/ResentGroup.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/SpamGroup.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/SpamGroup.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Subset.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Subset.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Part.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Part.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Replace/MailHeader.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Replace/MailHeader.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Replace/MailInternet.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Replace/MailInternet.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/Base64.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/Base64.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/Binary.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/Binary.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/EightBit.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/EightBit.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/QuotedPrint.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/QuotedPrint.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/SevenBit.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/SevenBit.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Wrapper/SpamAssassin.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Wrapper/SpamAssassin.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Reporter.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Reporter.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/Fetch.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/Fetch.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/List.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/List.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/Search.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/Search.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Exim.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Exim.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/IMAP4.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/IMAP4.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Mailx.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Mailx.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/POP3.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/POP3.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Qmail.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Qmail.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Receive.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Receive.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/SMTP.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/SMTP.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Send.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Send.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Sendmail.pm
   packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Sendmail.pod
   packages/libmail-box-perl/tags/debian_version_2_063-1/test.pl
   packages/libmail-box-perl/tags/debian_version_2_063-1/tests/13body/40multip.t
   packages/libmail-box-perl/tags/debian_version_2_063-1/tests/31fgroups/30spam.t
   packages/libmail-box-perl/tags/debian_version_2_063-1/tests/44imap/30flags.t
   packages/libmail-box-perl/tags/debian_version_2_063-1/tests/50message/10stripsig.t
   packages/libmail-box-perl/tags/debian_version_2_063-1/tests/50message/21reply.t
Log:
Uploaded version 2.063-1


Copied: packages/libmail-box-perl/tags/debian_version_2_060-2 (from rev 948, packages/libmail-box-perl/tags/debian_release_2_060-2)

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1 (from rev 1521, packages/libmail-box-perl/trunk)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/ChangeLog
===================================================================
--- packages/libmail-box-perl/trunk/ChangeLog	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/ChangeLog	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,2712 +0,0 @@
-CHANGELOG of Mail::Box version 2
-
-All changes were made by Mark Overmeer <mark at overmeer.net>, unless
-specified differently.
-
-NOTE: The number of changes and fixes for each release seem large, but
-      usually limited to areas which are under development.  Mail::Box
-      is a huge module, so there is always a lot of activity.
-
-version 2.062: Thu Aug 25 14:07:13 CEST 2005
-
-	Fixes:
-
-	- New Test::Builder (not delivered with perl yet) changed
-	  implementation which made tests fail.
-
-	Improvements:
-
-	- Mail::Message::Head->build() skips undefs.
-
-version 2.061: Wed Jun 22 19:39:09 CEST 2005
-
-	Fixes:
-
-	- Finally, after many hours hunting, I was able to figure-out that
-	  a bug in Perl's "require" caused the "foundIn() not implemented
-	  in Mail::Box::IMAP4" problem (for instance when running the
-	  tests).  Reported by [many people, nice work-around by Niko Tyni]
-
-	- Mail::Message::Construct::Read added missing Message-ID without
-	  angle brackets.  Patch by [gjmyers]
-
-	- Mail::Transport::Sendmail options to trySend() were ignored.
-          [Andriy Gapon]
-
-	- Mail::Message::timestamp() didn't trigger load of lazy message.
-	  [found by Eric Dorland]
-
-	- Many IMAP4 fixes and bug-reports by [Raul Dias]
-
-	- Mail::Message::Field::Full translated '0' content into 'undef'
-	  [found by Eugene L Schulman]
-
-	- test.pl didn't return <false> on a critical failure.  Patched
-	  by [Tiko Tyni]  Now installation attempt should stop on a
-	  sincere problem.
-
-	- test fixes, where newer Test::Harness passes around 'lib'
-	  differently. Patched by [Tiko Tyni]
-
-	- On request of [rt.cpan.org at plan9.de], Mail::Box::File::appendMessage
-	  explicitly states that it by default doesn't lock the folder. The
-	  writing is unsafe!
-
-	- [Tiko Tyni] provided different solutions to fix the taint warnings
-	  with the tests, which appeasr with perl 5.8.7.  IO::File changed
-	  its behavior, which is now circumvented in the tests..
-
-version 2.060: Tue Mar 15 22:02:34 CET 2005
-
-	Fixes:
-
-	- Mail::Transport::IMAP4 crash on getFlags(). Reported by [Tom Allison]
-
-	- Mail::Transport::IMAP4 authenticate now uses server's
-	  reported capabilities.  On the path paved by [Tom Allison]
-
-	- Fixes installation issue with IMAP4 (I hope)  Reported by
-	  various people.
-
-	- Mail::Message::Field::toDate() now works around %z interpretation
-	  as textual time-zones when there are blanks in the name.
-	  [aa26 at mail.ru]
-
-	- Pod updage for Mail::Box::Dbx [Ralf Valerien]
-
-	- open('|-') does a fork, so a failure should result in an exit,
-	  not a return.  Found a few times in Mail::Transport::*, and
-	  discovered by [Slaven Rezic]
-
-	- $msg->send didn't pass the options correctly to the sending
-	  object. Reported by [Franck Richard].
-
-	- Mail::Transport::POP3 did only try APOP in AUTO mode. Found
-	  by [Markus Spann].
-
-	- scripts/mailbox2html used setLabel(), which got replaced by
-	  label() a long time ago. Reported by [Alain Veylit]
-
-	- Mail::Message::Field::Attribute used Mail::Reporter without
-	  having it as base class.  Rewritten to have it that way.
-	  Reported by [Russell Mosemann]
-
-	- Removed the two uses of $& in reg-exps, which slows-down all
-	  regexp matches in older Perl versions.  Patch supplied by
-	  [jgmyers]
-
-	Improvements:
-
-	- Documented Mail::Box::Manager::open(authenticate) as
-	  suggested by [Tom Allison]
-
-	- $msg->bounce() without arguments now croaks. [Slaven Rezic]
-
-version 2.059: Tue Nov 30 19:50:42 CET 2004
-
-	Interface changes:
-
-	- Mail::Transport::IMAP4::flagsToLabels expects new first argument
-	  'REPLACE', 'SET', or 'CLEAR'.
-
-	Fixes:
-
-	- Installer didn't ask for optional Time::Hires
-
-	- [Anthony D. Urso] fixed an endless loop in study() for
-	  fields ending on blanks.
-
-	- [Russell Mosemann] found a different problem, in about
-	  the same line as the previous fix.
-
-	- Fixed memory leak in administration of messages in folder.
-
-	Improvements:
-
-	- $msg->printStructure is less strict on the format of the
-	  indentation: any white-space in it is sufficient.
-
-	- $msg->printStructure(undef) will return the structure as
-	  string.
-
-	- new method Mail::Server::IMAP4::Fetch::printStructure()
-	  for debugging purposes.
-
-version 2.058: Wed Sep 22 14:44:32 CEST 2004
-
-	Interface changes:
-
-	- [Andy Maas] rewrote Mail::Box::FastScalar, to boost performance.
-	  various bodyAsList() methods now prduce ref-arrays.  Shouldn't
-	  affect user programs. Requires Mail::Box::Parser::C v3.006
-
-	Fixes:
-
-	- [Jason Woodward ] had to wait much too long to get his
-	  twin-POP open problem solved.  Now, only one POP connection
-	  will be opened.  This may speed-up other programs as well.
-
-	- [Mike Mimic] foudn that the new INIT block in Mail::Reporter
-	  did not work well with his web-application.  Changed it into
-	  BEGIN.
-
-	- [Mail Minic] Mail::Transport::Exim did not handle strings
-	  as from address correctly.
-
-	- [Anonymous via RT] Use ExtUtils::MakeMaker::prompt() instead
-	  of own ask() in Makefile.PL, so MailBox can be installed with
-	  CPANPLUS.
-
-	- [aa29] $head->isMultipart did not return boolean in list
-	  context.
-
-	- [DH] removed INIT block from Mail::Reporter, which complains
-	  in Apache.
-
-	- [aa29] Mail::Box::MH->new failed because of initiation order
-
-	- pop3 folders do not need (have) a name, but Mail::Box::Manager::open
-	  required one.  Accidentally, sometimes that worked, because $ENV{MAIL}
-	  was used as default, however, that could cause various problems.
-
-	- {Tom Allison] found-out that imap was not autoloaded my the
-	  Mail::Box::Manager.
-
-	Improvements:
-
-	- warning message "Folder does not exist, ..." avoided when
-	  folder is opened for deletion.
-
-	- added Mail::Box::Identity::open()
-
-	- added Mail::Box::nrMessages() for simplification
-
-	- [Alessandro Zummo] showed me that docs about
-	     "why $head->delete($field) doesn't aways work" were needed.
-	  It's a nasty reference counting problem.
-
-version 2.057: Thu Aug 26 14:31:34 CEST 2004
-
-	Interface change:
-
-	- Moved the new Mail::Box::IMAP4::Fetch to Mail::Server::IMAP4::Fetch,
-	  which is a more logical name: part of a full server implementation.
-
-	- Moved the unusable module Mail::Box::Search::IMAP4 over to
-	  Mail::Server::IMAP4::Search... but still not implemented ;-)
-
-	- You have to add (share => 0) to $msg->moveTo if the source message
-	  can get undeleted in your program (for instance in a user
-	  application).
-
-	- Mail::Reporter->report(...) will return strings without \n. Sporadic
-	  locations where log() was called with trailing \n are removed.
-
-	- Opening a folder which is already open is considered an error (was
-	  warning) by the manager.
-
-	Fixes:
-
-	- [Jan Martin Mathiassen] add IO::File to Mail::Box::Dir::Message
-
-	- [Torsten Luettgert] found that field labels like '-' where not
-	  beautified correctly with wellformedName.
-
-	- Changed '.' from most preferred folder directory for the manager
-	  into the least preferred.
-
-	- $field->setWrapLength only worked for "fast" fields.  Tests in
-	  tests/11field/40wrap.t
-
-	- [Mike Mimic] showed that constructing unstructured "full" fields
-	  was broken.
-
-	- Mail::Box::POP3::delete() will not take any action.  Deleting all
-	  contained messages was not consequent.
-
-	Improvements:
-
-	- [David A Golden] demonstrated the need for $head->wrap(<size>)
-
-	- $folder->coerce($message) will only call MSGTYPE->coerce($message)
-	  when not a MSGTYPE yet.
-
-	- Mail::Box::Message::coerce() could be removed: no-op.
-
-	- Reimplemented folder->delete(), which is not reading the messages
-	  before deletion, but bluntly removes the folder in the most
-	  Efficient way. You probably want the new option 'recursive'.
-
-	- Mail::Box::new(access) now has mode 'd', which speeds up removal
-	  of folders.  Used by $folder->delete().
-
-	- Mail::Box::IMAP4 now supports deletion of a folder (untested)
-
-	- $folder->copyTo/moveTo and $msg->copyTo can have option 'share'
-	  which tries to use hardlinks i.s.o. clone() to put a message in
-	  a different folder.  Only available for some M<Mail::Box::Dir>
-	  folders.
-
-	- Mail::Message::clone() now accepts shallow_head and shallow_body
-	  arguments which avoid deep-cloning.
-
-	- Added references to the Netzwert folder type, which got implemented,
-	  but not released as GPL (yet?)
-
-	- Increased the status of the IMAP folder client from alpha to beta.
-
-	- New methods
-             Mail::Box::Manager::folderdir()
-	     Mail::Box::Manager::defaultFolderType()
-
-	- New methods
-	     Mail::Box::topFolderWithMessages()
-
-	- Moved tests/44imap/40fetch.t to tests/60imap/10fetch.t
-
-	- Mail::Box::nameOfSubFolder() now can be used as class method.
-
-	- New, specialized folder manager
-	     Mail::Box::Manage::User   manager with user knowledge
-	  tests in tests/52manager/20user.t
-	  explanation added to Mail::Box::Manager, about the two kinds
-	  of managers.
-
-	- New classes to administer folders, even when not opened
-	     Mail::Box::Identity       info about (possibly unopened) folder
-	     Mail::Box::Collection     info about groups of folders
-	  tests in tests/52manager/30collect.t
-
-	- New classes to implement parts of an IMAP4 server
-	     Mail::Server              place-holder
-	     Mail::Server::IMAP4       place-holder
-	     Mail::Server::IMAP4::List
-	  tests in tests/60imap/20list.t
-
-	- Split tests/10report/10errors.t into
-	  tests/10reporter/10errors.t and tests/10reporter/20reports.t
-
-	- Mail::Reporter::defaultTrace can now set a callback to catch
-	  each log/trace message.  Tests in tests/10reporter/30callback.t
-
-	- [chris] Mail::Message::Field::wellformedName() will upper-case
-	  *-ID as part in the fieldname.
-
-	- [M M] tried to user MBMbox->create and expected it to open the
-	  folder at the same time.  Documentation problem: moved the
-	  method from "constructors" to "internal".  Did the same for
-	  "foundIn".
-
-	- Produce an error if people try to build Mail::Box::*
-	  messages directly.
-
-	- Many improvements on User::Identity module.  MailBox requires
-	  version UI 0.90 now.
-
-version 2.056: Sat Jul 31 13:28:29 CEST 2004
-
-	Interface change:
-
-	- [Wiggins d Anconia] explained that combining MailBox with forks
-	  may cause non-unique message-ids to be created.  To solve this,
-	  the $head->messageIdPrefix() had to be rewritten.  MessageIDs will
-	  look differently now.  [No problems expected for existing programs]
-
-	Fixes:
-
-	- [Jeff Squyres] silenced warnings by guessTimestamp() and
-	  recvstamp() when no Date nor Received fields are present.
-
-	- [August] Mail::Box->new(lock_wait) option not correctly passed
-	  to Locker object.
-
-	- [Mime Mimic] noticed that a message reply used "sender", not
-          "From" addresses when no "Reply-To" field is present. This is
-          not according RFC2822.  Sender should never be used.
-
-	- [Jason Woodward] found a $_ localization error in POP3, which
-	  could result in "Can't call method "xxx" without a package or
-	  object reference" errors.
-
-	- [Carlos Perez] SpamAssasin's message wrapper method get_header()
-	  should return all field bodies with a certain name in list context.
-
-	- [Jason Woodward] $msg->shortString was broken.
-
-	- [Todd Richmond] discovered that un-quoted attribute values
-	  consumed the semi-colon separator in Mail::Message::Field.
-
-	- Content-Transfer-Encoding and Content-Disposition fields were
-	  ignored when specified with Mail::Message->build().  Now they
-	  will be applied to the create body AFTER the body is constructed
-	  based on default rules.
-
-	- [Todd Richmond] discovered that Base64 decoding should not be
-	  done on per line basis, because some lines may not have mod4
-	  number of characters (especially in virusses).  The RFC is not
-	  clear about it, so... Mail::Message::TransferEnc::Base64 is
-	  changed (again)
-
-	Improvements:
-
-	- [Rich Caller] suggested to change blanks in ill-formated
-	  message-ids into blanks.  Apparently, some applications are
-	  doing that.
-
-	- Mail::Message::Field::Unstructured now supportss character-set
-	  encodings, by request of [Mike Mimic]
-
-	- [Mike Mimic] made an unexpected abuse of $head->build().  It is
-	  now supported that ready field objects can be passed.  A warning
-	  is produced when you accidentally pass  field_name => $field_object
-	  (which should be: field_name => field_content  or simply
-	  $field_object.
-
-	- [Mike Mimic] Some link errors in the front HTML documentation page.
-
-	- Added $head->printSelected(FILE, patterns) as simple way to
-	  produce field subsets.
-
-	- Added support for label 'passed', which means that the message
-	  was used for forward/bounce/resend.
-
-	- Added Maildir message flag P='passed' (uncommon)
-
-	- Changed flag handling implementation in Mail::Transport::IMAP4.
-	  Tests are in tests/44imap/30flags.t
-
-	- $body->dispositionFilename can be used without directory name.
-
-	- Attachments auto-discompose as 'inline' for texts and `attachement'
-	  for binaries.
-
-	- Added Mail::Box::IMAP4::Fetch with tests in tests/44imap/40fetch.t
-	  which provides body/bodystructure/envelope syntax conversions.
-
-	- New $field->attributes (to list fields of all attributes) for
-	  Mail::Message::Field.
-
-	- Added description of differences between MIME::Entity::build()
-	  and Mail::Message::build().
-
-	- Mail::Message::Field::Structured can now be used for general
-	  structured fields with attributes, like Content-Type and
-	  Content-Description.
-
-version 2.055: Sun May 16 15:41:59 CEST 2004
-
-	Fixes:
-
-	- [Simon Sozens] reported that IMAPClient was always installed,
-	  although claiming that it was optional.  Now it is really
-	  optional.
-
-	- [Josh Miller] showed Mail::Message::Construct::Reply::replyPrelude
-	  failed the default situation of no explictly stated destination.
-
-	- [Yuval Kogman] suggested to use $CRLF from Socket.pm in Mail::
-	  Transport::POP3, because it correctly set the content for many
-	  platforms.
-
-	- [Timur I. Bakeyev] spam-flag tested for "yes", but should be
-	  "^yes\b", by reason of a possible "bayes" name in the same line.
-
-	- [Timur I. Bakeyev] ::FieldGroup->attach was broken since 2.051.
-
-	- [Timur I. Bakeyev] ::FieldGroup doc improvements.
-
-	- [Daniel P. Berrange] found a circular reference which kept
-	  folders to stay open too long in some circumstances.
-
-	- [Roderick A. Anderson] saw complaints about fileLocation() being
-	  called on message parts.  Something is fixed, which may be the
-	  cause.
-
-	- [Miah Gregory] destruct()ing messages in Maildir should not
-	  delete the message.  No message will be automatically flagged
-	  for deleting when destructed.
-
-	- [Paul Makepeace] $msg->send(via) always used sendmail, without
-	  looking at the value passed with via.
-
-	- [Roderick A. Anderson] hit a bug in ::Body::Nested::fileLocation
-
-	- [Kees Dekker] Mail::Box::update logged number of new messages,
-	  although it did not receive that info from updateMessages.  Log
-	  message removed.
-
-	- [Kees Dekker] discovered a race-condition when writing a
-	  replacement folder in Mail::Box::File.
-
-	- The probably hundredth attempt to get $msg->send to work smoothly.
-
-	- [Gilles] discovered that the charset setting of a body did not
-	  survive encode().  Content-type fields with text/* mime-types will
-	  not get charset=us-ascii added automatically.
-
-	- [Blair Zajac] typo in Makefile.PL text, and removal of stutters
-          in the documentation.
-
-	Improvements:
-
-	- [Trond Michelsen] needed a way to specify the body type for
-	  messages which where read with Mail::Message->read.
-
-	- You now can add your own spam-fighter fields to the detector
-	  of Mail::Message::Head::SpamGroup.  See method 'fighter'.
-
-	- [Roderick A. Anderson] showed that the result value of
-	  $msg->timestamp needed some more explanation.
-
-	- [Kees Dekker] Doc improvements in Mail::Box::Locker
-
-	- Easier to start multi-lockers with selection when opening
-	  a folder:
-	     $f = $mgr->open($name, lock_type => ['DOTLOCK','FLOCK'])
-
-	- [David A Golden] suggested to remove $msg->date, in favor
-	  of $msg->head->date, which is consistent.  When the need arises,
-	  maybe a new method $msg->date will appear returning some nice
-	  date object (like a DateTime).  But probably that is never
-	  needed, since there is a $msg->timestamp.
-
-version 2.054: Fri Feb  6 21:52:54 CET 2004
-
-	Fixes:
-
-	- Reverted the change made in 2.049, which automatically added
-	  a new-line to a body... a Mail::Message::Body object may
-	  contain binary data!
-
-	- [Phil Hagen] found a typo in Mail::Transport::Qmail, causing
-	  the display of undisclosed fields (Bcc) when using qmail.
-
-	- [Brett Dikeman] showed that $mgr->open sometimes complained
-	  with a warning when no folderdir was specified.
-
-	- [Erik A Johnson] patched Mail::Box->coerce(message) to work
-	  better with foreign messages.
-
-	- [Erik A Johnson] found that Mail::Internet objects where converted
-	  by the MIME::Entity converter and vice-versa.  This does usually
-	  not cause too many problems because MIME::Entity extends
-	  Mail::Internet.
-
-	- [David Phillips] got an undef warning in POP3 after delete(). Fixed
-
-	- [Mike J. Vincelette] reported error in $folder->messages(0, 20)
-	  The bounds were not checked correctly and slicing with 1..20
-	  behaves unexpectedly in subroutine scalar context.
-
-	Improvements:
-
-	- $msg->size returns a value which may be a few percent off the
-	  real value (depends on the action which follows).  The warning
-	  in the documentation about this has been strengthened after some
-	  discussion with [Mike Mimic]
-
-	- Mail::Transport::Exim takes exim4 binary with preference over
-	  usual exim MTA, on request by [Mike Mimic]
-
-	- [Mitar] Mail::Transport::Sendmail starts sendmail with -ti, not
-	  -it, which helps exim... either the default sendmail as the
-	  specialized Mail::Transport::Exim module will work now with exim.
-
-version 2.053: Thu Dec  4 00:13:50 CET 2003
-
-	Fixes:
-
-	- Installation problem with Mail::IMAPClient.
-
-version 2.052: Wed Dec  3 21:04:45 CET 2003
-
-        Fixes:
-
-        - Mail::Transport::Send did not pass the options to the various
-          trySend() methods.  Now $msg->send(to => ...) will be respected.
-
-        - [Tim Sellar] fixed the message type default where the Content-Type
-          field is empty.
-
-        - Corrected some typos in Mail::Box-index, and added reference to
-          HTML::FromMail
-
-        - 'use' line reshuffling in all test scripts, because Test::Harness
-          changed behavior.
-
-        - [Matthew Darwin] found double 'Content-Type' fields after build()
-          From now on, you can overrule the content-type of the constructed
-          message, for instance to 'multipart/alternative' without problems.
-
-        - A list of sorted threads could not handle threads starting at the
-          same time: only one was listed.
-
-        - Reply on a message which lists multiple reply-to addresses
-          confused replyPrelude(). Spotted by [Nick Ing-Simmons]
-
-        - Mail::Transport::SMTP could not handle illegal sender address.
-          Discovered by [Matthew Darwin] 
-
-        - Mail::Message->build with data => '' failed: contains no lines
-          at all, which was not correctly handled. Reported by
-          [Matthew Darwin].
-
-        - $msg->coerce() does not clear the deleted flag anymore.
-
-        Improvements:
-
-        - Basic IMAP4 implementation.  Included for testing purpose only.
-
-        - 'delete' is changed into a full-class label, not a special
-          case.  This simplified the code on many places.  The delete(),
-          isDeleted(), and deleted() methods on a message are now
-          simply short-cuts for $msg->label(deleted)
-
-        - Removed most use of File::Spec from Mail::Box::MH and
-          Mail::Box::Maildir, because it consumed considerable time:
-          [Anthony D. Urso] reported 20%)
-          doing things not required to perform correctly on Unix or
-          Windows.
-
-        - Ignore sending messages with SMTP when no addresses are specified
-          to send the message to.
-
-        - Warnings about lacking optional modules is nicer in Makefile.PL
-
-        - Added large warning to Makefile.PL when people have the perl
-          version (not the XS version) of Scalar::Util installed on their
-          system.  That breaks everything! The correct version can not
-          automatically be reinstalled because the version numbers are the
-          same.
-
-        - Recent changes (bugs) in Test::Harness required an update of
-          the test process.
-
-        - test.pl reports the version of some installed modules, to help
-          responding to error reports.
-
-        - [Anthony D. Urso] supplied a patch to use the Received headers
-          to provide a message time-stamp.  Mail::Message::Head::Complete
-          now contains a ::timestamp() to get the user supplied date (which
-          is untrustable in case of spam) and ::recvstamp() which uses other
-          means.  The Mail::Message::timestamp() will, from now on, prefer
-          the date provided by ::recvstamp and use ::timestamp as fallback.
-
-          There are other sources to get a good stamp from, for instance
-          the MBOX "From " line, but that is not implemented (yet)
-
-        - [asta] used $msg->parts, but the doc of the method was ignoring
-          the facts that the message/rfc822 and multipart "wrappers" of
-          the parts are not returned.
-
-        - $folder->current made lazy, so only calculated when used.  When
-          no message is labeled 'current', then the first not seen is
-          returned.
-          
-        - New method $folder->findFirstLabeled.
-
-        - New option Mail::Box::Manager->new(autodetect) limits the set of
-          default folder-types in the folder type autodetection attempt.
-          Requested by [Nick Ing-Simmons]
-
-        - The HTML manual now also indexes NOTICE log messages.  Not all
-          NOTICE messages are described yet.
-
-version 2.051: Mon Nov  3 16:16:09 CET 2003
-
-        Fixes:
-
-        - [Tim Sellar] example/build.pl omission: ::Body->new(type =>
-          should be ::Body->new(mime_type =>
-
-        - [Lutz Gehlen] bumped into a mistake in the (not finished)
-          ::Field::Full code: the class of unstructured fields was
-          composed improperly.
-
-        - study()ing multi-line fields produced an improper field
-          names.
-
-        Improvements:
-
-        - [Matthew Walker] added the distiction between CommuniGatePro
-          and CommunGate software to the Mail::Message::Head::ListGroup 
-          mailinglist detector.
-
-        - [Tim Sellar] suggested to ignore undef values in build(),
-          which will simplify the code of the user.
-
-        - Added detector for MailScanner spam groups.
-
-        - new Mail::Message::Head::SpamGroup::spamDetected() and
-              Mail::Message::Head::Complete::spamDetected()
-
-        - Mail::Message::Replace::MailInternet::read() distinguishes
-          between Mail::Message->read() and $mailinternet_object->read
-
-version 2.050: Tue Sep 30 18:27:11 CEST 2003
-
-        Fixes:
-
-        - An (unintended) change of behaviour in Text::MagicTemplate
-          (which is used to produce the POD and HTML) made all produced
-          manuals exactly the same.
-
-        Improvements:
-
-        - [Matthew Walker] contributed various improvements to the ListGroup
-          detection and documentation.  Detection for Listserv software
-          was added, and rfc2918 should have been rfc2919.
-
-        - [Matthew Walker] made test/Tools::copy_dir() skip directories.
-
-        - Implementation of Mail::Message::Replace::MailInternet and
-          ::MailHeader, as drop-in replacements for Mail::Internet and
-          Mail::Header.  Very alpha! not tested yet!
-
-version 2.049: Mon Sep 29 13:32:47 CEST 2003
-
-        Fixes:
-
-        - [Liz Mattijsen] Makefile.PL requires IO::Handle in some
-          environments.
-
-        - [Terrence Brennon] found a doc and a code mistake in
-          example/strip-attachement.pl
-
-        - [Ron Savage] showed that the Text::Autoformat module produces
-          different output on different machines, caused by breaking
-          words.  Breaking now disabled the for the tests, so test
-          should result in the same everywhere.
-
-        - Some Mail::Transport::* senders did not pass-on the Bcc field
-          to their application.  Reported by [Phil Hagen].
-
-        - [Stefan Wolfsheimer] and [Mark Scarton] report a missing $ in
-          ::ResentGroup, which broke the "delivered-to" field in resent
-          groups.
-
-        - [Jason Woodward] reported that there were still some problems
-          with $msg->forward().  Hope to have fixed them, this time.
-
-        - $msg->send now really has a default which will be loaded
-          automatically as well.
-
-        - When you try to open the same folder twice, using the manager
-          (as you should), the second time will fail.  This is needed,
-          because there are too many complications, like locking.
-
-        Improvements:
-
-        - Mail::Box::Parser::Perl used $sep =~ m/^From / to recognize the
-          MBOX separator.  Now it uses $sep eq 'From ', which is faster.
-
-        - Mail::Message::Body::new(data) now corrects scalars values
-          which do not end on a "\n".  Convinced by [Mike Mimic]
-
-        - Object::Realize::Later v0.14 required
-
-        - Mail::Box::File::updateMessages() implemented, for instance for
-          $mbox->update calls.  Test in tests/40mbox/80update.t
-
-        - Maildir subfolder names can start with a dot, as reported by
-          [Paul Simons].
-
-        - Ability to add options to the command-line of sendmail when
-          started as MTU.  Saw this need in a script of [Adam Augustine]
-
-        - Test-script of MIME::Entity conversion purges the M::E objects
-          after being used, otherwise trashing files are left in the tests
-          directory.
-
-        - Added Mail::Message::Body(::Encode)::dispositionFilename and
-          Mail::Message::Body::write() which will help to export data
-          found in a message(-part) to the file-system.
-
-version 2.048: Tue Aug 26 19:50:06 CEST 2003
-
-        Fixes:
-
-        - [Jason Woodward] reported that reply on multiparts (with only
-          one part) failed.  For this release, forward() has been rewritten.
-          reply() may be the victim for the next release.
-
-        - [Joe Junkin] reported a problem to send messages where the
-          body is not in a temporary file via SMTP.
-
-        - Added required Mail::Message::Wrapper::SpamAssassin method
-          get_pristine_header()
-
-        - [Simon Cozens] demonstrated that converting MIME::Entity objects
-          into Mail::Message's lost content related headers.  This required
-          a small redesign on when data is copied from header to body and
-          vice versa.
-
-        - Mail::Message::Body::Multipart;;stripSignature stripped all
-          but signatures :(
-
-        - requires Test::Harness which defines _run_test_scripts, so
-          increased the required VERSION. [Liz Mattijsen]
-
-        - [Steven Benson] found-out that manager objects where kept
-          alive too long.
-
-        - [Rob Holland] reports that a '=' is valid in a Maildir filename,
-          and supplied a patch.
-
-        - [Joe Junkin] found another spot where <$body> was used on a
-          non-GLOB.  In Mail::Transport::SMTP, this time.
-
-        Improvements:
-
-        - Added Mail::Message::Head::FieldGroup as base class for
-          Mail::Message::Head::(List|Spam|Resent)Group.
-
-        - Reimplemented Mail::Message::Head::ResentGroup to be based on
-          a MMH::FieldGroup.
-
-        - Added Mail::Message::Head::SpamGroup to detect/produce/remove
-          sets of header fields which relate to spam detection software.
-          Tests in tests/31fgroups/30spam.t
-
-        - Moved detection of mailinglist type in Mail::Message::Head::Listgroup
-          from method type() to from().
-
-        - Added Mail::Report::addReport, to merge reports from one object
-          into an other, require by [Matthew Lockner]
-
-        - [Matthew Lockner] wished to able to get parser errors back on
-          Mail::Message->read.  These errors are now copied from the parser
-          object into the message.
-
-        - Added Habeas-SWE (Sender Warranted E-mail) as abbreviation in field
-          names which is always in caps, on request by [Ronnie Paskin]
-
-        - Moved 20resent.t and 40list.t from tests/12head to tests/31fgroups.
-
-        - New methods Mail::Message::Head::Complete::removeContentInfo(),
-          Mail::Message::Body::contentInfoFrom(head) and ...To(head)
-
-        - As result of an extended discussion with [Simon Cozens], it
-          seems that object-by-object conversion between MIME::Entity
-          and Mail::Message objects will keep on producing problems.
-          Therefore a stringify-reparse strategy is used from now on.
-          Mail::Message::Convert::MimeEntity is very straight-forward
-          now, but a less efficient.
-
-        - [Jason Woodward] convinced me to implement
-          Mail::Message::forward(include => 'ENCAPSULATE'), which adds
-          the source message as message/rfc822.  The whole forward
-          implementation has been re-implemented and re-documented.
-
-        - [Kees Dekker] was (understandably) confused by the explanation
-          of $folder->isModified()  This has been improved.
-
-version 2.047: Thu Aug  7 23:59:53 CEST 2003
-
-        Fixes:
-
-        - For MBOX and POP3, delayed header will be read before labels()
-          or label() return the values, because only reading will cause
-          the [X-]Status fields to be parsed into labels.
-
-        - Tests are now suitable for perl5.8.1
-
-        - [Kees Dekker] with Solaris and perl5.8.1 showed me that
-          Mail::Box::Locker::POSIX was so broken that its tests worked
-          on other versions :(
-
-        Improvements:
-
-        - Moved all questions about optional modules from test.pl to
-          Makefile.PL.  Hope for a cleaner installation.
-
-        - On request by [Jason Woodward], POP3 received messages will
-          get their Status and X-Status fields processed.  POP3 has no
-          other means to pass-on status information, although not all
-          servers support these fields.
-
-        - The library should now be taint-safe: all test-scripts now run
-          in taint mode!
-
-        - The POP3 test-scripts now share common code in Tools.pm
-
-        - New release for Mail::Box::Parser::C (as separate package)
-          which ignores message lines starting with 'From ' as
-          separators in broken MBOX folders (like mutt produces).
-
-        - Added Mail::box::Parser::C to the list of optional modules.
-
-        - Refolding and Mail::Message::Field::AddrGroup will produce
-          the address strings in alphabetic order, to get a reproduceable
-          result (required for 5.8.1)
-
-        - Disabled detection of folder "changed during access", until
-          all folder types support 'update()'.
-
-version 2.046: Thu Jul 31 12:25:47 CEST 2003
-
-        Fixes:
-
-        - [Kees Dekker] found that HPUX mangles %z int textual timezone,
-          so Mail::Message::Field::toDate() has changed again.  Quite
-          complex now.
-
-        - [Kees Dekker] fixed a missed test for undef in
-          Mail::Message::Head::ListGroup::display().
-
-        - [Kees Dekker] reported a problem in tests/42maildir/20write
-          which was caused by a missing $folder->close;
-
-        - [Blair Zajac] & [Kees Dekker] signalled that User::Identity
-          and URI are prerequisits now.
-
-        - [Kingpin] Wrong quotes in warnings and a typo, in
-          Mail/Message/Body/Encoding.pm
-
-        - $msg->send was showing lines not to be disclosed by default,
-          which is wrong.
-
-        - [Jan Stapel] reported prints of "GLOB()"s where text was
-          expected.  This was a new bug in Mail::Message::Body::File
-
-        Improvements:
-
-        - [David Coppit] has a short list of improvements in handling
-          blank lines at the end of messages and message parts, which
-          will decrease the differences between a message read and then
-          printed.
-
-version 2.045: Tue Jul 29 20:23:30 CEST 2003
-
-        Fixes:
-
-        - A lot of files were missing from the distribution because OODoc
-          had a bug.
-
-        Improvements:
-
-        - Object::Realize::Later documentation is now part of MailBox's
-          html output too.  Join the club!
-
-version 2.044: Tue Jul 29 13:52:32 CEST 2003
-
-        Interface changes!!
-
-        - Mail::Message::rebuild() tags where inconsequently named.  Now
-          remove_html_alternative_to_text => removeHtmlAlternativeToText
-          text_alternative_for_html => textAlternativeForHtml
-
-        - [Anthony D. Urso] hinted that opening a Maildir folder should
-          not automatically move messages from 'new' to 'cur'.  Added a
-          label 'accepted' to control this.
-          See Maildir::new(accept_new) which must be set to get the
-          same behavior as before.
-
-        - Mail::Box::Maildir::updateMessages was incorrect: inconsistent
-          behavior with other updateMessages().  Removed for now.
-
-        Fixes:
-
-        - Some print()s did not distriguish between GLOBs and IO::Files
-
-        - [Martin Thurn] detected a problem with the call of
-          Mail::Box::FastScalar in Mail::Box::POP3
-
-        - [Yuval Kojman] fixed Field::toDate() on systems without glibc.
-
-        Improvements:
-
-        - Mail::Message::new(labels) did not work, but was not described
-          either.
-
-        - Moved all modules to lib/, which removes the need for a nested
-          Makefile.PL, improperly handled by new gnu-make/ExtUtils::MakeMaker
-          combinations.
-
-        - added UserIdentity to the HTML documentation tree.
-
-        - added list detector Mail::Message::Head::ListGroup based on
-          information collected in Mail::ListDetector.
-          Tests in 12head/40list.t
-
-        - added Mail::Messsage::Head::Complete::listGroup()
-                Mail::Messsage::Head::Complete::addListGroup()
-                Mail::Messsage::Head::Complete::removeListGroup()
-                Mail::Messsage::Head::Partial::removeListGroup()
-
-        - added example 'smaller.pl' to demonstrate how to get rit
-          of selected headers (and how much you gain by it)
-
-        - added description how to reduce the size of headers by removing
-          groups of fields.
-
-        - added method $folder->size which estimated a folder size, but
-          may be slow.
-
-        - debugged and tested Mail::Message::Field::Addresses,
-          Mail::Message::Field::Address, and Mail::Message::Field::AddrGroup,
-          with tests in tests/14fieldu/51addr.t
-
-        - Added Mail::Message::Field::URIs with tests in
-          tests/14fieldu/52uris.
-
-        - MailBox now depends on the URI distribution
-
-        - Move Mail::Box::Message::shortString and ::shortSize to
-          Mail::Message.
-
-        - Simplified Mail::Message::sender().
-
-        - Rewrote Mail::Message::Head::createReceived to work on headers
-          which are not inside a message.
-
-        - "make test" will produce some more text, and permits skipping
-          all tests for fast installation.
-
-version 2.043: Thu Jul 10 10:18:51 CEST 2003
-
-        Fixes:
-
-        - [Greg Matheson] small doc-fix for Mail::Message::Body::Construct
-          foreachLine().
-
-        - [Wiggins d'Anconia] time generated by strftime left %z on non-gnu
-          systems.  On those systems, a work-around is made using
-          Date::Format.
-
-        - appendMessage in Mail::Box::File coerces message into the
-          correct sub-class.
-
-        - Mail::Message::Head::Delayed is not empty.
-
-        - Mail::Message->read will strip the status fields from the header
-          by default, for security considerations.
-
-        - Mail::Message->bounce will not interpret status fields.
-
-        Improvements:
-
-        - labelsToStatus and statusToLabels are now only implemented for
-          file based folder types, like mbox.
-
-        - Implemented Mail::Box::Message::Destructed with a
-          Mail::Box::Message::destruct(), Mail::Message::destruct(), and
-          Mail::Message::Part::destruct(), tests/50mesage/60destruct.t
-          to forcefully free-up most memory used by a message.
-
-        - Added Mail::Box-Index, the documentation index.
-
-        - Extended documentation about
-          . various ways to access header field data
-          . message labels (flags)
-          . various class relations
-
-        - Now requires Object::Realize::Later version 0.12
-
-        - [Todd Richmond] contributed Mail::Box::FastScalar, which is
-          a replacement of IO::Scalar... but faster.  It should be a
-          separate module, but for now it has a place.
-          FastScalar is faster and does not leak, as its brother.
-
-        - Removed last uses of IO::ScalarArray, because it seeks awfully
-          slow.
-
-        - Added Mail::Message::study()
-                Mail::Message::Head::study()
-          but it is not usuable yet.
-
-version 2.042: Tue May 20 14:32:05 CEST 2003
-
-        Fixes:
-
-        - Added message-id to the wrong side of the Reference field
-          in reply() and forward().  Fix by [Mike Mimic]
-
-        - [Tassilo v Parseval] reported an error when HTML::FormatText
-          was not installed.
-
-        - [Alex Liberman] found that searching nested messages failed,
-          because they were treated as multiparts.
-
-        - [Todd Richmond] demonstrated that multiparts contained circular
-          references, which increased memory consumption.  Not hard too
-          fix.
-
-        Improvements:
-
-        - Implemented Mail::Box::Dbx to read Outlook Express files.  Tests
-          in tests/45dbx/*
-
-        - Implemented Mail::Message::Head::Partial, which will contain
-          a subset of headers without knowing where to find the rest
-          of it.  ::Subset knows where to get the rest.  Tests in
-          tests/12head/30partial.t
-
-        - $head->removeFields(), $head->removeFieldsExcept() and
-          $head->removeResentGroups to free up memory. This "upgrades" a
-          complete header into a partial header.
-
-version 2.041: Thu May  8 14:05:32 CEST 2003
-
-        Fixes:
-
-        - [Supriya Jagadeesh] showed that reply(include => NO) did not
-          work. Apparently, no-one used it before.
-
-        - [Shagren] showed a patch to avoid an locale based date field
-          to be produced, where rfc2822 requires an English format.
-          As change, the locale based parts of strftime are avoided.
-
-        - sendmail and started with extra -i flag, to avoid stop at lines
-          in message which only contain a dot.  Spotted by [Tim Sellar]
-
-        - [Bill Moseley] detected that examples/reply.pl called an
-          non-existing quotePrelude(), which should have been replyPrelude().
-
-        - [Dimitris Glynos] Mail::Message::Field::Full:_decoder() should
-          decode, not encode :(
-
-        - [Dimitris Glynos] Mail::Message::Construct::reply() did not
-          use the subject of the sender to create a new answer.
-
-        Improvements:
-
-        - Translated all docs to use OODoc.  Many small fixes in the docs
-          were the result.
-
-        - Removed $folder->clone, because it implemented the same as
-          $folder->openRelatedFolder, which has a much better name to
-          describe the action performed.
-
-        - Rewrote documentation for Mail::Box::scanFromMessages().  It now
-          also accepts a timespan as value.
-
-        - Documented all available overloading (which is quite important).
-
-        - Mail::Message::Construct has been taken apart in multiple
-          Mail::Message::Construct::* packages because it grew too
-          large and it simplifies including examples.
-
-        - Added Mail::Message::Construct::Rebuild, which can modify
-          existing messages.  Very slick!
-
-        - Mail::Message::Part's get an empty header by default.
-
-version 2.040: Mon Apr 14 15:48:54 CEST 2003
-
-        Fixes:
-
-        - Mail::Transport::Exim could not find destinations().  Move that
-          method from MT::SMTP to MT::Send.  Thanks to [Greg Matheson].
-
-        - [Dimitris Glynos] fixed one more place where a failed login
-          for POP3 caused Mail::Box to hick-up.
-
-        - [Dimitris Glynos] made Mail::Box care about succesfull reading
-          of messages.
-
-        - [Shagren] reported that the CRLF changes on POP3 did break
-          POP3 under Windows.  The problem is that the IO::* modules
-          (like IO::Socket) do not implement BINMODE: you can not set
-          them in 'raw' mode.  Implemented a work-around.
-
-        - [Steve Lewis] explained why information about a body was not
-          preserved over a clone().  He provided a patch.
-
-        - [Todd Richmond] found-out that Content-Type lines sometimes
-          doubled.  The reason behind this was that header and body
-          shared the same field structures, which blocked the auto-
-          destruction of header lines which were obsoleted: the old
-          Content-Type line in the header was kept alive by the body.
-
-        - [Michael D Richards] reported another corruption in construction
-          of binary attachments.  Fixed that as well.
-
-        Improvements:
-
-        - [Alexander Bauer] reported a very slow Mail::Message->read
-          for large messages.  This was due to IO::ScalarArray (being
-          extremely slow in seeks), which now is replaced by IO::Scalar.
-
-        - Do not use eval{binmode $fh}, but carefully check whether the
-          $fh can handle binmode before calling it in the parser.
-
-        - Remove newlines from header field data which is passed as
-          objects.  When they stringify with newlines included, this
-          disturbes folding.
-
-        - Added comments on how (not) to change the body of a bounced
-          message.  Do never do it, but if you have to then...
-
-        - Mail::Message::Construct::reply handles nested messages and
-          binary files better to construct an answer.
-
-version 2.039: Sun Mar 30 17:34:43 CEST 2003
-
-        Fixes:
-
-        - [Phil Holden] supplied a patch to Mail::Transport::POP3 to
-          send CRLF line terminations, and improvements on handling
-          the welcome message.
-
-        - [Mike Cudmore] found a bug which caused a call to parts() on
-          lazy nested messages.
-
-        - [delepine at u-picardie.fr] patched conversion of Mail::Message
-          to Mail::Header in Mail::Message::Convert::MailInternet.
-
-        - [Sebastian Willert] showed that multipart/anythings were
-          always changed into multipart/mixed things after an
-          operation on them, like attach.
-
-        - [Dimitris Glynos] found that a log-in failure for POP3 tried
-          to establish the connection twice.
-
-        - [Michael D Richards] reported corruption in construction of
-          binary attachments, which was caused by buildFromBody always
-          converting CRLF -> LF (on Unix).  Removed this.
-
-        - [Christoph Dahl] reported that header field attributes with
-          blanks around the '=' where not detected.  Some flexibility
-          added.
-
-        - [Eugene Eric Kim] reported the problem where incorrect in-reply-to
-          or References fields could cause thread cycles which where not
-          usuable.  Cycles will be ignored.
-
-        Improvements:
-
-        - [Marty Pauley] supplied a patch to use MIME::QuotedPrint for
-          Mail::Message::TransferEnc::QuotedPrint.  Originally, the
-          module implemented en/decoding by itself in Perl, however
-          since MIME::QP is a code module, the advantages disappeared.
-
-        - Mail::Message::Body::Multipart's preamble and epilogue now
-          accepts strings, so you so not have to create a body for them
-          explicitly.
-
-version 2.038: Wed Feb 26 16:20:03 CET 2003
-
-        Fixes:
-
-        - It was not possible to remove POP3 messages with $msg->delete
-          noticed [Jason Woodward]
-
-        - An empty header field could still be a cause of problems.  They
-          were removed from the header, with a warning.  Now changed the
-          warning into a notice message, and the fields are kept.  A fix
-          and test by [Marty Pauley]
-
-        - POP3 messages where not readible when the server does not support
-          UIDLs.  Silly bug, solved by [Andreas Fitzner].
- 
-version 2.037: Sun Feb 23 14:53:50 CET 2003
-
-        Fixes:
-
-        - MBOX write policy INPLACE contained serious bugs.  Upgrade
-          adviced if you use it (not the default) reported by [Michael Reece],
-          but by [Greg Matheson] before.
-
-        - Mail::Box::Manager::decodeFolderURL() return ref hash instead of
-          hash values.  Patched by [Benjamin Pineau]
-
-        - MB::Mbox::Message::print() did not encapsulate 'From ' lines.
-          Behavior has changed: print() will only simply print head and
-          body, and write() will encapsulate a message as required for the
-          folder.  Problem detected by [Nik Clayton]
-
-        - For retreival of addresses, the whole field contents of an
-          address field is used, not only till the first semi-colon.
-
-        - [Melvyn Sopacua] reported an accidental call to 'confess', which
-          was a left-over of the debugging process.  It triggered for an
-          MH index, when a field was requested which was not defined.
-
-        Improvements:
-
-        - Many warning and error message have changed a little to be
-          more consistent or (in most cases) much clearer about the
-          meaning.
-
-        - added isModified() methods as alternative to modified(), which is
-          more consistent with other method names.
-
-        - added isDeleted() methods as alternative to deleted(), which is
-          more consistent with other method names.
-
-        - [Benjamin Pineau] found the cause of an enormous slow-down while
-          parsing large messages: tell() and seek() in IO::ScalarArray
-          objects.   With a small patch, everything goes smooth and fast:
-          use getpos() and setpos()....
-
-        - Translated Mail::Message:TransferEnc::Base64 to use MIME::Base64,
-          now MIME::Base64 is a core module for 5.8.0.  The old algorithm
-          was not able to handle too long encoded lines, as [Chris
-          Kungfoohampster] discovered.
-
-        - Testfile 40mbox/30delete.t should renamed to 40mbox/30delay.t
-          Testfile 40mbox/70inline.t should renamed to 40mbox/70inplace.t
-
-version 2.036: Thu Feb 13 18:18:29 CET 2003
-
-        Fixes:
-
-        - More attempts to protect $_ against eval's which apparently
-          change it in ./test.pl.  Hope the installation is smooth now.
-
-        - CPAN::install can come back to a different file-system location
-          when installation is completed.  Try to restore that in test.pl.
-          
-        - [Tom Allison] discovered that a folder opened for 'a' does
-          not work with addMessage(): the messages where not read.
-
-        - [Simon Cozens] found two problems in $msg->parts($coderef) and
-          $msg->parts('ACTIVE'|'DELETED') on non-folder messages.
-
-        - [James Sanford] found that conversion to MIME::Entity did not
-          work for nested multiparts.  Mail::Message::Construct::lines()
-          was not context sensitive (now returns ref-array in scalar context),
-          and detection of multipart was wrong in case of nested multiparts.
-
-        - [Karen Craven], [Tom Allison] and [Michael D Richards] where right
-          with their explanation why message-ids were created incorrectly.
-
-        Improvements:
-
-        - Mail::Transport now also supports 'postfix' as alias for
-          'sendmail', thanks to a question by [Tom Allison].
-
-        - Tests for unicode fields are moved to their own directory,
-          tests/14fieldu, which is not considered critical on failure.
-
-        - Copyright set to 2001-2003
-
-        - [Todd Richmond] requested to keep the folding of fields when they
-          are added to a header.  Field::setWrapLength() has been changed not
-          to re-fold already folded fields.
-
-        - As explained by [Eric Wheeler], spam and virus filters do not like
-          the message parser to stop on broken headers.  Therefore, a new
-          option Mail::Box::new(fix_headers) is created.  This option progresses
-          into a few other classes, and should be usable with all folder types.
-
-version 2.035: Fri Jan 24 20:41:23 CET 2003
-
-        Fixes:
-
-        - Mail::Reporter::defaultTrace() now accepts names as well.
-          Recieved a fix by [David A Golden]
-
-        - Mail::Message::Field::attribute() now returns (undef) when
-          the attribute is not defined.  Patched by [Marty Pauley]
-
-        - [Jost Krieger] found that getline() in ::Base64 does catch
-          the read line in $_, which could be expected reading its doc.
-
-        - message/rfc822 within delayed multiparts are now triggered
-          correctly.
-
-        - [Beirne Konarski] found out that eval{} in test.pl sometimes
-          modified $_, which broke installations.
-
-        - Headers from body where lost in multipart. Reported by [Nik Clayton].
-
-        Improvements:
-
-        - {Greg Matheson] contributed Mail::Transport::Exim, to send
-          email using an external exim client.
-
-        - Added Mail::Transport::new(executable) which offers you a
-          way to explicitly specify where the transfer agent is located.
-
-        - Changed Mail::Transport::SMTP::init(debug) option into
-          smtp_debug, to show that it is not Mail::Box which is being
-          traced, but the low level SMTP drivers only.
-
-        - Added some example options to examples/send.pl, which showed
-          some inconveniences of Mail::Message::send(), which have been
-          solved.
-
-        - [David A Golden] wrote Mail::Classification based on Mail::Box,
-          which is a learning spam filter.  References added to README.FAQ
-
-        - Doc-fix in Mail::Message::from/to/cc/bcc() by [Greg Matheson].
-
-        - Renamed Mail::Message::Field*::folded_body() and ::unfolded_body()
-          to ::foldedBody() and ::unfoldedBody(), to be consequent with
-          the method naming of Mail::Box.
-
-        - Mail::Message::TransferEnc::Base64::_decode_from_lines() does
-          not warn anymore in case of a line which only contains padding.
-          Found by [David A Golden]
-
-        - Mail::Messsage::Field::stripCFWS() now understands escaped quotes
-          and parenthesis.  Parenthesis within quotes are not seen as comment
-          anymore.
-
-        - Implemented Mail::Message::Field::Full with many tests in
-          tests/11field/40full.t.  Implements RFC2047.
-
-        - Implemented Mail::Message::Field::Attribute with many tests in
-          tests/11field/41attr.t   It implements field attribute understanding
-          as defined in RFC2822 and RFC2045, with the extensions about
-          parameter encoding and continuations as defined in RFC2231.
-
-        - Implemented Mail::Message::Field::Unstructured, as first
-          category of fields.  Tests in test/11field/42unstr.t
-
-        - Added Maildir quotas to the long wishlist.  Suggested by
-          [Brian Grossman]
-
-        - On request by [David A Golden], Mail::Reporter now returns
-          Scalar::Util::dualvar values where the use may wish to know
-          the numeric value as well as the string representation of an
-          error level.  Tests added in tests/10report/10errors.
-
-        - Modified examples/grep.pl you unix-grep syntax
-
-        - Mail::Box::Search now takes nested messages under the flag of
-          multiparts (search or not to search, that's the question)
-
-        - Mail::Message->build and buildFromBody now accept a pre-filled
-          header.
-
-        - Mail::Message->build accepts a new option 'files', which is
-          an abbreviation for multiple 'file' options.
-
-        - Mail::Message::TransferEnc::decode() now als decodes chars above
-          127 and tab.  Escape characters are still not decoded for safety
-          reasons.  On request by [Marty Pauley]
-
-version 2.034: Thu Jan  2 15:08:56 CET 2003
-
-        Fixes:
-
-        - When a message is added to a folder, it shall be flagged as
-          modified, otherwise the message is not written when the folder
-          closes.  Problem discovered by [Greg Matheson].
-
-        - Mail::Message->read() did not inspect the status fields.
-          Spotted by [Simon von Janowsky]
-
-        - When an empty field is folded, at least a new-line must be
-          produced.
-
-        - Mail::Box::File::appendMessage() doesn't need to open the folder
-          locked: appending should be a safe action. Reported by [Greg Matheson].
-
-        - multipart->lines accidentally did not include the headers of the
-          parts.  Spotted by [Constantin Khatsckevich]
-
-        Enhancements:
-
-        - Resent Groups in the header now also support Delivered-To.
-
-        - Renamed some toString() methods to the more consistent name string(),
-          without breaking backwards compatibility.
-
-version 2.033: Thu Dec 12 11:23:42 CET 2002
-
-        Fixes:
-
-        - [Greg Matheson] found a truncate() difference between Windows and
-          UNIX: fewer errors for the Windows test.
-
-        - [Greg Matheson] solved problem with mbox write-replace related to
-          \n -> CRLF translations vice versa.  The number of problems for
-          Mail::Box on Windows decreased even furter.
-
-        - Some improvements of the tests.pl scripts, related to the
-          installation of optional modules when Term::ReadKey is not
-          installed.
-
-        - Mail::Message::Part::parent() 4th try to solve... on some places,
-          the body was returned, in other places the surrounding message.
-          This was partially caused by the confusion created by the name
-          of the method.  Therefore, the method is renamed to "container"
-          which returns a Mail::Message::Body::Multipart or ::Nested.
-
-        - appendMessage requires access => 'a' to the folder. [Greg Matheson]
-
-        - Parts of multiparts which do not contain any header lines were
-          stopping the parser to look for more parts: all the rest was put
-          in the epilogue of the multipart.  Detected by [Melvyn Sopacua]
-
-        - Mail::Message::Part's can contain empty bodies.  Spotted by
-          [Melvyn Sopacua]
-
-        - Hopefully, the installation of option modules has smoothened
-          a little.
-
-        - Mail::Box::File::appendMessage() didn't check success for
-          opening a folder. Reported by [Melvyn Sopacua]
-
-        - default for $mgr->appendMessage was to create an MH, not an mbox
-          folder.
-
-        Improvements:
-
-        - tests/55locking/20flock excluded for Windows: no flock implemented.
-
-        - Added examples/strip-attachments.pl by [Pjotr Prins]
-
-        - Mail::Reporter::AUTOLOAD will produce a class name in the error
-          message if a class method failed...  The blank is not very
-          informative.
-
-        - "create" is now a valid option for Mail::Box::(Mbox|MH|Maildir)::new,
-          which required some changes in the Mail::Box::Manager as well.
-
-version 2.032: Fri Nov 29 19:59:47 CET 2002
-
-        Fixes:
-
-        - Enforce Text::FormatPS version 2.01, because the output format
-          has changed.  Scripts adapted to the new layout.  [Blair Zajac]
-
-        - Required Term::ReadKey for installation. [Greg Matheson]
-
-        - Silly problem with lock-filenames... detected by [Blair Zajac]
-
-        - $part->toplevel did not return a message, but a body.  Detected
-          by [Pjotr Prins]
-
-        - $part->delete did not seem to have an effect... silly bug caused
-          this problem, which was spotted by [Pjotr Prins].
-
-        Improvements:
-
-        - Removed dependency from Term::ReadKey.
-
-        - $msg->printStructure shows parts which are flagged to be deleted.
-
-version 2.031: Mon Nov 25 14:50:23 CET 2002
-
-        Fixes:
-
-        - Mail::Box::Locker::new(file) has now comparible meaning for DotLock
-          and flock locking methods.
-
-        - Removed Mail::Box::Locker::POSIX from Windows options: not all fcntls
-          present.
-
-        Improvements:
-
-        - MBOX handling of the parser much simplified.
-
-        - [Blair Zajac] is still nitpicking about close()...
-
-        - $Mail::Message::crlf_platform added as central resource for all
-          modules which have to know.
-
-        - Mail::Message::Body::File::size() compensates for "superfluous" CRs
-          in the file's line-endings.
-
-        - Messages in test-scripts are compared by a special function which
-          permits differences in Content-Length for platforms with CRLF
-          (Windows)
-        
-        - Message sizes in thread-dumps within test-scripts are ignored by
-          a special function, but only on CRLF platforms like Windows.
-
-        - Some code has moved from Mail::Box::Parser::Perl into
-          Mail::Box::Parser Cannot break existing code.
-
-        - Quite some code has moved from Mail::Box::File to Mail::Box::Mbox.
-          Cannot break existing code.
-
-        - Added Mail::Box::Search::IMAP as place-holder for a dedicated (remote)
-          search implementation using the IMAP protocol features.
-
-        - Added Mail::Transport::IMAP, Mail::Box::IMAP, and
-          Mail::Box::IMAP::Message with some pseudo-code how IMAP folders
-          could be handled.
-
-        - Improved the docs on ::POP3
-
-        - Mail::Box::POP3 now refuses addMessage() and addMessages() with nice
-          errors.   When someone implements the writing extensions to POP3, this
-          may change.  update() still has to be implemented
-
-        - Multipart message will also have a Content-Length in the header.
-
-        - Mail::Message::Convert::MailInternet requires Mail::Message
-          [Adam Byrtek 'alpha']
-
-        - New version of tests/POP3/server, which can be used to test
-          the POP3 client against some weird POP3 servers. [Liz Mattijsen]
-
-        - Upgraded Mail::Box::write() to allow mid-life writes of files.
-
-        - Removed option Mail::Box::write(keep_deleted), because it is
-          unsafe.
-
-        - Replaced all uses of FileHandle by IO::File.
-
-        - test scripts ask for optional packages to be installed.  The user
-          will be asked per package... more info about it has been added,
-          for instance the option Mail::SpamAssassin.
-
-version 2.029: Mon Nov  4 21:06:30 CET 2002
-
-        Fixes:
-
-        - Empty header lines where printed without trailing new-line.  This
-          was spotted by [Blair Zajac] soon after the release which broke
-          it: do not use 2.028
-
-        - Some extra checks for the return-code of close(), added as wished
-          for by [Blair Zajac]
-
-version 2.028: Mon Nov 4 15:08:57 CET 2002
-
-        Fixes:
-
-        - [Greg Matheson] decovered a small bug in the 10field test-script.
-          After being corrected, it showed a mistake in MM::Field with folding
-          very long words in field bodies. This bug was corrected.
-
-        - Fixed a parser bug in MBOX, which showed an error when closing
-          a folder without explicit write before it.  Reported by
-          [David A Golden]
-
-        - [Blair Zajac] reported that the multipart boundary was not
-          added to the Content-Type field.
-
-        - [Sebastian Krahmer] adviced me to put a very strong warning against
-          the use of mailx (Mail::Transport::Mailx), which is accepted because
-          the funarability has been proven: mailx is exploitable insecure.
-
-        - [Shagren] hit a POP3 server which does not add a blank at the end
-          of each message.  The last line of his message body was removed
-          because Mail::Transport::POP3 did not anticipate that.
-
-        Improvements:
-
-        - In joint forces with [Greg Matheson], some small improvements have
-          been made in the mailbox parser for Windows...  But it is still
-          far from perfect.
-
-version 2.027: Sat Oct 26 08:52:32 CEST 2002
-
-        Fixes:
-
-        - Lazy Mail::Box::Dir::Message::print() (mbox and mh messages)
-          used File::Copy's copy(), which cannot handle IO::Lines file
-          objects as destination.  Replaced by own implementation.
-          [Tony Bowden] reported this problem, and fix my patch as well.
-
-        - Mail::Box::find() was not able to get the id of the first
-          lazy-loaded message.
-
-        - The empty line which preceeds a separator in mbox folders
-          was accidenitally included in the body of the message before
-          it (this was quite hard to fix) [Albert Schueller]
-
-        - Mail::Message::Body::Multipart::foreachComponent(), used by many
-          multipart methods, created Mail::Message i.s.o. Mail::Message::Part
-          objects.  This is not right: especially encode() and decode()
-          where frustrated by it.   Same for nested messages.  Signalled by
-          [Mike Cudmore]
-
-        Improvement:
-
-        - Mail::Transfer::POP3 implemented by [Liz Mattijsen].
-
-        - [Shagren] found the first reason to modify Mail::Transfer::POP3
-          a little.
-
-        - Mail::Box::POP3 and Mail::Box::POP3::Message should be working
-          now.  Mo Tests are included.
-
-        - Reorganized the tests.  This is needed, because the number of
-          testscripts grew too long for Windows!  Besides, I need more
-          control over installation of optional packages.
-
-        - All folder-types now have a type() method.
-
-        - All folder-types now have a url() method, which result van be
-          used to specify a complex folder name to the Mail::Box::Manager.
-
-        - [David Favor] asked to show the filename when an illegal header
-          is detected by the parser.
-
-        - Rewrote Mail::Box::scanForMessage() in search of a bug reported
-          by [Shagren] concerning Mail::Box::find()  But it was not the
-          cause.  Still, the method has improved.
-
-        - Changed  split /(?<=\n)/  into  split /^/  everywhere.
-
-version 2.026: Mon Oct  7 23:39:07 CEST 2002
-
-        Fixes:
-
-        - Default package for $msg->send was broken.  Reported by
-         [Jeremy Banks]
-
-        Improvements:
-
-        - Mail::Message::Field::wellformedName() produces better results,
-          thanks to [Emmet Cailfield]
-
-        - Many more tests are succeeding under Windows, since
-          [Greg Matheson] sent me the output of the tests based
-          on Test::More.  Thanks Greg!
-
-        - Mail::Transport::SMTP warns when send(To => $to) is used where
-          send(to => $to) is needed.  [Jeremy Banks]
-
-        - Mail::Message::Head::ResentGroup::set(field)       added
-          Mail::Message::Head::ResentGroup::createReceived() added
-          Mail::Message::Head::ResentGroup::destinations()   added
-
-        - Mail::Message::Construct::bounce() now adds Resent-* lines
-          to the first Received line, if available.
-
-        - Mail::Message::Head::ResentGroup::new() creates a received
-          field if not defined.
-
-        - Mail::Message::Head::Clone uses $head->addNoRealize i.s.o add(),
-          and thereby does not re-fold the headers anymore.
-
-        - Deleting or resetting a non-existing field in the header will
-          not flag the message to be 'modified'.
-
-        - Implemented Mail::Box::Search::SpamAssassin, a spam filter
-
-        - Implemented Mail::Message::Wrapper::SpamAssassin, a wrapper
-          used in the new spam filter.
-
-        - Implemented authorization for SMTP, based in work by
-          [Michael de Beer]
-
-        - X-Spam-* headers are not disclosed for transmission.
-
-version 2.025: Mon Sep 23 13:11:57 CEST 2002
-
-        Fixes:
-
-        - Accidentally left debug-printstatements in Mail::Transport::SMTP
-
-        - Fixed "from" address used in Mail::Transport::SMTP.
-
-        Improvements:
-
-        - MIME-Version header line automatically added to constructed
-          messages (rfc 2045). [Matthew Darwin]
-
-version 2.024: Sun Sep 22 23:06:55 CEST 2002
-
-        Fixes:
-
-        - SMTP sending accidentally only included the headers *not* to
-          be disclosed :(  The check has the correct negation in
-          Mail::Message::Field::toDisclose() now.
-          Reported by [Matthew Darwin]
-
-        - Generated messages without message-id must get one assigned.
-          Reported by [Matthew Darwin]
-
-        Improvements:
-
-        - All tests converted to use Test::More, which produces better
-          feedback on failures. Hopefully, failures on Windows will
-          start disappearing now.
-
-        - Mail::Box::Dir::Message's take their size from the real
-          file (unless they are modified)
-
-        - Mail::Box::Mbox now derived from new Mail::Box::File
-
-        - Mail::Box::Mbox::Message now derived from new
-          Mail::Box::File::Message.
-
-        - Set the shape of the message-id with
-          Mail::Message::Head::messageIdPrefix()
-
-        - A message constructed without data will be an empty text
-          message, not an empty multipart :(
-
-        - Mail::Message::Construct::build() now calls buildFromBody()
-          to prepare the whole message, instead of doing it itself.
-          You can also specify field objects to buld() now.
-
-        - From and To fields are no longer required to construct a
-          message.  They may be filled-in later.
-
-        - Mail::Message::Construct::bounce() now uses the
-          MM::Head::ResentGroup object, which much improved outcome.
-
-        - Made a start with Mail::Box::Search::SpamAssassin.
-
-version 2.023: Sat Sep 14 11:11:03 CEST 2002
-
-        Fixes:
-
-        - t/65search.t failed for some Perl versions, dependent on the
-          hash implementation.  Mail::Box::Search::Grep::inHead did
-          not use MM::Head::orderedFields() yet. Discovered by
-          [Blair & Liz & Greg & Conrad Heiney]
-
-        - Mail::Box::Mbox includes IO::File with () to avoid colission
-          between constant definitions in IO::File and POSIX.  Fixed
-          by [Marcel Gruenauer]
-
-version 2.022: Mon Sep  9 18:55:01 CEST 2002
-
-        Detailed checks against RFC2822 is in progress, which means that
-        some changes have to be made.  The API had to be changed on some
-        places, but on most places could be kept unchanged.
-
-        Application breakers:
-
-        - $msg->from now returns a list fo addresses!  Mind the context!
-          required by the RFC.
-
-        - stringified $body->type returns whole Content-Type body.  Use
-          $body->mimeType!  Example:
-             if($msg->type eq 'text/html')     # breaks now
-             if($msg->mimeType eq 'text/html') # works as always
-
-        - a header field stringifies to "body; comment", not only
-          the body.
-
-        Fixes:
-
-        - Messages which of unknown Content-Type (unknown by MIME::Types)
-          could cause segmentation violates.  Solved by [Darrell Fuhriman]
-
-        - In Mail::Box::Manager, the method foldertypes() was called, which
-          should have been folderTypes(). [Swapnil Khabiya]
-
-        - Mail::Message::Construct::replyPrelude produced warning when
-          from address of originating message dit not defined a user's
-          name.  Now it has a fallback. Reported by [Jon Thomason]
-
-        Improvements:
-
-        - new method Mail::Box::Message::moveTo()
-
-        - new method Mail::Message::sender()
-
-        - Mail::Message::Convert::selectedFields() retuns fields now
-          (in the right order), not field names.
-
-        - Mail::Reporter::log() now also as class method.
-
-        - Mail::Reporter::defaultTrace() to set program global defaults
-          for logging and tracing.
-
-        - New class Mail::Message::Head::ResentGroup with tests in
-          t/12head1r.t
-
-        - Mali::Message::Construct::printStructure now accepts a filehandle.
-
-        - reply() takes return address from: Reply-To || Sender || From
-          (Sender added)
-
-        I have re-read specification rfc2822, and reimplemented the three
-        Mail::Message::Field* objects.  The next changes are made to
-        these objects:
-
-        - field data is only stored in folded form to improve performance
-          during parsing and reduce memory consumption (which is quite
-          high for headers) but also to be able to handle structured fields
-          better.  This introduced two new methods:
-            folded_body()
-            unfolded_body()
-          The body(), comment(), and content() are quite different now,
-          although return the same results.
-
-        - toDate() without argument returns an rfc2822 valid date
-           representing the current local time.
-
-        - new() accepts attributes.  The OPTIONS are only available
-           for ::Flex fields.                                    
-
-        - attributes handle escapes of quotes in quoted strings.
-
-        - new method length() which returns the total field length.
-
-        - new method toDisclose() which tells
-          Mail::Message::Head::printUndisclosed whether the header should
-          be visible for extenal receivers.
-
-        - new method stripCFWS() removes comments and folding white space from
-          header lines.  This should only be used on structured header
-          fields.  Tests in t/11cfws.t
-
-        - new method dateToTimestamp converts a date in RFC2822 spec into
-          a timestamp.
-
-        Also Mail::Message::Head got revisited.  The order of the fields
-        is protected stronger.
-
-        - new method orderedFields()
-
-        - new method addResentGroup()
-
-        - new method resentGroups()
-
-        - new method removeField($field)
-
-version 2.021: Tue Aug 20 17:42:24 CEST 2002
-
-        Fixes:
-
-        - Requires HTML::TreeBuilder release 3.13 or newer, if you want to
-          use Mail::Message::Convert::HtmlFormat*.pm, because 3.12 contains
-          a serious bug.  Resolved by [Blair Zajac]
-
-        - A mistake in the previous release could cause that parts of
-          multiparts where lazy.  This is not correct: all parts must be
-          extracted at once.  Detected by [Jost Krieger]
-
-        - Another bug introduced with the previous release was the
-          removal of automatic body-to-messagepart coercion.
-
-        - When a nested body was checked on encoding, it accidentally returned
-          its nested content, in stead of itself.  Detected by [Blair Zajac]
-
-        - Mail::Message::isMultipart triggered the body, which is not needed
-          because the info is in the header as well.
-
-        - pod2html translators are terrible.  Put more sofistication in
-          my html-polisher.
-
-        Improvements:
-
-        - Carp is stringifying objects, which is terrible in combination with
-          overloading stringification on message headers and bodies.  Therefore,
-          a special exception for stringification is added to return a
-          different result to Carp.
-
-        - The Mail::Box::determineBodyType is simplified.
-
-        - Multiparts and Nested (rcf822) message are now also delayed when
-          their size is not known (often the case) or too large.
-
-        - Implemented Mail::Message::Part::buildFromBody() to assist the
-          improved Mail::Message::Part::coerce()
-
-        - Testing cloning of complex messages in t/58clone.t
-
-version 2.019: Thu Aug 15 09:46:42 CEST 2002
-
-        Fixes:
-
-        - Parsing messages could destroy $_ and IN/OUT file-handles from
-          the user's program.  Found a few places in Mail/Message/Body/*.pm
-          Problem spotted by [Jerrad Pierce]
-
-        - Mail::Message::Head::Delayed extends a Mail::Message::Head, not
-          a Mail::Reporter.
-
-        - Using an Index with MH folders caused each message header to be
-          triggered: a considerable slowdown.
-
-        Improvements:
-
-        - [Blair Zajac] donated a large set of documentation fixes.
-          Even some hidden bugs got fixed this way.
-
-        - Implemented Mail::Message::Body::Multipart::file(), because
-          it is required for Mail::Transport::SMTP.  Spotted by
-          [Marty J. Riley]
-
-        - Mail::Box::Tie::ARRAY and ::HASH simulate real arrays and hashes
-          better with respect to deleted items.
-
-        - Mail::Box::Message::Dummy is renamed into Mail::Message::Dummy,
-          which inherit from Mail::Message, not Mail::Box::Message.
-
-        - Mail::Message::Dummy's now follow the standard pattern of
-          Mail::Message.
-
-        - The Mail::Box::Thread::Manager is now also an extension of a
-          Mail::Reporter.
-
-        - The Mail::Box::Thread::Node is now also extends Mail::Reporter.
-
-        - Added extra doc to MH::Message to avoid confusion between seqnr
-          and filename (which is a number as well).  Needed by
-          [Jerrad Pierce]
-
-        - Mail::Message::Part::clone is not a special case of clone at all.
-          Removed.
-
-        - Mail::Message::Part::coerce() was much too complicated: most work
-          is already done in Mail::Message::coerce()
-
-        - The documentation and sometimes also the location of code in
-          Mail::Message::Head* packages has been improved.
-
-        - Improvements in text of Mail::Box-Overview.
-
-version 2.018: Wed Jul 10 23:03:08 CEST 2002
-
-        Fixes:
-
-        - Parser will immediately study multipart en nested messages,
-          because otherwise it will get stuck in nasty multi-level
-          situations.  Discovered by [Francois Petillon]
-
-        - More picky with quotes in header field attributes...  Continuing
-          story with weird multipart boundary strings.  This time,
-          [Blair Zajac] forced some improvements.
-
-        - Empty headers were not properly skipped.  Usually this went
-          undetected...  however not in a very rare case [Blair Zajac]
-
-        - For read-only folders, the manager always complained about
-          "closing changed folders".  Reported by [Blair Zajac] and fixed.
-
-        - [Greg Matheson] tries to get Mail::Box running on the Cygwin
-          platform, which will benefit everyone, because it is stricter
-          than UNIX in some cases.... for instance, the Perl parser 
-          objects left the file-handle open....
-
-        - [Blair Zajac] detected that double messages in a read-only
-          folder cause "Changes not written to read-only folder"
-          messages.  Not anymore: the doubles will not be flagged for
-          deletion.
-
-        Improvements:
-
-        - Filenames sometime contained double /'s between folderdir and
-          foldername.  Removed.
-
-        - Foldernames can be specified like this:
-             pop3://username:password@host:port/folder
-          which is broken into separate arguments in a very early stage.
-          This is especially useful when the name is passed in $ENV{MAIL}
-
-        - Start of implementation for Mail::Transport::POP3.
-
-        - To make space for ::POP3, which is a message receiver, the
-          message senders are now derived from Mail::Transport::Send.
-          New options are added which certainly improve the interface.
-          New packages:
-             Mail::Transport::Send
-             Mail::Transport::Receive
-             Mail::Transport::POP3
-          
-        - Foldernames via $mgr->open() may be specified as URL, for instance
-             $mgr->open('mbox:/tmp/inbox')
-             $mgr->open('pop3://me:secret@pop3.server.com:120')
-
-        - $mgr->close($folder) and ->closeAllFolders() accept the
-          normal options for $folder->close(OPTIONS).
-
-        - $folder->appendMessage($msg) now returns the coerced message.
-
-        - Mail::Box::Dir::messageId() should not trigger headers to
-          find unparsed headers with the id: that's the task of
-          Mail::Box::find().  The code was not consistent with the docs.
-
-        - Removed Mail::Box::Dir::readAllHeaders()... it contained a
-          bug, so was apperently never used.  And that's a good thing.
-
-        - Small set of additions to Mail::Box::Net and Mail::Box::POP3
-          Still in the early stages of development.
-
-        - The parser will complain about files which were modified while
-          it was working with it.  Some cases where the parser accidentally
-          stayed open were closed to resolve the complaints for the tests.
-
-version 2.017: Fri Jul  5 17:06:08 CEST 2002
-
-        Fixes:
-
-        - Thanks to [Liz Mattijsen] for the detection of some flaws in
-          the QuotedPrintable encoding.  Fixed it.
-
-        - Nested (rfc822) message clone() did not work.  Detected by
-          [Blair Zajac]
-
-        - [Greg Matheson] is fixing the test suite for Windows.  Very good
-          work.  Changes made in t/65search.t
-
-        Improvements:
-
-        - Deleted parts will not be returned in $multipart_body->lines
-
-        - Deleted parts will not be counted in $multipart_body->nrLines
-          and ->size
-
-        - Deleted parts will not be cloned.
-
-        - For efficiency reasons, $multipart_body->foreachComponent
-          will skip deleted parts as well.
-
-        - Mail::Box::messages() accepts
-             range:       $folder->messages(3, 100)
-             non-deleted: $folder->messages('ACTIVE')
-             deleted:     $folder->messages('DELETED')
-             labeled:     $folder->messages('seen')
-             labeled:     $folder->messages('!seen')
-             code:        $folder->messages( sub {$_[0]->size > 10000} )
-          limiting the default result being all messages.
-
-        - Mail::Message::parts() accepts
-             non-deleted: $msg->parts('ACTIVE')
-             deleted:     $msg->parts('DELETED')
-             nested:      $msg->parts('RECURSE');
-             code:        $msg->parts( sub {$_[0]->size > 10000)} )
-
-        - Mail::Message::Body::Multipart::parts accepts
-             non-deleted: $body->parts('ACTIVE')
-             deleted:     $body->parts('DELETED')
-             nested:      $body->parts('RECURSE');
-             code:        $body->parts( sub {$_[0]->size > 10000)} )
-
-        - Mail::Box::allMessageIds() renamed to messageIds(), but old
-          name still available.
-
-        - Add suggestion to close() without writing changes.
-
-        - Avoid testing of maildir folders for Windows.  They are not
-          supported, because maildir uses characters in filenames which
-          are not acceptabled for the Windows file-systyem. [Greg Matheson]
-
-        - Added Mail::Box::POP3, Mail::Box::POP3::Message
-          Mail::Box::Net, and Mail::Box::Net::Message as first steps to
-          a POP3 implementation.
-
-version 2.016: Tue Jun 25 16:24:54 CEST 2002
-
-        Fixes:
-
-        - [Edward Wildgoose] was very persist in pushing me to test
-          return codes in Mail::Transport::SMTP.  Late transport failures
-          are reported back now.
-
-        - [Jeff Squyres] attributes in header fields must be matched
-          case-insensitive.
-
-        - $folder->writeable --> $folder->writable, but old method
-          kept for backwards compatibility.
-
-        - [Andreas Piper] AIX also requires r+ on a file to get locking
-          via FLOCK to work.  I made the detection 'compile-time'.
-
-        - The folder to be locked was optional, but used in error messages.
-          Now if is not optional anymore, thanks to [Andreas Piper]
-
-        - Simulated sub-folders in Mbox were not correctly automagically
-          created.
-
-        Improvements:
-
-        - Document fixes in Mail/Transport/SMTP.pm by [Liz Mattijsen]
-
-        - Recursive copying of whole folders, which may include
-          conversions with Mail::Box::copyTo() with tests in t/66copyto.t
-
-        - Interface change:
-            $mgr->addMessages,   $folder->addMessage,
-            $mgr->appendMessage, $folder->appendMessage,
-            $mgr->moveMessage,   $folder->copyMessage,
-            $message->copyTo
-          now all return the coerced message(s), because that is much
-          more useful than the message which are passed into the
-          method call, the folder, or the class.
-
-        - Mail::Box::Manager::open() is rewritten, and a such much improved.
-
-        - Much stricter handling of folder closing and folder deletion:
-          when a manager is used, folders are removed before global
-          cleamup commences.
-
-        - Mail::Box::Manager::registerType is not requiring all known
-          folder types anymore.  This means that adding folder types
-          is without cost now: they are compiled only when used.
-
-version 2.015: Tue Jun 18 19:41:45 CEST 2002
-
-        Fixes:
-
-        - Duplicated messages without subject or to fields will
-          not produce errors anymore.
-
-        - Duplicated messages produce NOTICE now, not WARNINGS.  Same
-          for empty fields and other minor things the parser detects.
-
-        - Multiparts where not correctly processed when read from STDIN:
-          the body type was '::Lines' only. Bug reported by [Evan Borgstrom]
-
-        - Bogus message-IDs  <>  caused problems, but these situations are
-          avoided now.  Problem found by [Jost Krieger]
-
-        Improvements:
-
-        - message/rfc822 messages are handled now via a
-          Mail::Message::Body::Nested.pm, Tests in t/21p9rfc.t
-          This all because [Max Poduhoroff] asked for it  ;-)
-
-        - Removed all tests for Inline::C parser....
-
-        - Mail::Message::Body::AUTOLOAD handles errors better, which
-          should provide nicer error-messages.
-
-        - Updates on MH/Maildir messages will first be created in an
-          'invisible' name, to avoid accidental access to partially
-          written messages Mail::Box::Dir::Message::create()
-
-        - Mail::Message::Parts can be deleted (ignored for printing and
-          sending).  $part->deleted, $part->deleted(0), if($part->deleted)
-
-        - timestamp() prefers time from last Received field over first
-          [Jost Krieger]
-
-        - Mail::Transport::SMTP:
-            contactServer()  --> contactAnyServer()
-            new method tryConnectTo($host, @options);
-
-        - $msg->printStructure for debugging purposes
-          (see Mail::Message::Construct)
-
-        - Now requires MIME::Types v1.001
-
-        - Mail::Message $msg   implemented $msg->string, ->lines, ->file
-        
-version 2.014: Tue Jun 11 16:26:13 CEST 2002
-
-        Fixes:
-
-        - Forgot to implement the 'delete' method for a header field.  The
-          'reset' method was available to achieve it, but harder to discover
-          for unexperienced programmers.  Now 'delete' simply calls 'reset'.
-          Spotted by [Mark Weiler]
-
-        - A coerce() from Mail::Message to Mail::Box::Message has to clear
-          the deleted flag (to avoid errors).  At the same time, the
-          modified flag is cleared.  Detected by [Max Maischein]
-
-        - create option to Maildir's works now.
-
-        - Signature separator '--'  ==> '-- '
-
-        - [Gilles Darold] found that  m!(['"]?)([^\1])\1!  doesn't work.
-          apparently, [^\1] is not working.  Temporarily fixed with [^'"]
-          in Mail::Message::Field.
-
-        Improvements:
-
-        - Mail::Transport::SMTP is working now.
-
-        - The 'clone' operation on a message will return a Mail::Message
-          object, which avoids complications with copying message between
-          different kinds of folders.
-
-        - Maildir messages are moved from 'new' to 'cur' with the new
-          method 'accept'.
-
-        - Mbox, MH, pure Perl parser, and modules status "Released" 
-         (was "beta")
-
-        - Maildir status "Alpha" (was "under development")
-
-        - Added some docs to Mail::Transport about receiving messages
-          via POP3.  This code may appear in the near future.
-
-        - Implemented Mail::Message::Convert::TextAutoformat, t/90textaf.t
-
-        - Implemented Mail::Message::Convert::HtmlFormatText, t/90htmlft.t
-
-        - Implemented Mail::Message::Convert::HtmlFormatPS, t/90htmlfps.t
-
-        - Initial coding of Mail::Message::Convert::Html, t/90html.t
-
-        - Mail::Message::Head::grepNames() now accepts regexes as well.
-
-        - Mail::Message::Field::wellformedName method added which returns
-          preferred capitization of a field's name.  The name() method
-          returns the lower-cased name.  Tests in t/11field1.t
-
-        - Mail::Message::Field::content returns both body and comment
-          part of the message header line.
-
-        - added Mail::Message::Body::charset() to simplify code.
-
-        - removed useless Mail::Message::printUndisclosed().
-
-version 2.013: Thu May 23 11:30:35 CEST 2002
-
-        Fixes:
-
-        - Create MH directories when asked to. [Greg Matheson] reported
-          the problem.
-
-        - Mail::Box::Locker::new "timeout" and "wait" options where too
-          confusing to be implemented correctly.  So they didn't work
-          as described.  Now, they are called "expire" and "timeout".
-          Thanks to [John B Batzel] for pointing-out the problems.
-
-        - Messages with empty bodies where not accepted at all.  This
-          combined with a mistake in treating these errors in Mbox
-          folders gave <undef>s when asked for a body.
-
-        Improvements:
-
-        - Maildir implementation runs all its tests.  Still there are
-          some support functions lacking.  Reports are that sub-folders
-          are to be implemented differently.
-
-version 2.012: Mon Apr 22 15:53:05 CEST 2002
-
-        Fixes:
-
-        - [alex] found-out that remove_when_empty and save_on_exit
-          could not be set to false for Mail::Box'es.
-
-        - [Cory Johns] examples/reply.pl closed the folder but
-          later still used one of its messages.  This is not
-          permitted, but may be allowed later.
-
-        - [Robin Berjon] multiple improvements to the Maildir
-          implementation.  Not finalized yet.
-
-        - Mail::Message::Construct->build
-          called          Body->new(filename =>
-          which must be   Body->new(file =>
-
-        - Two fixes in Base64 encoding....  Problem reported by
-          [Bernd Patolla]
-
-        - Forgot to use File::Copy in Mail::Message::Body::File.
-          reported by [Andre Schultze]
-
-        Improvements:
-
-        - Creation of new message-files for Mail::Box::Dir::Message
-          extensions implemented by a create($filename) method which
-          tries to be very smart.
-
-        - [Mark Ethan Trostler] Mail::Message::Field::attribute
-          with value of <undef> gave complaints.  For now, these
-          calls with <undef> will be ingnored.  In the close future
-          they will remove the attribute.
-
-        - Removed references to HTML.pm from all files...
-
-version 2.011: Sun Mar  3 23:51:41 CET 2002
-
-        Improvements:    -- one day of rapid development ;)
-
-        - Mail::Message::read was confusing many users.  Therefore, it
-          has been renamed to readFromParser.
-
-        - Now read() became unused, it is used to implement
-          my $msg = Mail::Message->read(\*STDIN);
-          Please use it sparsely.
-
-        - Implemented Mail::Box::Maildir->writeMessages and
-          Mail::Box::Maildir->appendMessages.  Tests in t/44mdir*.t
-          Still small things to fix.
-
-        - Mail::Message::clone() includes labels now.
-
-version 2.010: Sun Mar  3 16:05:16 CET 2002
-
-        Fixes:
-
-        - Fixed serious mis-calculation for delayed bodies in MH folders.
-          The 'fail-safe' approach did safe the programs till now, but
-          it is much better now: correct 'Content-Length' headers will
-          safe you time now.
-
-        - Improved quite some doc-issues in Mail::Box::MH::(Label|Index).pm
-
-        - Prototype of Mail::Message::Body::_data_from_lines was @_, which
-          is a silly typo checked by bleadperl... [Marcel Gruenauer]
-
-        - Mail::Box::Parser::Perl line 87, binmode without filehandle...
-          reported by [Marcel Gruenauer]  But now it is causing problems
-          with perlio in 5.7.2 ...
-
-        - Minor changes to scripts/takemail by [Tassilo v Parseval]
-
-        - Mistakes in the docs of Mail::Box::Search::Grep, found by
-          [Tassilo v Parseval]
-
-        - Accidentally took only non-delayed messages in Grep: wrong
-          default.  Detected by [Tassilo v Parseval]
-
-        - The METHOD INDEXes ended with a list of links to related
-          manual-pages which where not expanded correctly by pod.
-          Therefor is was changed: now the INDEX starts with the
-          man-pages which will have correct links this time.
-
-        Improvements:
-
-        - Changed encoders/decoders status from ALPHA to BETA.
-
-        - Removed organization option to new() for Mail::Boxes: it is
-          not modifyable.  The method which shows whether the folder
-          is DIRECTORY or FILE organized will stay.
-
-        - *PARTIAL* implementation of Maildir folders, which did have large
-          implications for the MH implementation.  The maildir implementation
-          is NOT READY yet.
-
-          New class structure:
-
-            Mail::Box::MH
-            is a Mail::Box::Dir            <-- new
-            is a Mail::Box
-
-            Mail::Box::MH::Message
-            is a Mail::Box::Dir::Message   <-- new
-            is a Mail::Box::Message
-            is a Mail::Message
-
-            Mail::Box::Maildir             <-- new
-            is a Mail::Box::Dir            <-- new
-            is a Mail::Box
-
-            Mail::Box::Maildir::Message    <-- new
-            is a Mail::Box::Dir::Message   <-- new
-            is a Mail::Box::Message
-
-        - Massive changes in label management, required to facilitate
-          Maildir labels which are in the filename.
-
-        - Added /usr/lib to the safe_directories are searched by
-          Mail::Transport for binaries [Slaven Rezic]
-
-        - Any Mail::Box type may implement an 'updateMessages'.  When
-          $mailbox->update is called and 'updateMessages' exists, the
-          folder tries to figure-out changes in the folder which were
-          made by external programs.  External programs may add messages
-          to the end of the folder without applying a lock, which is
-          dangerous.
-
-version 2.009: Wed Feb 20 09:03:56 CET 2002
-
-        Fixes:
-
-        - Forgot to update METHOD INDEX
-
-        - t/65search1g.t tests Mail::Box::Search::Grep, which found
-          some problems in the implementation which are fixed now.
-
-        Improvements:
-
-        - Mail::Box::Manager::threads() now also works when the folders
-          are not used as named parameter:
-             $mgr->threads(folders => [$inbox, $outbox]);  # was
-             $mgr->threads($inbox, $outbox);               # added
-
-        - Default output file-handle changed from STDOUT to the selected
-          file-handle (see perldoc -f select)... usually this will
-          return STDOUT.
-
-version 2.008: Mon Feb 18 16:11:52 CET 2002
-
-        Fixes:
-
-        - [Alan Kelm] proved me that the other perl modules are wrong,
-          wrapping the header-lines more often than the RFC permits.  So,
-          wrapping on ';' and '.' is removed.  Wrapped headers are always
-          accepted, so there is no difference when reading a folder.
-
-        - Added 'use Mail::Address' to Mail::Message::Field
-          [Walery Studennikov]
-
-        - [Andreas Marcel Riechert] Added -I flag for {net|open}bsd with
-          mailx in Mail::Transport::Mailx
-
-        - The parent of a Multipart body after reading accidentally was
-          a body, not a message.  Fixed in Mail::Message::Body::Multipart.
-
-        Improvements:
-
-        - New modules Mail::Box::Search and Mail::Box::Search::Grep, however
-          they still need testing.  De docs have to be updated too.
-          Mail::Box::Search::Spam must be a piece of cake now.
-          Example in examples/grep.pl
-
-        - Replaced -w flag in test-scripts by 'use warnings'
-
-        - Centralized definition of folder-files in t/Tools.pm to
-          simplify implementation on Windows.
-
-        - t/00windows.t to convert t/mbox.src to t/mbox.win with CRLF
-          line-terminations.
-
-        - moved Mail::Message::Body::Encode::eol to
-          Mail::Message::Body::eol because is always needed and
-          hence triggered the parsing of Encode..
-
-        - Mail::Message::Body::eol option NATIVE will be translated into
-          LF, CR or CRLF.
-
-        - Mail::Message::Body::*::size will return the size of the
-          message as stored in the file, so taking care of \n which
-          becomes CRLF on some systems.
-
-        - Croak when $mgr->copyTo/moveTo is used with a message which
-          is not part of a folder yet: appendMessage should be used instead.
-
-        - Mail::Box::Thread::Node::threadMessages() collects all messages
-          which are in a thread.
-
-version 2.007: Mon Jan 14 10:07:09 CET 2002
-
-        Fixes:
-
-        - [Alan Kelm] found a mistake in Mail::Box::Locker::DotLock::_try_lock
-
-        - [Alan Kelm] updated some docs about locking.
-
-        - [Alan Kelm] folder->new keep_dups option.
-
-        - [Alan Kelm] fixed a stupid bug: messages printed to MBOX folders
-          did not get an empty line after them (before the from-line).
-          changed  print('') into print("\n") in Mail::Box::Mbox::Messages.pm
-          Mail::Box doesn't need that line, but other mail-agents might.
-
-        Improvements:
-
-        - Avoid colissions between two messages which falsily share
-          messageID.  One will get a new number.
-
-        - Start implementing understanding of CRLF / CR and foreign
-          line-endings
-
-        - Implemented stricter checks.  When a body is created, it is
-          not trusted until the data is checked.  This is lazy again ;)
-          Specify the checked option for the body is you are sure the
-          data is correct.  Also for the folders: when they are `trusted',
-          all bodies will be created `checked', which boosts performance
-          when used with the Perl parser.
-
-version 2.006: Wed Jan  2 08:27:21 CET 2002
-
-        Fixes:
-
-        - Accidentally typed   (@_)  as prototype of some methods.  Found
-          by [Jeffrey Friedl]
-
-version 2.005: Sun Dec 30 14:25:22 CET 2001
-
-        Fixes:
-
-        - Because of a bug related to weak references in the 5.6.0
-          Perl core, 5.6.1 is required now...
-
-        Improvements:
-
-        - Rewrote Mail::Box::Parser::Perl, to avoid use of unget_line.
-          At the same time, the detection of the folder's line mode is
-          simplified.  However, not seek is sparsely used... maybe as
-          next improvement this could be avoided as well.
-
-        - The performance is improved considerably when the folder
-          is trusted.  However, a little slowdown can be experienced
-          for untrusted folders, because better CRLF handling.
-
-        - $mboxmsg->fileLocation returns only begin message in scalar
-          context.
-
-        - readHeader returns ref-array for each field i.s.o. four
-          elements in a list.
-
-        - Mail::Box::Parser::inDosmode is now called
-          Mail::Box::Parser::lineSeparator.  Although a start has been
-          made to support Windows and non-native folders, it is not
-          fully implemented yet.
-
-        - Updated the Mail::Box::Parser manual-page.
-
-version 2.004: Sun Dec 16 22:53:06 CET 2001
-
-        Fixes:
-
-        - I didn't know yet, but you can do things like:
-            $reply->head->add(To => $orig->head->get('From'));
-          because of stringification ;)
-
-        - $message->from also may return the content of the Sender header.
-
-        - Mail::Message::Construct::quotePrelude renamed to
-          ::replyPrelude, which is more consequent.
-
-        New:
-
-        - Added Mail::Message::Construct::forward() and ::forwardSubject.
-          With tests in t/57*
-
-        - Replies are even more flexible now.
-
-version 2.003: Sat Dec 15 00:47:50 CET 2001
-
-        Fixes:
-
-        - Moved stuff from Mail::Message::Head::read to
-          Mail::Box::Parser::readHeader to improve parser indepency and
-          speed.
-
-        - [Marcel de Boer] showed me that labels were not treated
-          right in Mail::Box v2.  Moved from Mail::Box::Message to
-          Mail::Message and Mail::Message::Head.
-
-        - [Marcel de Boer] also found a problem with cloning of multi-
-          parts which got solved: a Mail::Message::Part is cloned to
-          be a Mail::Message!
-
-        - Quite a speed improvement too.
-
-        - Changed version policy
-
-version 2.002: Fri Dec 13 17:46:01 CET 2001
-
-        Fixes:
-
-        - Better (less complaining) recovery of bad header parsing.
-
-        - Removed a back-reference from a locker object to the folder,
-          by which the folders where kept alive although out of scope.
-          "circular reference".  According the errors I got when
-          removing this one, there should be no strong refs left.
-
-        - replaced many "warn"s by "$self->log(WARNING =>"s in
-          Mail::Box::Manager.
-
-        - Improved handling and creating folders in the Mail::Box::Manager.
-
-        - A header may be empty, but then it will be 'false'.  This is
-          needed to correctly recover corrupted mbox folders.
-
-        New:
-
-        - Mail::Message::Field::Fast implements a fast but dirty way to
-          store the header information.  Tested in t/11field1.t
-          It saves about 10% memory and 7% performance.
-
-        - Mail::Message::Field::Flex implements an extendible but slower
-          way to manage the data.  Tested in t/11field2.t
-
-version 2.00_19: Wed Dec 12 22:13:56 CET 2001
-
-        Most work about sending messages.  Slight extension of the
-        interface for some other packages.
-
-        Fixes:
-
-        - Removed Tassilo's header parser optimization in favor of
-          split again, because it breaks on empty fields.
-
-        - [Tassilo v Parseval] added some 'binmode OUT' lines to
-          make 98% of the tests succeed on Windows!!  But I am not
-          sure that is the right answer.  More on that later.
-
-        New:
-
-        - Added to/from/cc/bcc/subject methods to Mail::Message, to
-          hide Resent- header lines which overrule these fields in the
-          header.  Required for correct rfc822 support.
-
-        - Added destinations() to Mail::Message.
-
-        - Added isResent() to Mail::Message::Field.
-
-        - Added addresses() to Mail::Message::Field, which returns a list
-          of addresses as specified by the header line.
-
-        - Added pod reference to Mail::Message's service methods on header
-          lines.
-
-        - Added Mail::Message::Head::Complete::printUndisclosed() and
-          Mail::Message::printUndisclosed() which is the same as print()
-          but leaving the Cc and Bcc headers out.
-
-        - Added Mail::Transport::putContent($message)
-
-        - Added Mail::Transport::SMTP shaped after Net/SMTP, but much more
-          facilities and real Perl 5 code!  Not ready yet.
-
-version 2.00_18: Mon Dec 10 22:19:44 CET 2001
-
-        - Added some requires for package FileHandle.
-
-        - Added Mail::Transport::Qmail (cannot test it, but expect it
-          to work)
-
-        - Reorganized (and improved the docs) on all Transport modules.
-
-        - Added POSIX fcntl locking.
-
-        - [Tassilo v Parseval] demonstrated the fastest way to split
-          a header, determined by benchmarking 6 variations on the theme.
-          Used in Mail::Box::Parser::Perl.pm
-
-version 2.00_17: Sat Dec  8 23:10:06 CET 2001
-
-        - Moved scripts/web/* to scripts/
-
-        - Header line options in Mail::Message::Construct::reply start
-          with capitals too.
-
-        - Added Mail::Message::Body::Multipart::stripSignature
-
-        - Simplified Mail::Message::Construct::reply a little
-
-        - Fixed problem with the resulting body-types where delayed bodies
-          where used to be encoded and decoded.
-
-        - Extra checks for From-line in mbox folders, to help incorrectly
-          formatted folders.
-
-        - [Tassilo v Parseval] discovered the problematic recovery for
-          erroneous headers.  Some recovery is tried.
-
-version 2.00_16:  Sat Dec  8 16:56:53 CET 2001
-
-        First beta of Mail::Box version 2
-
-        Most import changes:
-
-        * Replaced all use of MIME::Parser, Mail::Internet, and MIME::Entity,
-          althought the foreign message types are still useable in some
-          places.
-
-        * All code has been changed.  Simple things, like opening a folder,
-          reading messages and such are the same.  However handling of
-          messages is really different from the MIME::Entity/Mail::Internet
-          implementation.  Your message handling must be body-oriented ;)
-          tranforming a body into a new body, into a new body, and
-          finally create a new message from it.  See Mail::Box-Cookbook.
-
-        * Moved code to use 5.6.0 features, so no support for 5.005
-          anymore.  This is required for Inline::C and Unicode support.
-          Mail::Box releases below 2 will be supported for some time
-          for people with `old' perl.
-
-        * Parsing in Inline::C or plain Perl
-
-        * folder->open(take_headers) removed
-          folder->open(extract) replaces folder->open(lazy_extract) to
-          avoid double negation in your program.
-          listFolders became listSubFolders
-          allMessages became messages(); so $folder->messages always
-          returns all.
-
-        * Unfolding of headers considered stupid: headers which are
-          structured (check Mail::Message::Field::isStructured) may always
-          be multi-lined. Just specify the right options when you scan
-          through the line with regular expressions.
-
-        * All packages is separate files.
-
-        * Many more test, a few example files, Mail::Box-Overview and
-          Mail::Box-Cookbook.
-
-Before this, we had Mail::Box-1.xyz which also has a Changelog.  Most of
-that information is not really useful because version >=2.0 is a really,
-really major change, although there is strike for compibility.
-
-However, some of the bugfixes contributed for Mail::Box v1 are
-still present in Mail::Box v2.

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/ChangeLog (from rev 1522, packages/libmail-box-perl/trunk/ChangeLog)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/META.yml
===================================================================
--- packages/libmail-box-perl/trunk/META.yml	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/META.yml	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,27 +0,0 @@
-# http://module-build.sourceforge.net/META-spec.html
-#XXXXXXX This is a prototype!!!  It will change in the future!!! XXXXX#
-name:         Mail-Box
-version:      2.062
-version_from: lib/Mail/Box.pm
-installdirs:  site
-requires:
-    Date::Parse:                   0
-    Digest::HMAC_MD5:              0
-    Errno:                         0
-    File::Remove:                  0.2
-    File::Spec:                    0.7
-    IO::Scalar:                    0
-    Mail::Address:                 0
-    MIME::Base64:                  0
-    MIME::Types:                   1.004
-    Object::Realize::Later:        0.14
-    Scalar::Util:                  1.13
-    Sys::Hostname:                 0
-    Test::Harness:                 1.38
-    Test::More:                    0.47
-    Time::Zone:                    0
-    URI:                           1.23
-    User::Identity:                0.9
-
-distribution_type: module
-generated_by: ExtUtils::MakeMaker version 6.17

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/META.yml (from rev 1522, packages/libmail-box-perl/trunk/META.yml)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/Makefile.PL
===================================================================
--- packages/libmail-box-perl/trunk/Makefile.PL	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/Makefile.PL	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,260 +0,0 @@
-use ExtUtils::MakeMaker;
-# See lib/ExtUtils/MakeMaker.pm for details of how to influence
-# the contents of the Makefile that is written.
-
-require 5.006_001;
-
-use IO::Handle;
-
-# Usually, Scalar::Util is installed (in core since perl 5.8.0)
-# However, sometimes it is (incorrectly) installed without XS, but as
-# plain module.  In that case, Scalar::Util must be reinstalled.
-
-eval { require Scalar::Util };
-unless($@)
-{   eval "Scalar::Util->import('dualvar')";
-    if($@ =~ m/only.*XS/)
-    {   warn <<'WARN';
-
-!!!! WARNING !!!! On your system, the module Scalar::Util is installed
-!!!! WARNING !!!! without use of XS.  This means that critical functionality
-!!!! WARNING !!!! is missing.  Reinstall the module and be sure to get the
-!!!! WARNING !!!! correct installation.
-!!!! WARNING !!!!    perl -MCPAN -e 'shell'
-!!!! WARNING !!!!       > force install Scalar::Util
-
-WARN
-    }
-}
-
-my @optional =
-( 
-  [ Mail::Box::Parser::C => '3.006'
-  , reason => <<'REASON', warning => <<'WARN' ]
-Speeds-up reading mail folders, though most time is consumed by
-Perl's administration of the processed data.
-REASON
-This module contains XS code, so you need a C compiler.
-WARN
-
-, [ Encode => '1.86', requires => sub { $] >= 5.007_003 }
-  , reason  => <<'REASON', warning => <<'WARN' ]
-Conversions between character sets are done by Encode.  Many
-other Perl modules use Encode too.
-REASON
-Encode is a huge package, but not complicated to install.
-WARN
-
-, [ Mail::Transport::Dbx => '0.04', reason  => <<'REASON' ]
-The wrapper to the Outlook's dbx files consists of a c-library
-named libdbx (website http://sourceforge.net/project/ol2mbox/),
-and a wrapper which is distributed separately from Mail::Box.
-You get read-only access to the dbx folders.
-REASON
-
-, [ Mail::SpamAssassin => '2.00', reason  => <<'REASON', warning => <<'WARN' ]
-Searching for spam in a mail folder needs the popular spam killer.
-REASON
-This distr is large: installing will take quite a while. You
-can install it later.  When your CPAN cache is small, this may
-break your Mail::Box installing process.
-WARN
-
-, [ Mail::IMAPClient => '2.2.8', reason => <<'REASON' ]
-Required for IMAP4 support.
-REASON
-
-, [ Mail::Internet => '1.0', distr => 'MailTools', reason  => <<'REASON' ]
-Many existing e-mail applications use Mail::Internet objects.  If
-you want automatic conversions for compatibility, you need this.
-REASON
-
-, [ MIME::Entity => '3.0', distr  => 'MIME::Tools', reason  => <<'REASON' ]
-MIME::Entity extends Mail::Internet messages with multipart handling
-and composition.  Install this when you want compatibility with
-distrs which are based on this kind of messages.
-REASON
-
-, [ HTML::TreeBuilder => '3.13', reason => <<'REASON' ]
-     The tree builder is used by the HTML::Format* packages.
-     Version 3.12 is wrong, so you should install a newer version
-     if you want smart html conversions.
-REASON
-
-, [ Time::HiRes => '1.51', reason => <<'REASON' ]
-     When installed, unique message-ids will be created using gettimeofday.
-     Otherwise, generated message-ids will not be thread/fork safe.
-REASON
-
-, [ HTML::FormatText => '2.01', distr => 'HTML::Format', reason => <<'REASON' ]
-Plug-in which converts HTML to Postscript or plain text.
-REASON
-);
-
-my %prereq =
- ( Date::Parse    => 0.0
- , File::Spec     => 0.7
- , File::Remove   => 0.20
- , Errno          => 0.0
- , Scalar::Util   => 1.13
- , Object::Realize::Later => 0.14
- , Mail::Address  => 0.0
- , MIME::Types    => 1.004
- , Sys::Hostname  => 0.0
- , Test::More     => 0.47
- , Test::Harness  => 1.38
- , MIME::Base64   => 0.0
- , URI            => 1.23
- , IO::Scalar     => 0.0
- , Digest::HMAC_MD5 => 0.0
- , User::Identity => 0.90
- , Time::Zone     => 0.0
- );
-
-my $has_readkey;
-BEGIN
-{   eval "require Term::ReadKey";
-    $has_readkey = not length $@;
-}
-
-my $default_install_answer = $ENV{INSTALL_MAILBOX_OPTIONALS}
-    || (-t STDIN ? 'y' : 'n');
-
-print <<'INTRO';
-*
-**** Installing MailBox
-*
-INTRO
-
-print <<'REQUIRED';
-
-* First, I will check the sanity of all required modules... sometimes
-* they do not load, for instance if you have installed a new release
-* of Perl without upgrading the libraries.
-
-REQUIRED
-
-my @errors;
-while(my ($module, $version) = each %prereq)
-{   eval "require $module";
-    if($@ && $@ =~ m/^Can't locate /)
-    {   print "    $module is not yet installed\n" }
-    elsif($@)
-    {   print "    $module produced an error:\n$@";
-        push @errors, $module;
-    }
-    elsif($module->VERSION < $version)
-    {   print "    $module version ",$module->VERSION
-            , " is outdated; requires $version\n";
-    }
-    else
-    {   print "    $module version ",$module->VERSION
-            , " is ok (required is $version)\n";
-    }
-}
-
-if($errors)
-{   die <<'FIX';
-*** ERROR! You have to install @errors manually,
-*** before you can retry to install MailBox.
-FIX
-    exit 1;
-}
-
-print <<'OPTIONAL';
-
-* Now, let me ask you whether you want some optional modules to be
-* installed as well.  You can always install these modules later, by
-* hand, without a need to re-install MailBox.
-*
-OPTIONAL
-
-# Debian: build should be non-interactive, we dont ask for optionals
-#foreach my $optional (@optional)
-if (0)
-{   my ($module, $version, %args) = @$optional;
-    my $requirements = $args{requires} || sub {1};
-    next unless $requirements->();
-
-    print "\n";
-    eval "require $module";
-    if($@)
-    {   if($@ =~ m/^Can't locate /)
-             { print "**** Optional $module is not installed\n"        }
-        else { print "**** Optional $module compilation failed:\n$@\n" }
-    }
-    elsif($module->VERSION < $version )
-    {   print "**** Optional $module too old: requires $version but is ",
-            $module->VERSION,"\n";
-    }
-    else
-    {   my $v = $module->VERSION;
-        my $r = $v eq $version ? ''
-              : $version == 0  ? " (any version will do)"
-              :                  " (at least $version required)";
-
-        print "**** Found optional $module version $v$r\n";
-        next;
-    }
-
-    my $reason = $args{reason};
-    $reason =~ s/^/     /gm;
-    $reason =~ s/\A    /Use:/;
-    print $reason;
-
-    if(my $warn = $args{warning})
-    {   $warn =~ s/^/     /gm;
-        $warn =~ s/\A    /WARN/;
-        print $warn;
-    }
-    
-    my $install  = $default_install_answer;
-    my $key = prompt "Do you want to install $module? yes/no/all", $install;
-
-    if($key eq 'a')
-    {   $default_install_answer = 'a';
-        $install = 'y';
-    }
-    else
-    {   $install = $key eq 'y' ? 'y' : 'n';
-    }
-
-    next unless $install eq 'y';
-
-    my $distr = $args{distr} || $module;
-
-    $prereq{$distr} = $version;
-    print "     Added $distr version $version to the requirements\n";
-}
-
-# Debian: build should be non-interactive, we always run the tests
-#my $tests = prompt "Do you want to run the (large set of) tests? yes/no", "yes";
-my $tests = "yes";
-
-if($tests =~ m/n/i)
-{   open F, ">", "skiptests";
-    close F;
-}
-else
-{   unlink "skiptests";
-}
-
-print <<'MAKEFILE';
-
-**** Writing Makefile
-
-MAKEFILE
-
-WriteMakefile
- ( NAME	 => 'Mail::Box'
- , VERSION_FROM => 'lib/Mail/Box.pm'
- , AUTHOR       => 'Mark Overmeer'
- , ABSTRACT     => 'E-mail handling'
- , PREREQ_PM    => \%prereq
- );
-
-print <<'DONE';
-
-**** Done
-
-DONE

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/Makefile.PL (from rev 1522, packages/libmail-box-perl/trunk/Makefile.PL)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/debian/changelog
===================================================================
--- packages/libmail-box-perl/trunk/debian/changelog	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/debian/changelog	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,130 +0,0 @@
-libmail-box-perl (2.062-2) unstable; urgency=low
-
-  * Set dh_compat level to 4
-  * Added "use filetest 'access'" before checking for write access to work
-    correctly in filesystems with ACLs - Thanks, Niko Tyni, for the answer!
-    (Closes: #321076) 
-
- -- Gunnar Wolf <gwolf at debian.org>  Thu, 17 Nov 2005 10:59:16 -0600
-
-libmail-box-perl (2.062-1) unstable; urgency=low
-
-  * New upstream release
-  * Bumped up standards-version to 3.6.2
-  * Added Lintian overrides for manpage-has-errors-from-man (a pod2man
-    bug, see #328305)
-
- -- Gunnar Wolf <gwolf at debian.org>  Wed, 14 Sep 2005 13:25:56 -0500
-
-libmail-box-perl (2.061-1) unstable; urgency=low
-
-  * New upstream release
-  * Added build-dependency on libtext-autoformat-perl to avoid failing
-    some tests
-  * Added build-dependency on netbase, to have the needed information to 
-    resolve the protocol's numbers - Thanks to Niko Tyni for pointing it out!
-    (Closes: #306002)
-
- -- Gunnar Wolf <gwolf at debian.org>  Mon,  1 Aug 2005 12:34:30 -0500
-
-libmail-box-perl (2.060-2) unstable; urgency=low
-
-  * No longer installs spurious Makefile.PL in /usr/share/perl5/Mail
-    (Closes: #304813)
-
- -- Gunnar Wolf <gwolf at debian.org>  Mon, 18 Apr 2005 15:16:49 -0500
-
-libmail-box-perl (2.060-1) unstable; urgency=low
-
-  * New upstream release (Closes: #293074)
-  * New maintainer - Debian Perl Group <pkg-perl-
-    maintainer at lists.alioth.debian.org> via Gunnar Wolf
-    <gwolf at debian.org> - Thanks, Jeroen van Wolffelaar, for
-    remembering me about it :-/ (Closes: #282298)
-  * Added dependency and build-dependency on libfile-remove-perl and
-    libuser-identity-perl
-
- -- Gunnar Wolf <gwolf at debian.org>  Fri,  8 Apr 2005 16:13:29 -0500
-
-libmail-box-perl (2.055-1) unstable; urgency=low
-
-  * New upstream release
-  * debian/rules clean up.
-  * Depends and Build-Depends put into single line to stop lintian
-    complaining.
-
- -- Adam Byrtek <alpha at debian.org>  Mon, 31 May 2004 18:15:21 +0200
-
-libmail-box-perl (2.052-2) unstable; urgency=low
-
-  * Alternate dependency upon perl (>= 5.8.2-2) fixed
-    (closes: #220854).
-  * Standards-Version raised to 3.6.1.
-
- -- Adam Byrtek <alpha at debian.org>  Mon, 26 Jan 2004 00:08:10 +0100
-
-libmail-box-perl (2.052-1) unstable; urgency=low
-
-  * New upstream release (closes: #192057).
-  * Missing comma in debian/control fixed (closes: #212111).
-  * Added alternate dependency upon perl (>= 5.8.2-2), because
-    Scalar::Utils is now included in it (closes: #220854).
-  * Depends and Suggests fields updated.
-  * Makefile.PL patched so it can work non-interactively.
-
- -- Adam Byrtek <alpha at debian.org>  Wed, 14 Jan 2004 23:04:46 +0100
-
-libmail-box-perl (2.038-1) unstable; urgency=low
-
-  * New upstream release.
-  * Tests are not run upon build, they are too restrictive when comes to
-    dependencies and require loopback interface (closes: #182418).
-
- -- Adam Byrtek <alpha at debian.org>  Wed,  5 Mar 2003 15:58:59 +0100
-
-libmail-box-perl (2.029-1) unstable; urgency=low
-
-  * New upstream release.
-
- -- Adam Byrtek <alpha at debian.org>  Sun, 17 Nov 2002 21:27:21 +0100
-
-libmail-box-perl (2.026-2) unstable; urgency=low
-
-  * debian/watch file added.
-  * Mail::Message::Convert::MailInternet fixed
-    Closes: #160055.
-
- -- Adam Byrtek <alpha at debian.org>  Sun, 17 Nov 2002 14:48:11 +0100
-
-libmail-box-perl (2.026-1) unstable; urgency=low
-
-  * New upstream release.
-
- -- Adam Byrtek <alpha at debian.org>  Sun, 13 Oct 2002 18:17:24 +0200
-
-libmail-box-perl (2.021-1) unstable; urgency=low
-
-  * New upstream release.
-
- -- Adam Byrtek <alpha at debian.org>  Fri,  6 Sep 2002 22:11:59 +0200
-
-libmail-box-perl (2.009-3) unstable; urgency=low
-
-  * Fixed build-dependencies... which I've forgotten about (needed for
-    'make test'). Closes: #142157.
-
- -- Adam Byrtek <alpha at debian.org>  Wed, 10 Apr 2002 14:12:46 +0200
-
-libmail-box-perl (2.009-2) unstable; urgency=low
-
-  * Fixed dependencies.
-
- -- Adam Byrtek <alpha at debian.org>  Tue, 12 Mar 2002 23:32:23 +0100
-
-libmail-box-perl (2.009-1) unstable; urgency=low
-
-  * Initial Release.
-  * Closes: #136457.
-
- -- Adam Byrtek <alpha at debian.org>  Tue, 12 Mar 2002 17:12:22 +0100
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/debian/changelog (from rev 1522, packages/libmail-box-perl/trunk/debian/changelog)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/debian/rules
===================================================================
--- packages/libmail-box-perl/trunk/debian/rules	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/debian/rules	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,59 +0,0 @@
-#!/usr/bin/make -f
-
-export DH_COMPAT=4
-
-PERL ?= /usr/bin/perl
-
-configure: configure-stamp
-configure-stamp:
-	dh_testdir
-	$(PERL) Makefile.PL INSTALLDIRS=vendor
-	touch configure-stamp
-
-build: build-stamp
-build-stamp: configure-stamp 
-	dh_testdir
-	$(MAKE) OPTIMIZE="-O2 -g -Wall"
-	$(MAKE) test
-	touch build-stamp
-
-clean:
-	dh_testdir
-	dh_testroot
-	rm -f build-stamp configure-stamp
-	rm -rf a/ t/ tests/a/
-	rm -f tests/folders/mbox.win
-	dh_clean
-	-$(MAKE) distclean
-
-install: build
-	dh_testdir
-	dh_testroot
-	dh_clean -k
-	dh_installdirs
-	$(MAKE) install PREFIX=$(CURDIR)/debian/libmail-box-perl/usr
-	install -d $(CURDIR)/debian/$(PACKAGE)/usr/share/lintian/overrides
-	install -m 644 debian/lintian_overrides $(CURDIR)/debian/$(PACKAGE)/usr/share/lintian/overrides/$(PACKAGE)
-	# This package install a spurious Makefile.PL in /usr/share/perl5/Mail
-	# ... Just kill it. Of course, inform upstream - When it is gone,
-	# we'll have to remove this couple of lines.
-	rm $(CURDIR)/debian/libmail-box-perl/usr/share/perl5/Mail/Makefile.PL
-
-binary-indep: build install
-binary-arch: build install
-	dh_testdir
-	dh_testroot
-	dh_installdocs
-	dh_installexamples
-	dh_installchangelogs ChangeLog
-	dh_strip
-	dh_compress
-	dh_fixperms
-	dh_installdeb
-	dh_perl
-	dh_gencontrol
-	dh_md5sums
-	dh_builddeb
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install configure

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/debian/rules (from rev 1523, packages/libmail-box-perl/trunk/debian/rules)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Collection.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Collection.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Collection.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,66 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Box::Collection;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base qw/User::Identity::Collection Mail::Reporter/;
-
-use Mail::Box::Identity;
-
-use Scalar::Util    qw/weaken/;
-
-
-sub new(@)
-{   my $class = shift;
-    unshift  @_,'name' if @_ % 2;
-    $class->Mail::Reporter::new(@_);
-}
-                                                                                
-sub init($)
-{   my ($self, $args) = @_;
-    $args->{item_type} ||= 'Mail::Box::Identity';
-
-    $self->Mail::Reporter::init($args);
-    $self->User::Identity::Collection::init($args);
-                                                                                
-    weaken($self->{MBC_manager})
-       if $self->{MBC_manager}  = delete $args->{manager};
-    
-    $self->{MBC_ftype}    = delete $args->{folder_type};
-    $self;
-}
-
-sub type() { 'folders' }
-
-#------------------------------------------
-
-
-sub manager()
-{   my $self = shift;
-    return $self->{MBC_manager}
-        if defined $self->{MBC_manager};
-
-    my $parent = $self->parent;
-    defined $parent ? $self->parent->manager : undef;
-}
-
-#------------------------------------------
-
-
-sub folderType()
-{   my $self = shift;
-    return($self->{MBC_ftype} = shift) if @_;
-    return $self->{MBC_ftype} if exists $self->{MBC_ftype};
-
-    if(my $parent = $self->parent)
-    {   return $self->{MBC_ftype} = $parent->folderType;
-    }
-
-    undef;
-}
-
-#------------------------------------------
-
-1;
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Collection.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Collection.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Collection.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Collection.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Collection.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,454 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Collection - a collection of subfolders
-
-
-=head1 INHERITANCE
-
- Mail::Box::Collection
-   is a User::Identity::Collection
-   is a User::Identity::Item
-
- Mail::Box::Collection
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
-
-
-=head1 DESCRIPTION
-
-The L<Mail::Box::Collection|Mail::Box::Collection> object maintains a set L<Mail::Box::Identity|Mail::Box::Identity>
-objects, each describing a the location of a single mailbox (folder).  The
-collection is used by the L<Mail::Box::Manage::User|Mail::Box::Manage::User> object to administer
-the folders of a single user, even if those folders are closed.
-
-
-=head1 OVERLOADED
-
-
-overload: B<@{}>
-
-=over 4
-
-See L<User::Identity::Collection/"OVERLOADED">
-
-=back
-
-overload: B<stringification>
-
-=over 4
-
-See L<User::Identity::Collection/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::Collection-E<gt>B<new>([NAME], OPTIONS)
-
-=over 4
-
- Option       Defined in       Default                                   
- description  L<User::Identity::Item>  undef                                     
- folder_type                   <from parent>                             
- item_type    L<User::Identity::Collection>  L<Mail::Box::Identity|Mail::Box::Identity>
- log          L<Mail::Reporter>  C<'WARNINGS'>                             
- manager                       <from parent>                             
- name         L<User::Identity::Item>  C<'folders'>                              
- parent       L<User::Identity::Item>  C<undef>                                  
- roles        L<User::Identity::Collection>  undef                                     
- trace        L<Mail::Reporter>  C<'WARNINGS'>                             
-
-. description STRING
-
-. folder_type CLASS
-
-. item_type CLASS
-
-. log LEVEL
-
-. manager OBJECT
-
-=over 4
-
-An L<Mail::Box::Manager|Mail::Box::Manager> OBJECT (could be a L<Mail::Box::Manage::User|Mail::Box::Manage::User>).
-
-=back
-
-. name STRING
-
-. parent OBJECT
-
-. roles ROLE|ARRAY
-
-. trace LEVEL
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Collection-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Collection-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Collection-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-=head2 Attributes
-
-
-$obj-E<gt>B<description>
-
-=over 4
-
-See L<User::Identity::Item/"Attributes">
-
-=back
-
-$obj-E<gt>B<folderType>([FOLDERCLASS])
-
-=over 4
-
-Returns the type of folder (on this location).  When specified, then
-FOLDERCLASS must be a L<Mail::Box|Mail::Box> extension.
-
-=back
-
-$obj-E<gt>B<itemType>
-
-=over 4
-
-See L<User::Identity::Collection/"Attributes">
-
-=back
-
-$obj-E<gt>B<manager>
-
-=over 4
-
-The L<Mail::Box::Manager|Mail::Box::Manager> (usually a L<Mail::Box::Manage::User|Mail::Box::Manage::User> object),
-which is handling the opening of folders.
-
-=back
-
-$obj-E<gt>B<name>([NEWNAME])
-
-=over 4
-
-See L<User::Identity::Item/"Attributes">
-
-=back
-
-$obj-E<gt>B<roles>
-
-=over 4
-
-See L<User::Identity::Collection/"Attributes">
-
-=back
-
-=head2 Collections
-
-
-$obj-E<gt>B<add>(COLLECTION, ROLE)
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<addCollection>(OBJECT | ([TYPE], OPTIONS))
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<collection>(NAME)
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<parent>([PARENT])
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<removeCollection>(OBJECT|NAME)
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<type>
-
-Mail::Box::Collection-E<gt>B<type>
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<user>
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-=head2 Maintaining roles
-
-
-$obj-E<gt>B<addRole>(ROLE| ( [NAME],OPTIONS ) | ARRAY-OF-OPTIONS)
-
-=over 4
-
-See L<User::Identity::Collection/"Maintaining roles">
-
-=back
-
-$obj-E<gt>B<removeRole>(ROLE|NAME)
-
-=over 4
-
-See L<User::Identity::Collection/"Maintaining roles">
-
-=back
-
-$obj-E<gt>B<renameRole>(ROLE|OLDNAME, NEWNAME)
-
-=over 4
-
-See L<User::Identity::Collection/"Maintaining roles">
-
-=back
-
-$obj-E<gt>B<sorted>
-
-=over 4
-
-See L<User::Identity::Collection/"Maintaining roles">
-
-=back
-
-=head2 Searching
-
-
-$obj-E<gt>B<find>(NAME|CODE|undef)
-
-=over 4
-
-See L<User::Identity::Collection/"Searching">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> $object is not a collection.
-
-The first argument is an object, but not of a class which extends
-L<User::Identity::Collection|User::Identity::Collection>.
-
-I<Error:> Cannot create a $type to add this to my collection.
-
-Some options are specified to create a $type object, which is native to
-this collection.  However, for some reason this failed.
-
-I<Error:> Cannot load collection module for $type ($class).
-
-Either the specified $type does not exist, or that module named $class returns
-compilation errors.  If the type as specified in the warning is not
-the name of a package, you specified a nickname which was not defined.
-Maybe you forgot the 'require' the package which defines the nickname.
-
-I<Error:> Cannot rename $name into $newname: already exists
-
-
-I<Error:> Cannot rename $name into $newname: doesn't exist
-
-
-I<Error:> Creation of a collection via $class failed.
-
-The $class did compile, but it was not possible to create an object
-of that class using the options you specified.
-
-I<Error:> Don't know what type of collection you want to add.
-
-If you add a collection, it must either by a collection object or a
-list of options which can be used to create a collection object.  In
-the latter case, the type of collection must be specified.
-
-I<Warning:> No collection $name
-
-The collection with $name does not exist and can not be created.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Wrong type of role for $collection: requires a $expect but got a $type
-
-Each $collection groups sets of roles of one specific type ($expect).  You
-cannot add objects of a different $type.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Collection.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Collection.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dbx/Message.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Dbx/Message.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dbx/Message.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,129 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Box::Dbx::Message;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::File::Message';
-
-use Carp;
-use File::Copy qw/move/;
-
-use Mail::Message::Body::String;
-use Mail::Message::Head::Partial;
-
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    my $dbx = $args->{dbx_record};
-    unless(defined $dbx)
-    {   $self->log(ERROR => 'Dbx record required to create the message.');
-        return;
-    }
-    push @{$args->{labels}}, (seen => $dbx->is_seen);
-
-    $self->SUPER::init($args);
-
-    $self->{MBDM_dbx}          = $dbx;
-    $self->{MBDM_account_name} = $args->{account_name} || $dbx->oe_account_name;
-    $self->{MBDM_account_nr}   = $args->{account_nr}   || $dbx->oe_account_num;
-    $self;
-}
-
-#-------------------------------------------
-
-sub loadHead()
-{   my $self     = shift;
-    my $head     = $self->head;
-    return $head unless $head->isDelayed;
-
-    $self->loadBody;
-    $self->head;
-}
-
-#-------------------------------------------
-
-sub loadBody()
-{   my $self     = shift;
-
-    my $body     = $self->body;
-    return $body unless $body->isDelayed;
-
-    my $dbx      = $self->dbxRecord or return;
-    unless(defined $dbx)
-    {   $self->log(ERROR => 'Unable to read delayed message.');
-        return;
-    }
-
-    my $head;
-    if(my $text = $dbx->as_string)
-    {   my $message = Mail::Message->read($text);
-        $head    = $message->head;
-        $head->modified(0);
-        $body    = $message->body;
-    }
-    else
-    {   # of course, it is not a complete head :(  probably, we need a
-        # new object...  put for now, make it simple.
-        $head     = Mail::Message::Head::Partial->new;
-        my $ff = 'Mail::Message::Field::Fast';
-
-        $head->addNoRealize($ff->new(Subject => $dbx->subject));
-        $head->addNoRealize($ff->new('Message-ID' => $dbx->msgid));
-        $head->addNoRealize($ff->new('X-Dbx-Account-Name'=>$self->accountName));
-        $head->addNoRealize($ff->new('X-Dbx-Account-Nr'=> $self->accountNr));
-
-        if(my $parents = $dbx->parents_ids)
-        {   $head->addNoRealize($ff->new(References => $parents));
-        }
-
-        # I know this is not the right date, but at least it is something.
-        $head->addNoRealize($ff->new(Date => $ff->toDate($dbx->rcvd_gmtime)));
-
-        if(my $send_addr = $dbx->sender_address)
-        {   my $sender = Mail::Address->new($dbx->sender_name, $send_addr);
-            # This should be stored in Sender, because From can have
-            # more than one address,.... however... this is Outlook.
-            $head->addNoRealize($ff->new(From => $send_addr));
-        }
-
-        if(my $to_addr = $dbx->recip_address)
-        {   my $to     =  Mail::Address->new($dbx->recip_name, $to_addr);
-            # Also not correct to put it in To: Delivered-To is the
-            # right choice.  But it is nice to have a To field...
-            $head->addNoRealize($ff->new(To => $to));
-        }
-
-        $body = Mail::Message::Body::String->new(data => << 'NOBODY');
- * The contents of this message was not received
-
-NOBODY
-    }
-
-    $self->head($head);
-    $self->storeBody($body);
-
-    $self->log(PROGRESS => 'Loaded delayed message.');
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub dbxRecord() { shift->{MBDM_dbx} }
-
-#-------------------------------------------
-
-
-sub accountName() { shift->{MBDM_account_name} }
-
-#-------------------------------------------
-
-
-sub accountNr() { shift->{MBDM_account_nr} }
-
-#-------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dbx/Message.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Dbx/Message.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dbx/Message.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Dbx/Message.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dbx/Message.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,1025 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Dbx::Message - one message in a Dbx folder
-
-
-=head1 INHERITANCE
-
- Mail::Box::Dbx::Message
-   is a Mail::Box::File::Message
-   is a Mail::Box::Message
-   is a Mail::Message
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my $folder = new Mail::Box::Dbx ...
- my $message = $folder->message(10);
-
-
-=head1 DESCRIPTION
-
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"Constructors">
-
-=back
-
-Mail::Box::Dbx::Message-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option        Defined in       Default                                                       
- account_name                   <from dbx_record>                                             
- account_nr                     <from dbx_record>                                             
- body          L<Mail::Message>  undef                                                         
- body_type     L<Mail::Box::Message>  <from folder>                                                 
- dbx_record                     <required>                                                    
- deleted       L<Mail::Message>  <false>                                                       
- field_type    L<Mail::Message>  undef                                                         
- folder        L<Mail::Box::Message>  <required>                                                    
- from_line     L<Mail::Box::File::Message>  undef                                                         
- head          L<Mail::Message>  undef                                                         
- head_type     L<Mail::Message>  L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>
- labels        L<Mail::Message>  {}                                                            
- log           L<Mail::Reporter>  C<'WARNINGS'>                                                 
- messageId     L<Mail::Message>  undef                                                         
- modified      L<Mail::Message>  <false>                                                       
- seen                           <from dbx_record>                                             
- size          L<Mail::Box::Message>  undef                                                         
- trace         L<Mail::Reporter>  C<'WARNINGS'>                                                 
- trusted       L<Mail::Message>  <false>                                                       
-
-. account_name STRING
-
-=over 4
-
-The string representation of the account which was used to retreive the
-message.
-
-=back
-
-. account_nr INTEGER
-
-=over 4
-
-The numeric representation of the account which was used to retrieve
-the message.
-
-=back
-
-. body OBJECT
-
-. body_type CODE|CLASS
-
-. dbx_record C<Mail::Transport::Dbx::Email>
-
-. deleted BOOLEAN
-
-. field_type CLASS
-
-. folder FOLDER
-
-. from_line STRING
-
-. head OBJECT
-
-. head_type CLASS
-
-. labels ARRAY|HASH
-
-. log LEVEL
-
-. messageId STRING
-
-. modified BOOLEAN
-
-. seen BOOLEAN
-
-=over 4
-
-A flag (see L<label()|Mail::Message/"Flags">) which tells wether this message has been read
-by the user.  If read, them message is I<old>, which is the same as
-I<seen>.  Folders store this flag in different ways.
-
-=back
-
-. size INTEGER
-
-. trace LEVEL
-
-. trusted BOOLEAN
-
-=back
-
-=head2 Constructing a message
-
-
-$obj-E<gt>B<bounce>([RG-OBJECT|OPTIONS])
-
-=over 4
-
-See L<Mail::Message::Construct::Bounce/"Constructing a message">
-
-=back
-
-Mail::Box::Dbx::Message-E<gt>B<build>([MESSAGE|PART|BODY], CONTENT)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-Mail::Box::Dbx::Message-E<gt>B<buildFromBody>(BODY, [HEAD], HEADERS)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forward>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardAttach>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardEncapsulate>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardInline>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardNo>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPostlude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPrelude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardSubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-Mail::Box::Dbx::Message-E<gt>B<read>(FILEHANDLE|SCALAR|REF-SCALAR|ARRAY-OF-LINES, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Read/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<rebuild>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<reply>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replyPrelude>([STRING|FIELD|ADDRESS|ARRAY-OF-THINGS])
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replySubject>(STRING)
-
-Mail::Box::Dbx::Message-E<gt>B<replySubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-=head2 The message
-
-
-$obj-E<gt>B<container>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<copyTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<dbxRecord>
-
-=over 4
-
-Returns the Mail::Transport::Dbx::Email record of the message.
-
-=back
-
-$obj-E<gt>B<folder>([FOLDER])
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<fromLine>([LINE])
-
-=over 4
-
-See L<Mail::Box::File::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isDummy>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isPart>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<messageId>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<moveTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<send>([MAILER], OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<seqnr>([INTEGER])
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<toplevel>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<write>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Box::File::Message/"METHODS">
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<bcc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<cc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<date>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<destinations>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<from>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<get>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<guessTimestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<head>([HEAD])
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<sender>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<study>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<subject>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<timestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<to>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-=head2 The body
-
-
-$obj-E<gt>B<body>([BODY])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<decoded>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<encode>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isNested>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<parts>(['ALL'|'ACTIVE'|'DELETED'|'RECURSE'|FILTER])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-=head2 Flags
-
-
-$obj-E<gt>B<delete>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<deleted>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isDeleted>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<label>(LABEL|PAIRS)
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<labels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<labelsToStatus>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<statusToLabels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-=head2 The whole message as text
-
-
-$obj-E<gt>B<file>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<lines>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<printStructure>([FILEHANDLE|undef],[INDENT])
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<clonedFrom>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-Mail::Box::Dbx::Message-E<gt>B<coerce>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<diskDelete>
-
-=over 4
-
-See L<Mail::Box::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<fileLocation>
-
-=over 4
-
-See L<Mail::Box::File::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<loadBody>
-
-=over 4
-
-See L<Mail::Box::File::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<moveLocation>(DISTANCE)
-
-=over 4
-
-See L<Mail::Box::File::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readBody>(PARSER, HEAD [, BODYTYPE])
-
-=over 4
-
-See L<Mail::Box::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readFromParser>(PARSER)
-
-=over 4
-
-See L<Mail::Box::File::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readHead>(PARSER [,CLASS])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<recursiveRebuildPart>(PART, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Internals">
-
-=back
-
-$obj-E<gt>B<storeBody>(BODY)
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<takeMessageId>([STRING])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Message::Construct/"METHODS">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Dbx::Message-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Dbx::Message-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Dbx::Message-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortSize>([VALUE])
-
-Mail::Box::Dbx::Message-E<gt>B<shortSize>([VALUE])
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortString>
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<destruct>
-
-=over 4
-
-See L<Mail::Box::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-=head2 The flags
-
-
-$obj-E<gt>B<accountName>
-
-=over 4
-
-Returns the Outlook Express account name which was used to retreive
-this message, represented as a string.  The L<accountNr()|Mail::Box::Dbx::Message/"The flags"> returns
-a numerical representation of the same fact.
-
-=back
-
-$obj-E<gt>B<accountNr>
-
-=over 4
-
-Returns the Outlook Express account name which was used to retreive
-this message, represented as a number.  The L<accountName()|Mail::Box::Dbx::Message/"The flags"> returns
-a string representation of the same fact.
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot include forward source as $include.
-
-Unknown alternative for the L<forward(include)|Mail::Message::Construct::Forward/"Constructing a message">.  Valid choices are
-C<NO>, C<INLINE>, C<ATTACH>, and C<ENCAPSULATE>.
-
-I<Error:> Cannot include reply source as $include.
-
-Unknown alternative for the C<include> option of L<reply()|Mail::Message::Construct::Reply/"Constructing a message">.  Valid
-choices are C<NO>, C<INLINE>, and C<ATTACH>.
-
-I<Error:> Dbx record required to create the message.
-
-
-I<Error:> No address to create forwarded to.
-
-If a forward message is created, a destination address must be specified.
-
-I<Error:> No default mailer found to send message.
-
-The message L<send()|Mail::Message/"The message"> mechanism had not enough information to automatically
-find a mail transfer agent to sent this message.  Specify a mailer
-explicitly using the C<via> options.
-
-I<Error:> Only build() Mail::Message's; they are not in a folder yet
-
-You may wish to construct a message to be stored in a some kind
-of folder, but you need to do that in two steps.  First, create a
-normal L<Mail::Message|Mail::Message>, and then add it to the folder.  During this
-L<Mail::Box::addMessage()|Mail::Box/"The folder"> process, the message will get L<coerce()|Mail::Message/"Internals">-d
-into the right message type, adding storage information and the like.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unable to read delayed body.
-
-
-I<Error:> bounce requires To, Cc, or Bcc
-
-The message L<bounce()|Mail::Message::Construct::Bounce/"Constructing a message"> method forwards a received message off to someone
-else without modification; you must specified it's new destination.
-If you have the urge not to specify any destination, you probably
-are looking for L<reply()|Mail::Message::Construct::Reply/"Constructing a message">. When you wish to modify the content, use
-L<forward()|Mail::Message::Construct::Forward/"Constructing a message">.
-
-I<Error:> forwardAttach requires a preamble object
-
-
-I<Error:> forwardEncapsulate requires a preamble object
-
-
-I<Error:> no rebuild rule $name defined.
-
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dbx/Message.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Dbx/Message.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dbx.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Dbx.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dbx.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,165 +0,0 @@
-
-use strict;
-package Mail::Box::Dbx;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::File';
-
-use Mail::Box::Dbx::Message;
-use Mail::Message::Head::Delayed;
-use Mail::Message::Body::Delayed;
-
-use Mail::Transport::Dbx 0.04;
-use File::Basename 'dirname';
-
-
-my $default_folder_dir    = '.';
-
-sub init($)
-{   my ($self, $args) = @_;
-    $args->{folder}     ||= '=Folders.dbx';
-    $args->{folderdir}  ||= $default_folder_dir;
-    $args->{lock_type}  ||= 'NONE';
-
-    $self->SUPER::init($args) or return;
-
-    $self->log(WARNING => "Dbx folders are read-only.")
-        if $self->writable;
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub create($@) {  shift->notImplemented }
-
-#-------------------------------------------
-
-
-sub foundIn($@)
-{   my $class = shift;
-    my $name  = @_ % 2 ? shift : undef;
-    my %args  = @_;
-
-    $name   ||= $args{folder} or return;
-    $name =~ m/\.dbx$/i;
-}
-
-#-------------------------------------------
-
-sub writeMessages($) { shift->notImplemented }
-sub appendMessages($) { shift->notImplemented }
-sub type() { 'dbx' }
-
-#-------------------------------------------
-
-sub readMessages()
-{   my ($self, %args) = @_;
-
-    my @log      =  $self->logSettings;
-    my @msgopts  =
-     ( @log
-     , folder     => $self
-     , head_type  => $args{head_type}
-     , field_type => $args{field_type}
-     , trusted    => $args{trusted}
-     );
-
-    my $parser    = $self->parser
-        or return;
-
-    my $head_type = $self->{MB_head_delayed_type};
-    my $body_type = $self->{MB_body_delayed_type};
-
-    foreach my $record ($parser->emails)
-    {   my $head    = $head_type->new(@log);
-
-        my $message = $args{message_type}->new
-          ( @msgopts
-          , dbx_record => $record
-          , head       => $head_type->new(@log)
-          ) or next;
-
-        $message->storeBody($body_type->new(@log, message => $message));
-        $self->storeMessage($message);
-    }
-
-    $self;
-}
-
-#-------------------------------------------
-
-sub updateMessages() { shift }
-
-#-------------------------------------------
-
-sub nameOfSubFolder($;$)
-{   my $thing  = shift;
-    my $name   = (shift). '.dbx';
-    my $parent = @_ ? shift : ref $thing ? $thing->filename : undef;
-    defined $parent ?  File::Spec->catfile(dirname($parent), $name) : $name;
-}
-
-#-------------------------------------------
-
-
-sub listSubFolders(@)
-{   my ($thingy, %args)  = @_;
-    my $self       = ref $thingy ? $thingy : $thingy->new;
-    my $skip_empty = $args{skip_empty} || 0;
-    my $check      = $args{check}      || 0;
-
-    my $parser     = $self->parser
-       or return;
-
-    my @subs       = map { $_->name } $parser->subfolders;
-
-    if($args{check})
-    {    my $dir   = dirname $self->filename;
-         @subs     = grep { -f File::Spec->catfile($dir, $_.'.dbx') } @subs;
-    }
-
-    return @subs unless $skip_empty;
-
-    my @filled;
-    foreach my $sub (@subs)
-    {   my $f = $self->openSubFolder($sub, lock_type => 'NONE');
-        push @filled, $f if defined $f && scalar($f->messages);
-    }
-    @filled;
-}
-
-#-------------------------------------------
-
-
-sub folderToFilename($$)
-{   my ($thingy, $name, $folderdir) = @_;
-    return $name if File::Spec->file_name_is_absolute($name);
-    $name     =~ s#^=#$folderdir/#;
-    $name;
-}
-
-#-------------------------------------------
-
-
-sub parser()
-{   my $self     = shift;
-    return $self->{MBD_parser}
-        if defined $self->{MBD_parser};
-
-    my $filename = $self->filename;
-    my $parser   = eval { Mail::Transport::Dbx->new($filename) };
-
-    unless(defined $parser)
-    {   $self->log(ERROR => "Cannot read dbx folder file $filename.");
-        return undef;
-    }
-
-    $self->{MBD_parser} = $parser;
-}
-
-#-------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dbx.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Dbx.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dbx.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Dbx.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dbx.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,936 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Dbx - read Outlook Express folders
-
-
-=head1 INHERITANCE
-
- Mail::Box::Dbx
-   is a Mail::Box::File
-   is a Mail::Box
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- use Mail::Box::Dbx;
- my $folder = Mail::Box::Dbx->new(...);
-
-
-=head1 DESCRIPTION
-
-This documentation describes how to read from Outlook Express (dbx)
-folders.  Even on Unix/Linux, you can access these folders to
-read the data, or copy it to a different format.  Modifying of
-xbd files is not supported.
-
-These dbx folders are accessed using Mail::Transport::Dbx which
-is distributed via CPAN as separate package.  This C<MAil::Transport::Dbx>
-module is based on the open source library named C<libpst>, which can
-be found at L<http://alioth.debian.org/projects/libpst/>.  The library does
-not support writing of dbx files, and therefore limits the possibilities
-of this package.
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-overload: B<@{}>
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-overload: B<cmp>
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::Dbx-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option             Defined in       Default                                                         
- access             L<Mail::Box>     always C<'r'>                                                   
- body_delayed_type  L<Mail::Box>     L<Mail::Message::Body::Delayed|Mail::Message::Body::Delayed>    
- body_type          L<Mail::Box::File>  <see description>                                               
- coerce_options     L<Mail::Box>     C<[]>                                                           
- create             L<Mail::Box>     C<not implemented>                                              
- extract            L<Mail::Box>     C<10240>                                                        
- field_type         L<Mail::Box>     undef                                                           
- fix_headers        L<Mail::Box>     <false>                                                         
- folder             L<Mail::Box>     C<=Folders.dbx>                                                 
- folderdir          L<Mail::Box>     C<.>                                                            
- head_delayed_type  L<Mail::Box>     L<Mail::Message::Head::Delayed|Mail::Message::Head::Delayed>    
- head_type          L<Mail::Box>     L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>  
- keep_dups          L<Mail::Box>     <false>                                                         
- lock_extension     L<Mail::Box::File>  C<'.lock'>                                                      
- lock_file          L<Mail::Box>     <foldername><lock-extension>                                    
- lock_timeout       L<Mail::Box>     1 hour                                                          
- lock_type          L<Mail::Box>     C<'NONE'>                                                       
- lock_wait          L<Mail::Box>     10 seconds                                                      
- locker             L<Mail::Box>     undef                                                           
- log                L<Mail::Reporter>  C<'WARNINGS'>                                                   
- manager            L<Mail::Box>     undef                                                           
- message_type       L<Mail::Box>     L<Mail::Box::Dbx::Message|Mail::Box::Dbx::Message>              
- multipart_type     L<Mail::Box>     L<Mail::Message::Body::Multipart|Mail::Message::Body::Multipart>
- remove_when_empty  L<Mail::Box>     C<not implemented>                                              
- save_on_exit       L<Mail::Box>     C<not implemented>                                              
- trace              L<Mail::Reporter>  C<'WARNINGS'>                                                   
- trusted            L<Mail::Box>     <depends on folder location>                                    
- write_policy       L<Mail::Box::File>  C<not implemented>                                              
-
-. access MODE
-
-. body_delayed_type CLASS
-
-. body_type CLASS|CODE
-
-. coerce_options ARRAY
-
-. create BOOLEAN
-
-. extract INTEGER | CODE | METHOD | 'LAZY'|'ALWAYS'
-
-. field_type CLASS
-
-. fix_headers BOOLEAN
-
-. folder FOLDERNAME
-
-. folderdir DIRECTORY
-
-. head_delayed_type CLASS
-
-. head_type CLASS
-
-. keep_dups BOOLEAN
-
-. lock_extension FILENAME|STRING
-
-. lock_file FILENAME
-
-. lock_timeout SECONDS
-
-. lock_type CLASS|STRING|ARRAY
-
-. lock_wait SECONDS
-
-. locker OBJECT
-
-. log LEVEL
-
-. manager MANAGER
-
-. message_type CLASS
-
-. multipart_type CLASS
-
-. remove_when_empty BOOLEAN
-
-. save_on_exit BOOLEAN
-
-. trace LEVEL
-
-. trusted BOOLEAN
-
-. write_policy 'REPLACE'|'INPLACE'|undef
-
-=back
-
-=head2 The folder
-
-
-$obj-E<gt>B<addMessage>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<addMessages>(MESSAGE [, MESSAGE, ...])
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-Mail::Box::Dbx-E<gt>B<appendMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box::File/"METHODS">
-
-=back
-
-$obj-E<gt>B<close>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<copyTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<delete>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<filename>
-
-=over 4
-
-See L<Mail::Box::File/"The folder">
-
-=back
-
-$obj-E<gt>B<folderdir>([DIRECTORY])
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<organization>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<type>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<update>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<url>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-=head2 Folder flags
-
-
-$obj-E<gt>B<access>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<writable>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-=head2 The messages
-
-
-$obj-E<gt>B<current>([NUMBER|MESSAGE|MESSAGE-ID])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<find>(MESSAGE-ID)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<findFirstLabeled>(LABEL, [BOOLEAN, [ARRAY-OF-MSGS]])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<message>(INDEX [,MESSAGE])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messageId>(MESSAGE-ID [,MESSAGE])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messageIds>
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messages>(['ALL',RANGE,'ACTIVE','DELETED',LABEL,!LABEL,FILTER])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<nrMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<scanForMessages>(MESSAGE, MESSAGE-IDS, TIMESPAN, WINDOW)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-=head2 Sub-folders
-
-
-$obj-E<gt>B<listSubFolders>(OPTIONS)
-
-Mail::Box::Dbx-E<gt>B<listSubFolders>(OPTIONS)
-
-=over 4
-
-It is adviced to set the C<check> flag, because dbx folder often list
-large amounts of folder names which do not really exist.  However, checking
-does consume some time.
-
- Option      Defined in       Default              
- check       L<Mail::Box>     <false>              
- folder      L<Mail::Box>     <from calling object>
- folderdir   L<Mail::Box>     <from folder>        
- skip_empty  L<Mail::Box>     <false>              
-
-. check BOOLEAN
-
-. folder FOLDERNAME
-
-. folderdir DIRECTORY
-
-. skip_empty BOOL
-
-=back
-
-$obj-E<gt>B<nameOfSubFolder>(SUBNAME, [PARENTNAME])
-
-Mail::Box::Dbx-E<gt>B<nameOfSubFolder>(SUBNAME, [PARENTNAME])
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<openRelatedFolder>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<openSubFolder>(SUBNAME, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<topFolderWithMessages>
-
-Mail::Box::Dbx-E<gt>B<topFolderWithMessages>
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<coerce>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<create>(FOLDERNAME, OPTIONS)
-
-Mail::Box::Dbx-E<gt>B<create>(FOLDERNAME, OPTIONS)
-
-=over 4
-
-Creation is not supported for dbx folders.
-
- Option     Defined in    Default
- folderdir  L<Mail::Box>  undef  
-
-. folderdir DIRECTORY
-
-=back
-
-$obj-E<gt>B<determineBodyType>(MESSAGE, HEAD)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<folderToFilename>(FOLDERNAME, FOLDERDIR)
-
-Mail::Box::Dbx-E<gt>B<folderToFilename>(FOLDERNAME, FOLDERDIR)
-
-=over 4
-
-Translate a folder name into a filename, using the
-FOLDERDIR value to replace a leading C<=>.
-
-=back
-
-Mail::Box::Dbx-E<gt>B<foundIn>([FOLDERNAME], [OPTIONS])
-
-=over 4
-
-If no FOLDERNAME is specified, then the value of the C<folder> option
-is taken.  A dbx folder is a file which name ends on C<.dbx> (case
-insensitive).
-
- Option     Defined in       Default
- folder                      undef  
- folderdir  L<Mail::Box>     undef  
-
-. folder FOLDERNAME
-
-. folderdir DIRECTORY
-
-=back
-
-$obj-E<gt>B<lineSeparator>([STRING|'CR'|'LF'|'CRLF'])
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<locker>
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<messageCreateOptions>([TYPE, CONFIG])
-
-=over 4
-
-See L<Mail::Box::File/"Internals">
-
-=back
-
-$obj-E<gt>B<moveAwaySubFolder>(DIRECTORY, EXTENSION)
-
-=over 4
-
-See L<Mail::Box::File/"Internals">
-
-=back
-
-$obj-E<gt>B<parser>
-
-=over 4
-
-The parsing of messages is a combined job for the Mail::Transport::Dbx
-module (to get the right data) and L<read()|Mail::Box/"Internals">.  Asking for the parser
-will provide the transporter object.  If asked more than once, each time
-the same object will be returned.
-
-=back
-
-$obj-E<gt>B<read>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<readMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<storeMessage>(MESSAGE)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<toBeThreaded>(MESSAGES)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<toBeUnthreaded>(MESSAGES)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<updateMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box::File/"Internals">
-
-=back
-
-$obj-E<gt>B<write>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box::File/"Internals">
-
-=back
-
-$obj-E<gt>B<writeMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-=head3 File based folders
-
-
-=head2 Other methods
-
-
-$obj-E<gt>B<timespan2seconds>(TIME)
-
-Mail::Box::Dbx-E<gt>B<timespan2seconds>(TIME)
-
-=over 4
-
-See L<Mail::Box/"Other methods">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Dbx-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Dbx-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Dbx-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Box/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot append messages to folder file $filename: $!
-
-Appending messages to a not-opened file-organized folder may fail when the
-operating system does not allow write access to the file at hand.
-
-I<Error:> Cannot move away sub-folder $dir
-
-
-I<Error:> Cannot read dbx folder file $filename.
-
-
-I<Warning:> Cannot remove folder $name file $filename: $!
-
-Writing an empty folder will usually cause that folder to be removed,
-which fails for the indicated reason.  L<new(remove_when_empty)|Mail::Box/"Constructors">
-
-I<Warning:> Cannot remove folder $name file $filename: $!
-
-Writing an empty folder will usually cause that folder to be removed,
-which fails for the indicated reason.  L<new(remove_when_empty)|Mail::Box/"Constructors">
-controls whether the empty folder will removed; setting it to false
-(C<0>) may be needed to avoid this message.
-
-I<Error:> Cannot replace $filename by $tempname, to update folder $name: $!
-
-The replace policy wrote a new folder file to update the existing, but
-was unable to give the final touch: replacing the old version of the
-folder file for the indicated reason.
-
-I<Warning:> Changes not written to read-only folder $self.
-
-You have opened the folder read-only --which is the default set
-by L<new(access)|Mail::Box/"Constructors">--, made modifications, and now want to close it.
-Set L<close(force)|Mail::Box/"The folder"> if you want to overrule the access mode, or close
-the folder with L<close(write)|Mail::Box/"The folder"> set to C<NEVER>.
-
-I<Error:> Copying failed for one message.
-
-For some reason, for instance disc full, removed by external process, or
-read-protection, it is impossible to copy one of the messages.  Copying will
-proceed for the other messages.
-
-I<Warning:> Dbx folders are read-only.
-
-
-I<Error:> Destination folder $name is not writable.
-
-The folder where the messages are copied to is not opened with write
-access (see L<new(access)|Mail::Box/"Constructors">).  This has no relation with write permission
-to the folder which is controled by your operating system.
-
-I<Warning:> Different messages with id $msgid
-
-The message id is discovered more than once within the same folder, but the
-content of the message seems to be different.  This should not be possible:
-each message must be unique.
-
-I<Error:> File too short to get write message $nr ($size, $need)
-
-Mail::Box is lazy: it tries to leave messages in the folders until they
-are used, which saves time and memory usage.  When this message appears,
-something is terribly wrong: some lazy message are needed for updating the
-folder, but they cannot be retreived from the original file anymore.  In
-this case, messages can be lost.
-
-This message does appear regularly on Windows systems when using the
-'replace' write policy.  Please help to find the cause, probably something
-to do with Windows incorrectly handling multiple filehandles open in the
-same file.
-
-I<Error:> Folder $name not deleted: not writable.
-
-The folder must be opened with write access via L<new(access)|Mail::Box/"Constructors">, otherwise
-removing it will be refused.  So, you may have write-access according to
-the operating system, but that will not automatically mean that this
-C<delete> method permits you to.  The reverse remark is valid as well.
-
-I<Error:> Invalid timespan '$timespan' specified.
-
-The string does not follow the strict rules of the time span syntax which
-is permitted as parameter.
-
-I<Warning:> Message-id '$msgid' does not contain a domain.
-
-According to the RFCs, message-ids need to contain a unique random part,
-then an C<@>, and then a domain name.  This is made to avoid the creation
-of two messages with the same id.  The warning emerges when the C<@> is
-missing from the string.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unable to create subfolder $name of $folder.
-
-The copy includes the subfolders, but for some reason it was not possible
-to copy one of these.  Copying will proceed for all other sub-folders.
-
-I<Error:> Unable to update folder $self.
-
-When a folder is to be written, both replace and inplace write policies are
-tried,  If both fail, the whole update fails.  You may see other, related,
-error messages to indicate the real problem.
-
-
-=head1 DETAILS
-
-
-=head2 How DBX folders work
-
-DBX files are create by Outlook Express.  I can not tell you too much
-about it, because me (as author) never use Windows or MicroSoft tools.
-Still, it is possible to access some Outlook created folders from Unix.
-
-The folder structure for dbx starts with a single C<Folders.dbx>
-file.  This folder contains names of sub-folders.  Each folder can
-either contain messages, or contains sub-folders.  Combinations are
-not possible.
-
-=head2 This implementation
-
-The ol2mbox project (see L<http://sourceforge.net/project/ol2mbox/>)
-has created a C<libdbx> which can read dbx files using nearly any
-operating system.  You can simply transport a dbx file from Windows
-to Unix/Linux and the read all the messages from it.
-
-Tassilo von Parseval wrote a Perl wrapper around this C-library,
-and distributes it as Mail::Transport::Dbx.  Although it named in
-one the MailBox namespaces, it is a separate product, because it
-requires a C compiler.  Besides, the module will have its own life.
-
-=head2 Converting DBX folders to MBOX
-
-The title of this section is to attract your attension, but is does
-not describe anything special related to DBX or MBOX: you can convert
-any kind of mail folder into an other with the following code.
-
-I<Example:> converting folders
-
-
- my $from = Mail::Box::Dbx->new(folder => 'Folder.dbx')
-    or exit;
-
- my $to   = Mail::Box::Mbox->new(folder => '/tmp/mbox',
-    access => 'w', create => 1) or die;
-
- $from->copyTo($to);
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dbx.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Dbx.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dir/Message.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Dir/Message.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dir/Message.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,217 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Box::Dir::Message;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::Message';
-
-use File::Copy qw/move/;
-use IO::File;
-
-
-sub init($)
-{   my ($self, $args) = @_;
-    $self->SUPER::init($args);
-
-    $self->filename($args->{filename})
-        if $args->{filename};
-
-    $self->{MBDM_fix_header} = $args->{fix_header};
-    $self;
-}
-
-#-------------------------------------------
-
-
-#-------------------------------------------
-
-sub print(;$)
-{   my $self     = shift;
-    my $out      = shift || select;
-
-    return $self->SUPER::print($out)
-        if $self->isModified;
-
-    my $filename = $self->filename;
-    if($filename && -r $filename)
-    {   if(open my $in, '<', $filename)
-        {    local $_;
-             print $out $_ while <$in>;
-             close $in;
-             return $self;
-        }
-    }
-
-    $self->SUPER::print($out);
-
-    1;
-}
-
-#-------------------------------------------
-
-BEGIN { *write = \&print }  # simply alias
-
-#-------------------------------------------
-
-
-sub filename(;$)
-{   my $self = shift;
-    @_ ? ($self->{MBDM_filename} = shift) : $self->{MBDM_filename};
-}
-
-#-------------------------------------------
-
-
-# Asking the filesystem for the size is faster counting (in
-# many situations.  It even may be lazy.
-
-sub size()
-{   my $self = shift;
-
-    unless($self->isModified)
-    {   my $filename = $self->filename;
-        if(defined $filename)
-        {   my $size = -s $filename;
-            return $size if defined $size;
-        }
-    }
-
-    $self->SUPER::size;
-}
-
-#-------------------------------------------
-
-sub diskDelete()
-{   my $self = shift;
-    $self->SUPER::diskDelete;
-
-    my $filename = $self->filename;
-    unlink $filename if $filename;
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub parser()
-{   my $self   = shift;
-
-    my $parser = Mail::Box::Parser->new
-      ( filename => $self->{MBDM_filename}
-      , mode     => 'r'
-      , fix_header_errors => $self->{MBDM_fix_header}
-      , $self->logSettings
-      );
-
-    unless($parser)
-    {   $self->log(ERROR => "Cannot create parser for $self->{MBDM_filename}.");
-        return;
-    }
-
-    $parser;
-}
-
-#-------------------------------------------
-
-
-sub loadHead()
-{   my $self     = shift;
-    my $head     = $self->head;
-    return $head unless $head->isDelayed;
-
-    my $folder   = $self->folder;
-    $folder->lazyPermitted(1);
-
-    my $parser   = $self->parser or return;
-    $self->readFromParser($parser);
-    $parser->stop;
-
-    $folder->lazyPermitted(0);
-
-    $self->log(PROGRESS => 'Loaded delayed head.');
-    $self->head;
-}
-
-#-------------------------------------------
-
-
-sub loadBody()
-{   my $self     = shift;
-
-    my $body     = $self->body;
-    return $body unless $body->isDelayed;
-
-    my $head     = $self->head;
-    my $parser   = $self->parser or return;
-
-    if($head->isDelayed)
-    {   $head = $self->readHead($parser);
-        if(defined $head)
-        {   $self->log(PROGRESS => 'Loaded delayed head.');
-            $self->head($head);
-        }
-        else
-        {   $self->log(ERROR => 'Unable to read delayed head.');
-            return;
-        }
-    }
-    else
-    {   my ($begin, $end) = $body->fileLocation;
-        $parser->filePosition($begin);
-    }
-
-    my $newbody  = $self->readBody($parser, $head);
-    $parser->stop;
-
-    unless(defined $newbody)
-    {   $self->log(ERROR => 'Unable to read delayed body.');
-        return;
-    }
-
-    $self->log(PROGRESS => 'Loaded delayed body.');
-    $self->storeBody($newbody->contentInfoFrom($head));
-}
-
-#-------------------------------------------
-
-
-sub create($)
-{   my ($self, $filename) = @_;
-
-    my $old = $self->filename || '';
-    return $self if $filename eq $old && !$self->isModified;
-
-    # Write the new data to a new file.
-
-    my $new     = $filename . '.new';
-    my $newfile = IO::File->new($new, 'w');
-    $self->log(ERROR => "Cannot write message to $new: $!"), return
-        unless $newfile;
-
-    $self->write($newfile);
-    $newfile->close;
-
-    # Accept the new data
-# maildir produces warning where not expected...
-#   $self->log(WARNING => "Failed to remove $old: $!")
-#       if $old && !unlink $old;
-
-    unlink $old if $old;
-
-    $self->log(ERROR => "Failed to move $new to $filename: $!"), return
-         unless move($new, $filename);
-
-    $self->modified(0);
-
-    # Do not affect flags for Maildir (and some other) which keep it
-    # in there.  Flags will be processed later.
-    $self->Mail::Box::Dir::Message::filename($filename);
-
-    $self;
-}
-
-#-------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dir/Message.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Dir/Message.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dir/Message.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Dir/Message.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dir/Message.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,1047 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Dir::Message - one message in a directory organized folder
-
-
-=head1 INHERITANCE
-
- Mail::Box::Dir::Message
-   is a Mail::Box::Message
-   is a Mail::Message
-   is a Mail::Reporter
-
- Mail::Box::Dir::Message is extended by
-   Mail::Box::MH::Message
-   Mail::Box::Maildir::Message
-
-
-=head1 SYNOPSIS
-
- my $folder = new Mail::Box::MH ...
- my $message = $folder->message(10);
-
-
-=head1 DESCRIPTION
-
-A C<Mail::Box::Dir::Message> is a base class for one message in a
-directory organized folder; each message is stored in a separate file.
-There are no objects of type C<Mail::Box::Dir::Message>, only extensions
-are allowed to be created.
-
-At the moment, three of these extended message types are implemented:
-
-=over 4
-
-=item * L<Mail::Box::MH::Message|Mail::Box::MH::Message>
-
-which represents one message in a L<Mail::Box::MH|Mail::Box::MH> folder.  MH folders are
-very, very simple.... and hence not sophisticated nor fast.
-
-=item * L<Mail::Box::Maildir::Message|Mail::Box::Maildir::Message>
-
-which represents one message in a L<Mail::Box::Maildir|Mail::Box::Maildir> folder.  Flags are
-kept in the message's filename.  It is stateless, so you will never loose
-a message.
-
-=item * Mail::Box::Netzwert::Message
-
-which represents one message in a Mail::Box::Netzwert folder.  As advantage,
-it stores pre-parsed information in the message file.  As disadvantage: the
-code is not GPLed (yet).
-
-=back
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"Constructors">
-
-=back
-
-Mail::Box::Dir::Message-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-Create a messages in a directory organized folder.
-
- Option      Defined in       Default                                                       
- body        L<Mail::Message>  undef                                                         
- body_type   L<Mail::Box::Message>  <from folder>                                                 
- deleted     L<Mail::Message>  <false>                                                       
- field_type  L<Mail::Message>  undef                                                         
- filename                     undef                                                         
- fix_header                   C<false>                                                      
- folder      L<Mail::Box::Message>  <required>                                                    
- head        L<Mail::Message>  undef                                                         
- head_type   L<Mail::Message>  L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>
- labels      L<Mail::Message>  {}                                                            
- log         L<Mail::Reporter>  C<'WARNINGS'>                                                 
- messageId   L<Mail::Message>  undef                                                         
- modified    L<Mail::Message>  <false>                                                       
- size        L<Mail::Box::Message>  undef                                                         
- trace       L<Mail::Reporter>  C<'WARNINGS'>                                                 
- trusted     L<Mail::Message>  <false>                                                       
-
-. body OBJECT
-
-. body_type CODE|CLASS
-
-. deleted BOOLEAN
-
-. field_type CLASS
-
-. filename FILENAME
-
-=over 4
-
-The file where the message is stored in.
-
-=back
-
-. fix_header BOOLEAN
-
-=over 4
-
-See L<Mail::Box::new(fix_headers)|Mail::Box/"Constructors">.
-
-=back
-
-. folder FOLDER
-
-. head OBJECT
-
-. head_type CLASS
-
-. labels ARRAY|HASH
-
-. log LEVEL
-
-. messageId STRING
-
-. modified BOOLEAN
-
-. size INTEGER
-
-. trace LEVEL
-
-. trusted BOOLEAN
-
-=back
-
-=head2 Constructing a message
-
-
-$obj-E<gt>B<bounce>([RG-OBJECT|OPTIONS])
-
-=over 4
-
-See L<Mail::Message::Construct::Bounce/"Constructing a message">
-
-=back
-
-Mail::Box::Dir::Message-E<gt>B<build>([MESSAGE|PART|BODY], CONTENT)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-Mail::Box::Dir::Message-E<gt>B<buildFromBody>(BODY, [HEAD], HEADERS)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forward>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardAttach>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardEncapsulate>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardInline>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardNo>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPostlude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPrelude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardSubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-Mail::Box::Dir::Message-E<gt>B<read>(FILEHANDLE|SCALAR|REF-SCALAR|ARRAY-OF-LINES, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Read/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<rebuild>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<reply>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replyPrelude>([STRING|FIELD|ADDRESS|ARRAY-OF-THINGS])
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replySubject>(STRING)
-
-Mail::Box::Dir::Message-E<gt>B<replySubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-=head2 The message
-
-
-$obj-E<gt>B<container>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<copyTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<filename>([FILENAME])
-
-=over 4
-
-Returns the name of the file in which this message is actually stored.  This
-will return C<undef> when the message is not stored in a file.
-
-=back
-
-$obj-E<gt>B<folder>([FOLDER])
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isDummy>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isPart>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<messageId>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<moveTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<send>([MAILER], OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<seqnr>([INTEGER])
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<toplevel>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<write>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<bcc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<cc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<date>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<destinations>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<from>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<get>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<guessTimestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<head>([HEAD])
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<sender>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<study>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<subject>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<timestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<to>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-=head2 The body
-
-
-$obj-E<gt>B<body>([BODY])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<decoded>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<encode>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isNested>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<parts>(['ALL'|'ACTIVE'|'DELETED'|'RECURSE'|FILTER])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-=head2 Flags
-
-
-$obj-E<gt>B<delete>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<deleted>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isDeleted>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<label>(LABEL|PAIRS)
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<labels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<labelsToStatus>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<statusToLabels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-=head2 The whole message as text
-
-
-$obj-E<gt>B<file>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<lines>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<printStructure>([FILEHANDLE|undef],[INDENT])
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<clonedFrom>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-Mail::Box::Dir::Message-E<gt>B<coerce>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<create>(FILENAME)
-
-=over 4
-
-Create the message in the specified file.  If the message already has
-a filename and is not modified, then a move is tried.  Otherwise the
-message is printed to the file.  If the FILENAME already exists for
-this message, nothing is done.  In any case, the new FILENAME is set
-as well.
-
-=back
-
-$obj-E<gt>B<diskDelete>
-
-=over 4
-
-See L<Mail::Box::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<loadBody>
-
-=over 4
-
-This method is called by the autoloader when the body of the message
-is needed.
-
-=back
-
-$obj-E<gt>B<loadHead>
-
-=over 4
-
-This method is called by the autoloader when the header of the message
-is needed.
-
-=back
-
-$obj-E<gt>B<parser>
-
-=over 4
-
-Create and return a parser for this message (-file).
-
-=back
-
-$obj-E<gt>B<readBody>(PARSER, HEAD [, BODYTYPE])
-
-=over 4
-
-See L<Mail::Box::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readFromParser>(PARSER, [BODYTYPE])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readHead>(PARSER [,CLASS])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<recursiveRebuildPart>(PART, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Internals">
-
-=back
-
-$obj-E<gt>B<storeBody>(BODY)
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<takeMessageId>([STRING])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Message::Construct/"METHODS">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Dir::Message-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Dir::Message-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Dir::Message-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortSize>([VALUE])
-
-Mail::Box::Dir::Message-E<gt>B<shortSize>([VALUE])
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortString>
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<destruct>
-
-=over 4
-
-See L<Mail::Box::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot create parser for $filename.
-
-For some reason (the previous message have told you already) it was not possible
-to create a message parser for the specified filename.
-
-I<Error:> Cannot include forward source as $include.
-
-Unknown alternative for the L<forward(include)|Mail::Message::Construct::Forward/"Constructing a message">.  Valid choices are
-C<NO>, C<INLINE>, C<ATTACH>, and C<ENCAPSULATE>.
-
-I<Error:> Cannot include reply source as $include.
-
-Unknown alternative for the C<include> option of L<reply()|Mail::Message::Construct::Reply/"Constructing a message">.  Valid
-choices are C<NO>, C<INLINE>, and C<ATTACH>.
-
-I<Error:> Cannot write message to $filename: $!
-
-When a modified or new message is written to disk, it is first written
-to a temporary file in the folder directory.  For some reason, it is
-impossible to create this file.
-
-I<Error:> Failed to move $new to $filename: $!
-
-When a modified or new message is written to disk, it is first written
-to a temporary file in the folder directory.  Then, the new file is
-moved to replace the existing file.  Apparently, the latter fails.
-
-I<Error:> No address to create forwarded to.
-
-If a forward message is created, a destination address must be specified.
-
-I<Error:> No default mailer found to send message.
-
-The message L<send()|Mail::Message/"The message"> mechanism had not enough information to automatically
-find a mail transfer agent to sent this message.  Specify a mailer
-explicitly using the C<via> options.
-
-I<Error:> Only build() Mail::Message's; they are not in a folder yet
-
-You may wish to construct a message to be stored in a some kind
-of folder, but you need to do that in two steps.  First, create a
-normal L<Mail::Message|Mail::Message>, and then add it to the folder.  During this
-L<Mail::Box::addMessage()|Mail::Box/"The folder"> process, the message will get L<coerce()|Mail::Message/"Internals">-d
-into the right message type, adding storage information and the like.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unable to read delayed body.
-
-For some reason, the header of the message could be read, but the body
-cannot.  Probably the file has disappeared or the permissions were
-changed during the progress of the program.
-
-I<Error:> Unable to read delayed head.
-
-Mail::Box tries to be I<lazy> with respect to parsing messages.  When a
-directory organized folder is opened, only the filenames of messages are
-collected.  At first use, the messages are read from their file.  Apperently,
-a message is used for the first time here, but has disappeared or is
-unreadible for some other reason.
-
-I<Error:> bounce requires To, Cc, or Bcc
-
-The message L<bounce()|Mail::Message::Construct::Bounce/"Constructing a message"> method forwards a received message off to someone
-else without modification; you must specified it's new destination.
-If you have the urge not to specify any destination, you probably
-are looking for L<reply()|Mail::Message::Construct::Reply/"Constructing a message">. When you wish to modify the content, use
-L<forward()|Mail::Message::Construct::Forward/"Constructing a message">.
-
-I<Error:> forwardAttach requires a preamble object
-
-
-I<Error:> forwardEncapsulate requires a preamble object
-
-
-I<Error:> no rebuild rule $name defined.
-
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dir/Message.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Dir/Message.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dir.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Dir.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dir.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,107 +0,0 @@
-
-use strict;
-package Mail::Box::Dir;
-use vars '$VERSION';
-$VERSION = '2.062';
-
-use base 'Mail::Box';
-
-use Mail::Box::Dir::Message;
-
-use Mail::Message::Body::Lines;
-use Mail::Message::Body::File;
-use Mail::Message::Body::Delayed;
-use Mail::Message::Body::Multipart;
-
-use Mail::Message::Head;
-use Mail::Message::Head::Delayed;
-
-use Carp;
-use File::Copy;
-use File::Spec;
-use File::Basename;
-
-
-sub init($)
-{   my ($self, $args)    = @_;
-
-    $args->{body_type} ||= sub {'Mail::Message::Body::Lines'};
-
-    return undef
-        unless $self->SUPER::init($args);
-
-    my $class            = ref $self;
-    my $directory        = $self->{MBD_directory}
-        = $args->{directory} || $self->directory;
-
-       if(-d $directory) {;}
-    elsif($args->{create} && $class->create($directory, %$args)) {;}
-    else
-    {   $self->log(NOTICE => "No directory $directory for folder of $class");
-        return undef;
-    }
-
-    # About locking
-
-    for($args->{lock_file})
-    {   $self->locker->filename
-          ( !defined $_ ? File::Spec->catfile($directory, '.lock')   # default
-          : File::Spec->file_name_is_absolute($_) ? $_               # absolute
-          :               File::Spec->catfile($directory, $_)        # relative
-          );
-    }
-
-    # Check if we can write to the folder, if we need to.
-
-    {   # filetest 'access' is slower, but works correctly if we have a 
-	# filesystem with ACLs
-	use filetest 'access';
-	if($self->writable && -e $directory && ! -w $directory)
-	{   $self->log(WARNING=> "Folder directory $directory is write-protected.");
-	    $self->{MB_access} = 'r';
-	}
-    }
-
-    $self;
-}
-
-#-------------------------------------------
-
-sub organization() { 'DIRECTORY' }
-
-#-------------------------------------------
-
-
-sub directory()
-{   my $self = shift;
-
-    $self->{MBD_directory}
-       ||= $self->folderToDirectory($self->name, $self->folderdir);
-}
-
-#-------------------------------------------
-
-sub nameOfSubFolder($;$)
-{   my ($thing, $name) = (shift, shift);
-    my $parent = @_ ? shift : ref $thing ? $thing->directory : undef;
-    defined $parent ? "$parent/$name" : $name;
-}
-
-#-------------------------------------------
-
-
-sub folderToDirectory($$)
-{   my ($class, $name, $folderdir) = @_;
-    my $dir = ( $name =~ m#^=\/?(.*)# ? "$folderdir/$1" : $name);
-    $dir =~ s!/$!!;
-    $dir;
-}
-
-#-------------------------------------------
-
-
-sub readMessageFilenames() {shift->notImplemented}
-
-#-------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dir.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Dir.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dir.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Dir.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dir.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,835 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Dir - handle folders with a file per message.
-
-
-=head1 INHERITANCE
-
- Mail::Box::Dir
-   is a Mail::Box
-   is a Mail::Reporter
-
- Mail::Box::Dir is extended by
-   Mail::Box::MH
-   Mail::Box::Maildir
-
-
-=head1 SYNOPSIS
-
- # Do not instantiate this object
-
-
-=head1 DESCRIPTION
-
-This documentation describes the way directory organized mailboxes work.
-At the moment, this object is extended by
-
-=over 4
-
-=item * L<Mail::Box::MH|Mail::Box::MH>
-
-MH folders, which are represented by a directory containing files which
-are sequentially numbered.
-
-=item * L<Mail::Box::Maildir|Mail::Box::Maildir>
-
-Maildir folders, which are located in a directory which has sub-directories
-named C<tmp>, C<new>, and C<cur>.  Each of these directories may contain
-files with names which are a combination of a numeric timestamp and some
-status flags.
-
-=item * Mail::Box::Netzwert
-
-This folder type was especially developed for Netzwert AG, optimized to
-run on a cluster of servers with folders on NFS.  The code is not publicly
-available (yet).
-
-=back
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-overload: B<@{}>
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-overload: B<cmp>
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::Dir-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option             Defined in       Default                                                         
- access             L<Mail::Box>     C<'r'>                                                          
- body_delayed_type  L<Mail::Box>     L<Mail::Message::Body::Delayed|Mail::Message::Body::Delayed>    
- body_type          L<Mail::Box>     L<Mail::Message::Body::Lines|Mail::Message::Body::Lines>        
- coerce_options     L<Mail::Box>     C<[]>                                                           
- create             L<Mail::Box>     <false>                                                         
- directory                           <derived from folder name>                                      
- extract            L<Mail::Box>     C<10240>                                                        
- field_type         L<Mail::Box>     undef                                                           
- fix_headers        L<Mail::Box>     <false>                                                         
- folder             L<Mail::Box>     C<$ENV{MAIL}>                                                   
- folderdir          L<Mail::Box>     undef                                                           
- head_delayed_type  L<Mail::Box>     L<Mail::Message::Head::Delayed|Mail::Message::Head::Delayed>    
- head_type          L<Mail::Box>     L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>  
- keep_dups          L<Mail::Box>     <false>                                                         
- lock_file          L<Mail::Box>     <folder>C</.lock>                                               
- lock_timeout       L<Mail::Box>     1 hour                                                          
- lock_type          L<Mail::Box>     L<Mail::Box::Locker::DotLock|Mail::Box::Locker::DotLock>        
- lock_wait          L<Mail::Box>     10 seconds                                                      
- locker             L<Mail::Box>     undef                                                           
- log                L<Mail::Reporter>  C<'WARNINGS'>                                                   
- manager            L<Mail::Box>     undef                                                           
- message_type       L<Mail::Box>     L<Mail::Box::Message|Mail::Box::Message>                        
- multipart_type     L<Mail::Box>     L<Mail::Message::Body::Multipart|Mail::Message::Body::Multipart>
- remove_when_empty  L<Mail::Box>     <true>                                                          
- save_on_exit       L<Mail::Box>     <true>                                                          
- trace              L<Mail::Reporter>  C<'WARNINGS'>                                                   
- trusted            L<Mail::Box>     <depends on folder location>                                    
-
-. access MODE
-
-. body_delayed_type CLASS
-
-. body_type CLASS|CODE
-
-. coerce_options ARRAY
-
-. create BOOLEAN
-
-. directory DIRECTORY
-
-=over 4
-
-For rare folder types, the directory name may differ from the folder
-name.
-
-=back
-
-. extract INTEGER | CODE | METHOD | 'LAZY'|'ALWAYS'
-
-. field_type CLASS
-
-. fix_headers BOOLEAN
-
-. folder FOLDERNAME
-
-. folderdir DIRECTORY
-
-. head_delayed_type CLASS
-
-. head_type CLASS
-
-. keep_dups BOOLEAN
-
-. lock_file FILENAME
-
-. lock_timeout SECONDS
-
-. lock_type CLASS|STRING|ARRAY
-
-. lock_wait SECONDS
-
-. locker OBJECT
-
-. log LEVEL
-
-. manager MANAGER
-
-. message_type CLASS
-
-. multipart_type CLASS
-
-. remove_when_empty BOOLEAN
-
-. save_on_exit BOOLEAN
-
-. trace LEVEL
-
-. trusted BOOLEAN
-
-=back
-
-=head2 The folder
-
-
-$obj-E<gt>B<addMessage>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<addMessages>(MESSAGE [, MESSAGE, ...])
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-Mail::Box::Dir-E<gt>B<appendMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<close>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<copyTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<delete>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<directory>
-
-=over 4
-
-Returns the directory related to this folder.
-
-I<Example:> 
-
- print $folder->directory;
-
-=back
-
-$obj-E<gt>B<folderdir>([DIRECTORY])
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<organization>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<type>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<update>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<url>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-=head2 Folder flags
-
-
-$obj-E<gt>B<access>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<writable>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-=head2 The messages
-
-
-$obj-E<gt>B<current>([NUMBER|MESSAGE|MESSAGE-ID])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<find>(MESSAGE-ID)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<findFirstLabeled>(LABEL, [BOOLEAN, [ARRAY-OF-MSGS]])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<message>(INDEX [,MESSAGE])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messageId>(MESSAGE-ID [,MESSAGE])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messageIds>
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messages>(['ALL',RANGE,'ACTIVE','DELETED',LABEL,!LABEL,FILTER])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<nrMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<scanForMessages>(MESSAGE, MESSAGE-IDS, TIMESPAN, WINDOW)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-=head2 Sub-folders
-
-
-$obj-E<gt>B<listSubFolders>(OPTIONS)
-
-Mail::Box::Dir-E<gt>B<listSubFolders>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<nameOfSubFolder>(SUBNAME, [PARENTNAME])
-
-Mail::Box::Dir-E<gt>B<nameOfSubFolder>(SUBNAME, [PARENTNAME])
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<openRelatedFolder>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<openSubFolder>(SUBNAME, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<topFolderWithMessages>
-
-Mail::Box::Dir-E<gt>B<topFolderWithMessages>
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<coerce>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<create>(FOLDERNAME, OPTIONS)
-
-Mail::Box::Dir-E<gt>B<create>(FOLDERNAME, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<determineBodyType>(MESSAGE, HEAD)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<folderToDirectory>(FOLDERNAME, FOLDERDIR)
-
-=over 4
-
-(class method)  Translate a foldername into a filename, with use of the
-FOLDERDIR to replace a leading C<=>.
-
-=back
-
-Mail::Box::Dir-E<gt>B<foundIn>([FOLDERNAME], OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<lineSeparator>([STRING|'CR'|'LF'|'CRLF'])
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<locker>
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<read>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<readMessageFilenames>(DIRECTORY)
-
-=over 4
-
-Returns a list of all filenames which are found in this folder
-directory and represent a message.  The filenames are returned as
-relative path.
-
-=back
-
-$obj-E<gt>B<readMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<storeMessage>(MESSAGE)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<toBeThreaded>(MESSAGES)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<toBeUnthreaded>(MESSAGES)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<updateMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<write>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<writeMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-=head2 Other methods
-
-
-$obj-E<gt>B<timespan2seconds>(TIME)
-
-Mail::Box::Dir-E<gt>B<timespan2seconds>(TIME)
-
-=over 4
-
-See L<Mail::Box/"Other methods">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Dir-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Dir-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Dir-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Box/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> Changes not written to read-only folder $self.
-
-You have opened the folder read-only --which is the default set
-by L<new(access)|Mail::Box/"Constructors">--, made modifications, and now want to close it.
-Set L<close(force)|Mail::Box/"The folder"> if you want to overrule the access mode, or close
-the folder with L<close(write)|Mail::Box/"The folder"> set to C<NEVER>.
-
-I<Error:> Copying failed for one message.
-
-For some reason, for instance disc full, removed by external process, or
-read-protection, it is impossible to copy one of the messages.  Copying will
-proceed for the other messages.
-
-I<Error:> Destination folder $name is not writable.
-
-The folder where the messages are copied to is not opened with write
-access (see L<new(access)|Mail::Box/"Constructors">).  This has no relation with write permission
-to the folder which is controled by your operating system.
-
-I<Warning:> Different messages with id $msgid
-
-The message id is discovered more than once within the same folder, but the
-content of the message seems to be different.  This should not be possible:
-each message must be unique.
-
-I<Error:> Folder $name is opened read-only
-
-You can not write to this folder unless you have opened the folder to
-write or append with L<new(access)|Mail::Box/"Constructors">, or the C<force> option is set true.
-
-I<Error:> Folder $name not deleted: not writable.
-
-The folder must be opened with write access via L<new(access)|Mail::Box/"Constructors">, otherwise
-removing it will be refused.  So, you may have write-access according to
-the operating system, but that will not automatically mean that this
-C<delete> method permits you to.  The reverse remark is valid as well.
-
-I<Warning:> Folder directory $directory is write-protected.
-
-The folder directory does already exist and is write protected, which may
-interfere with the requested write access.  Change new(access) or the
-permissions on the directory.
-
-I<Error:> Invalid timespan '$timespan' specified.
-
-The string does not follow the strict rules of the time span syntax which
-is permitted as parameter.
-
-I<Warning:> Message-id '$msgid' does not contain a domain.
-
-According to the RFCs, message-ids need to contain a unique random part,
-then an C<@>, and then a domain name.  This is made to avoid the creation
-of two messages with the same id.  The warning emerges when the C<@> is
-missing from the string.
-
-I<Warning:> No directory $name for folder of $class
-
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unable to create subfolder $name of $folder.
-
-The copy includes the subfolders, but for some reason it was not possible
-to copy one of these.  Copying will proceed for all other sub-folders.
-
-I<Error:> Writing folder $name failed
-
-For some reason (you probably got more error messages about this problem)
-it is impossible to write the folder, although you should because there
-were changes made.
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Dir.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Dir.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/FastScalar.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/FastScalar.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/FastScalar.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,207 +0,0 @@
-package Mail::Box::FastScalar;
-use vars '$VERSION';
-$VERSION = '2.062';
-
-
-use strict;
-use warnings;
-use integer;
-
-sub new($) {
-    my ($class, $ref) = @_;
-    $$ref = '' unless defined($$ref);
-    my $self = { ref => $ref, pos => 0 };
-
-    bless $self, $class;
-    return $self;
-}
-
-sub autoflush() {}
-
-sub binmode() {}
-
-sub clearerr { return 0; }
-
-sub flush() {}
-
-sub sync() { return 0; }
-
-sub opened() { return $_[0]->{ref}; }
-
-sub open($) {
-    my $self = $_[0];
-
-    ${$_[1]} = '' unless defined(${$_[1]});
-    $self->{ref} = $_[1];
-    $self->{pos} = 0;
-}
-
-sub close() {
-    undef $_[0]->{ref};
-}
-
-sub eof() {
-    my $self = $_[0];
-
-    return $self->{pos} >= length(${$self->{ref}});
-}
-
-sub getc() {
-    my $self = $_[0];
-
-    return substr(${$self->{ref}}, $self->{pos}++, 1);
-}
-
-sub print {
-    my $self = shift;
-    my $pos = $self->{pos};
-    my $ref = $self->{ref};
-    my $len = length($$ref);
-    
-    if ($pos >= $len) {
-	$$ref .= $_ foreach @_;
-	$self->{pos} = length($$ref);
-    } else {
-	my $buf = $#_ ? join('', @_) : $_[0];
-	
-	$len = length($buf);
-	substr($$ref, $pos, $len) = $buf;
-	$self->{pos} = $pos + $len;
-    }
-    1;
-}
-
-sub read($$;$) {
-    my $self = $_[0];
-    my $buf = substr(${$self->{ref}}, $self->{pos}, $_[2]);
-    $self->{pos} += $_[2];
-
-    ($_[3] ? substr($_[1], $_[3]) : $_[1]) = $buf;
-    return length($buf);
-}
-
-sub sysread($$;$) {
-    return shift()->read(@_);
-}
-
-sub seek($$) {
-    my $self = $_[0];
-    my $whence = $_[2];
-    my $len = length(${$self->{ref}});
-
-    if ($whence == 0) {
-	$self->{pos} = $_[1];
-    } elsif ($whence == 1) {
-	$self->{pos} += $_[1];
-    } elsif ($whence == 2) {
-	$self->{pos} = $len + $_[1];
-    } else {
-	return;
-    }
-    if ($self->{pos} > $len) {
-	$self->{pos} = $len;
-    } elsif ($self->{pos} < 0) {
-	$self->{pos} = 0;
-    }
-    return 1;
-}
-
-sub sysseek($$) {
-    return $_[0]->seek($_[1], $_[2]);
-}
-
-sub setpos($) {
-    return $_[0]->seek($_[1], 0);
-}
-
-sub sref() {
-    return $_[0]->{ref};
-}
-
-sub getpos() {
-    return $_[0]->{pos};
-}
-
-sub tell() {
-    return $_[0]->{pos};
-}
-
-sub write($$;$) {
-    my $self = $_[0];
-    my $pos = $self->{pos};
-    my $ref = $self->{ref};
-    my $len = length($$ref);
-
-    if ($pos >= $len) {
-	$$ref .= substr($_[1], $_[3] || 0, $_[2]);
-	$self->{pos} = length($$ref);
-	$len = $self->{pos} -  $len;
-    } else {
-	my $buf = substr($_[1], $_[3] || 0, $_[2]);
-	
-	$len = length($buf);
-	substr($$ref, $pos, $len) = $buf;
-	$self->{pos} = $pos + $len;
-    }
-    return $len;
-}
-
-sub syswrite($;$$) {
-    return shift()->write(@_);
-}
-
-sub getline() {
-    my $self = $_[0];
-    my $ref = $self->{ref};
-    my $pos = $self->{pos};
-
-    if (!defined($/) || (my $idx = index($$ref, $/, $pos)) == -1) {
-	return if ($pos >= length($$ref));
-	$self->{pos} = length($$ref);
-	return substr($$ref, $pos);
-    } else {
-	return substr($$ref, $pos, ($self->{pos} = $idx + length($/)) - $pos);
-    }
-}
-
-sub getlines() {
-    my $self = $_[0];
-    my @lines;
-    my $ref = $self->{ref};
-    my $pos = $self->{pos};
-
-    if (defined($/)) {
-	my $idx;
-	
-	while (($idx = index($$ref, $/, $pos)) != -1) {
-	    push(@lines, substr($$ref, $pos, ($idx + 1) - $pos));
-	    $pos = $idx + 1;
-	}
-    }
-    my $r = substr($$ref, $pos);
-    if (length($r) > 0) {
-	push(@lines, $r);
-    }
-    $self->{pos} = length($$ref);
-    return wantarray() ? @lines : \@lines;
-}
-
-sub TIEHANDLE {
-    ((defined($_[1]) && UNIVERSAL::isa($_[1], "Mail::Box::FastScalar"))
-         ? $_[1] : shift->new(@_));
-}
-
-sub GETC { shift()->getc(@_) }
-sub PRINT { shift()->print(@_) }
-sub PRINTF { shift()->print(sprintf(shift, @_)) }
-sub READ { shift()->read(@_) }
-sub READLINE { wantarray ? shift()->getlines(@_) : shift()->getline(@_) }
-sub WRITE { shift()->write(@_); }
-sub CLOSE { shift()->close(@_); }
-sub SEEK { shift()->seek(@_); }
-sub TELL { shift()->tell(@_); }
-sub EOF { shift()->eof(@_); }
-
-1;
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/FastScalar.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/FastScalar.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/FastScalar.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/FastScalar.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/FastScalar.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,48 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::FastScalar - fast alternative to IO::Scalar
-
-
-
-
-=head1 DESCRIPTION
-
-Contributed by "Todd Richmond" (richmond at proofpoint.com)  This package
-should be released as separate package, but till then is incorporated
-in the Mail::Box module.
-
-Extremely fast L<IO::Scalar> replacement - >20x improvement in
-getline(s)()
-
-=head2 Warnings
-
-You cannot modify the original reference between calls unless you
-C<$obj->seek(1, 0)> to reset the object - VERY rare usage case
-
-$/ must be undef or string - "" and \scalar unimplemented
-
-
-
-
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/FastScalar.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/FastScalar.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/File/Message.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/File/Message.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/File/Message.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,133 +0,0 @@
-
-use strict;
-package Mail::Box::File::Message;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::Message';
-
-use POSIX 'SEEK_SET';
-use Carp;
-
-
-sub init($)
-{   my ($self, $args) = @_;
-    $self->SUPER::init($args);
-
-    $self->fromLine($args->{from_line})
-        if exists $args->{from_line};
-
-    $self;
-}
-
-#------------------------------------------
-
-sub coerce($)
-{   my ($self, $message) = @_;
-    return $message if $message->isa(__PACKAGE__);
-    $self->SUPER::coerce($message)->labelsToStatus;
-}
-
-#-------------------------------------------
-
-
-sub write(;$)
-{   my $self  = shift;
-    my $out   = shift || select;
-
-    $out->print($self->fromLine);
-    $self->head->print($out);
-    $self->body->printEscapedFrom($out);
-    $out->print("\n");
-    $self;
-}
-
-#-------------------------------------------
-
-sub clone()
-{   my $self  = shift;
-    my $clone = $self->SUPER::clone;
-    $clone->{MBMM_from_line} = $self->{MBMM_from_line};
-    $clone;
-}
-
-#-------------------------------------------
-
-
-sub fromLine(;$)
-{   my $self = shift;
-
-    $self->{MBMM_from_line} = shift if @_;
-    $self->{MBMM_from_line} ||= $self->head->createFromLine;
-}
-
-#------------------------------------------
-
-
-sub readFromParser($)
-{   my ($self, $parser) = @_;
-    my ($start, $fromline)  = $parser->readSeparator;
-    return unless $fromline;
-
-    $self->{MBMM_from_line} = $fromline;
-    $self->{MBMM_begin}     = $start;
-
-    $self->SUPER::readFromParser($parser) or return;
-    $self;
-}
-
-#-------------------------------------------
-
-sub loadHead() { shift->head }
-
-#-------------------------------------------
-
-
-sub loadBody()
-{   my $self     = shift;
-
-    my $body     = $self->body;
-    return $body unless $body->isDelayed;
-
-    my ($begin, $end) = $body->fileLocation;
-
-    my $parser   = $self->folder->parser;
-    $parser->filePosition($begin);
-
-    my $newbody  = $self->readBody($parser, $self->head);
-    unless($newbody)
-    {   $self->log(ERROR => 'Unable to read delayed body.');
-        return;
-    }
-
-    $self->log(PROGRESS => 'Loaded delayed body.');
-    $self->storeBody($newbody->contentInfoFrom($self->head));
-
-    $newbody;
-}
-
-#-------------------------------------------
-
-
-sub fileLocation()
-{   my $self = shift;
-
-    wantarray
-     ? ($self->{MBMM_begin}, ($self->body->fileLocation)[1])
-     : $self->{MBMM_begin};
-}
-
-#------------------------------------------
-
-
-sub moveLocation($)
-{   my ($self, $dist) = @_;
-    $self->{MBMM_begin} -= $dist;
-
-    $self->head->moveLocation($dist);
-    $self->body->moveLocation($dist);
-    $self;
-}
-
-#-------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/File/Message.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/File/Message.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/File/Message.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/File/Message.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/File/Message.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,988 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::File::Message - one message in a Mbox folder
-
-
-=head1 INHERITANCE
-
- Mail::Box::File::Message
-   is a Mail::Box::Message
-   is a Mail::Message
-   is a Mail::Reporter
-
- Mail::Box::File::Message is extended by
-   Mail::Box::Dbx::Message
-   Mail::Box::Mbox::Message
-
-
-=head1 SYNOPSIS
-
- my $folder  = new Mail::Box::File folder => $ENV{MAIL}, ...;
- my $message = $folder->message(0);
-
-
-=head1 DESCRIPTION
-
-Maintain one message in an file based folder, any L<Mail::Box::File|Mail::Box::File>
-extension.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"Constructors">
-
-=back
-
-Mail::Box::File::Message-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-Messages in file-based folders use the following options for creation:
-
- Option      Defined in       Default                                                       
- body        L<Mail::Message>  undef                                                         
- body_type   L<Mail::Box::Message>  <from folder>                                                 
- deleted     L<Mail::Message>  <false>                                                       
- field_type  L<Mail::Message>  undef                                                         
- folder      L<Mail::Box::Message>  <required>                                                    
- from_line                    undef                                                         
- head        L<Mail::Message>  undef                                                         
- head_type   L<Mail::Message>  L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>
- labels      L<Mail::Message>  {}                                                            
- log         L<Mail::Reporter>  C<'WARNINGS'>                                                 
- messageId   L<Mail::Message>  undef                                                         
- modified    L<Mail::Message>  <false>                                                       
- size        L<Mail::Box::Message>  undef                                                         
- trace       L<Mail::Reporter>  C<'WARNINGS'>                                                 
- trusted     L<Mail::Message>  <false>                                                       
-
-. body OBJECT
-
-. body_type CODE|CLASS
-
-. deleted BOOLEAN
-
-. field_type CLASS
-
-. folder FOLDER
-
-. from_line STRING
-
-=over 4
-
-The line which begins each message in the file. Some people detest
-this line, but this is just how things were invented...
-
-=back
-
-. head OBJECT
-
-. head_type CLASS
-
-. labels ARRAY|HASH
-
-. log LEVEL
-
-. messageId STRING
-
-. modified BOOLEAN
-
-. size INTEGER
-
-. trace LEVEL
-
-. trusted BOOLEAN
-
-=back
-
-=head2 Constructing a message
-
-
-$obj-E<gt>B<bounce>([RG-OBJECT|OPTIONS])
-
-=over 4
-
-See L<Mail::Message::Construct::Bounce/"Constructing a message">
-
-=back
-
-Mail::Box::File::Message-E<gt>B<build>([MESSAGE|PART|BODY], CONTENT)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-Mail::Box::File::Message-E<gt>B<buildFromBody>(BODY, [HEAD], HEADERS)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forward>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardAttach>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardEncapsulate>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardInline>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardNo>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPostlude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPrelude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardSubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-Mail::Box::File::Message-E<gt>B<read>(FILEHANDLE|SCALAR|REF-SCALAR|ARRAY-OF-LINES, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Read/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<rebuild>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<reply>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replyPrelude>([STRING|FIELD|ADDRESS|ARRAY-OF-THINGS])
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replySubject>(STRING)
-
-Mail::Box::File::Message-E<gt>B<replySubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-=head2 The message
-
-
-$obj-E<gt>B<container>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<copyTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<folder>([FOLDER])
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<fromLine>([LINE])
-
-=over 4
-
-Many people detest file-style folders because they store messages all in
-one file, where a line starting with C<From > leads the header.  If we
-receive a message from a file-based folder, we store that line.  If we write
-to such a file, but there is no such line stored, then we try to generate
-one.
-
-If LINE is provided, then the starting line is set to this value.
-
-=back
-
-$obj-E<gt>B<isDummy>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isPart>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<messageId>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<moveTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<send>([MAILER], OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<seqnr>([INTEGER])
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<toplevel>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<write>([FILEHANDLE])
-
-=over 4
-
-Write one message to a file handle.  It is the message including the
-leading 'From ' line and trailing blank.  The From-line may interfere
-with lines in the body: those lines are escaped with an extra '>'.
-
-I<Example:> 
-
- $msg->write(\*FILE);    # print the message with encaps to FILE
- $msg->write;            # message with encaps to selected filehandle
- $msg->print(\*FILE);    # the message without encaps.
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<bcc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<cc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<date>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<destinations>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<from>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<get>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<guessTimestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<head>([HEAD])
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<sender>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<study>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<subject>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<timestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<to>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-=head2 The body
-
-
-$obj-E<gt>B<body>([BODY])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<decoded>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<encode>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isNested>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<parts>(['ALL'|'ACTIVE'|'DELETED'|'RECURSE'|FILTER])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-=head2 Flags
-
-
-$obj-E<gt>B<delete>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<deleted>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isDeleted>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<label>(LABEL|PAIRS)
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<labels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<labelsToStatus>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<statusToLabels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-=head2 The whole message as text
-
-
-$obj-E<gt>B<file>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<lines>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<printStructure>([FILEHANDLE|undef],[INDENT])
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<clonedFrom>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-Mail::Box::File::Message-E<gt>B<coerce>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<diskDelete>
-
-=over 4
-
-See L<Mail::Box::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<fileLocation>
-
-=over 4
-
-Returns the location of the whole message including the from-line.  In
-LIST context, both begin and end are returned.  In SCALAR context, only
-the begin is passed back.
-
-=back
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<loadBody>
-
-=over 4
-
-=back
-
-$obj-E<gt>B<moveLocation>(DISTANCE)
-
-=over 4
-
-The message is relocated in the file, being moved over DISTANCE bytes.
-Setting a new location will update the according information in the header
-and body.
-
-=back
-
-$obj-E<gt>B<readBody>(PARSER, HEAD [, BODYTYPE])
-
-=over 4
-
-See L<Mail::Box::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readFromParser>(PARSER)
-
-=over 4
-
-Read one message from a L<Mail::Box::File|Mail::Box::File> based folder, including the
-message separator.
-
-=back
-
-$obj-E<gt>B<readHead>(PARSER [,CLASS])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<recursiveRebuildPart>(PART, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Internals">
-
-=back
-
-$obj-E<gt>B<storeBody>(BODY)
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<takeMessageId>([STRING])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Message::Construct/"METHODS">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::File::Message-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::File::Message-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::File::Message-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortSize>([VALUE])
-
-Mail::Box::File::Message-E<gt>B<shortSize>([VALUE])
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortString>
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<destruct>
-
-=over 4
-
-See L<Mail::Box::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot include forward source as $include.
-
-Unknown alternative for the L<forward(include)|Mail::Message::Construct::Forward/"Constructing a message">.  Valid choices are
-C<NO>, C<INLINE>, C<ATTACH>, and C<ENCAPSULATE>.
-
-I<Error:> Cannot include reply source as $include.
-
-Unknown alternative for the C<include> option of L<reply()|Mail::Message::Construct::Reply/"Constructing a message">.  Valid
-choices are C<NO>, C<INLINE>, and C<ATTACH>.
-
-I<Error:> No address to create forwarded to.
-
-If a forward message is created, a destination address must be specified.
-
-I<Error:> No default mailer found to send message.
-
-The message L<send()|Mail::Message/"The message"> mechanism had not enough information to automatically
-find a mail transfer agent to sent this message.  Specify a mailer
-explicitly using the C<via> options.
-
-I<Error:> Only build() Mail::Message's; they are not in a folder yet
-
-You may wish to construct a message to be stored in a some kind
-of folder, but you need to do that in two steps.  First, create a
-normal L<Mail::Message|Mail::Message>, and then add it to the folder.  During this
-L<Mail::Box::addMessage()|Mail::Box/"The folder"> process, the message will get L<coerce()|Mail::Message/"Internals">-d
-into the right message type, adding storage information and the like.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unable to read delayed body.
-
-
-I<Error:> bounce requires To, Cc, or Bcc
-
-The message L<bounce()|Mail::Message::Construct::Bounce/"Constructing a message"> method forwards a received message off to someone
-else without modification; you must specified it's new destination.
-If you have the urge not to specify any destination, you probably
-are looking for L<reply()|Mail::Message::Construct::Reply/"Constructing a message">. When you wish to modify the content, use
-L<forward()|Mail::Message::Construct::Forward/"Constructing a message">.
-
-I<Error:> forwardAttach requires a preamble object
-
-
-I<Error:> forwardEncapsulate requires a preamble object
-
-
-I<Error:> no rebuild rule $name defined.
-
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/File/Message.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/File/Message.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/File.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/File.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/File.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,524 +0,0 @@
-
-use strict;
-package Mail::Box::File;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box';
-
-use Mail::Box::File::Message;
-
-use Mail::Message::Body::Lines;
-use Mail::Message::Body::File;
-use Mail::Message::Body::Delayed;
-use Mail::Message::Body::Multipart;
-
-use Mail::Message::Head;
-
-use Carp;
-use File::Copy;
-use File::Spec;
-use File::Basename;
-use POSIX ':unistd_h';
-use IO::File ();
-
-my $windows;
-BEGIN { $windows = $^O =~ m/mswin32|cygwin/i }
-
-
-my $default_folder_dir = exists $ENV{HOME} ? $ENV{HOME} . '/Mail' : '.';
-
-sub _default_body_type($$)
-{   my $size = shift->guessBodySize || 0;
-    'Mail::Message::Body::'.($size > 10000 ? 'File' : 'Lines');
-}
-
-sub init($)
-{   my ($self, $args) = @_;
-    $args->{folderdir} ||= $default_folder_dir;
-    $args->{body_type} ||= \&_default_body_type;
-    $args->{lock_file} ||= '--';   # to be resolved later
-
-    return unless defined $self->SUPER::init($args);
-
-    my $class = ref $self;
-
-    my $filename         = $self->{MBF_filename}
-       = $class->folderToFilename
-           ( $self->name
-           , $self->folderdir
-           );
-
-       if(-e $filename) {;}    # Folder already exists
-    elsif(   $args->{create} && $class->create($args->{folder}, %$args)) {;}
-    else
-    {   $self->log(PROGRESS =>
-                      "File $filename for folder $self does not exist.");
-        return;
-    }
-
-    $self->{MBF_policy}  = $args->{write_policy};
-
-    # Lock the folder.
-
-    my $locker   = $self->locker;
-
-    my $lockfile = $locker->filename;
-    if($lockfile eq '--')            # filename to be used not resolved yet
-    {   my $lockdir   = $filename;
-        $lockdir      =~ s!/([^/]*)$!!;
-        my $extension = $args->{lock_extension} || '.lock';
-
-        $locker->filename
-          ( File::Spec->file_name_is_absolute($extension) ? $extension
-          : $extension =~ m!^\.!  ? "$filename$extension"
-          :                         File::Spec->catfile($lockdir, $extension)
-          );
-    }
-
-    unless($locker->lock)
-    {   $self->log(ERROR => "Cannot get a lock on $class folder $self.");
-        return;
-    }
-
-    # Check if we can write to the folder, if we need to.
-
-    {   # filetest 'access' is slower, but works correctly if we have a 
-	# filesystem with ACLs
-	use filetest 'access';
-	if($self->writable && ! -w $filename)
-	{   $self->log(WARNING => "Folder $self file $filename is write-protected.");
-	    $self->{MB_access} = 'r';
-	}
-    }
-
-    # Start parser if reading is required.
-
-      $self->{MB_access} !~ m/r/ ? $self
-    : $self->parser              ? $self
-    :                              undef;
-}
-
-#-------------------------------------------
-
-
-sub create($@)
-{   my ($thingy, $name, %args) = @_;
-    my $class     = ref $thingy      || $thingy;
-    my $folderdir = $args{folderdir} || $default_folder_dir;
-    my $subext    = $args{subfolder_extension};    # not always available
-    my $filename  = $class->folderToFilename($name, $folderdir, $subext);
-
-    return $class if -f $filename;
-
-    my $dir       = dirname $filename;
-    if(-f $dir && defined $subext)
-    {   $dir      .= $subext;
-        $filename  = File::Spec->catfile($dir, basename $filename);
-    }
-
-    $class->log(ERROR => "Cannot create directory $dir for folder $name: $!"),return
-        unless -d $dir || mkdir $dir, 0755;
-
-    $class->moveAwaySubFolder($filename, $subext)
-        if -d $filename && defined $subext;
-
-    if(my $create = IO::File->new($filename, 'w'))
-    {   $class->log(PROGRESS => "Created folder $name.");
-        $create->close or return;
-    }
-    else
-    {   $class->log(WARNING => "Cannot create folder file $name: $!");
-        return;
-    }
-
-    $class;
-}
-
-#-------------------------------------------
-
-sub foundIn($@)
-{   my $class = shift;
-    my $name  = @_ % 2 ? shift : undef;
-    my %args  = @_;
-    $name   ||= $args{folder} or return;
-
-    my $folderdir = $args{folderdir} || $default_folder_dir;
-    my $filename  = $class->folderToFilename($name, $folderdir);
-
-    -f $filename;
-}
-
-#-------------------------------------------
-
-sub organization() { 'FILE' }
-
-#-------------------------------------------
-
-sub size()
-{   my $self = shift;
-    $self->isModified ? $self->SUPER::size : -s $self->filename;
-}
-
-#-------------------------------------------
-
-sub close(@)
-{   my $self = $_[0];            # be careful, we want to set the calling
-    undef $_[0];                 #    ref to undef, as the SUPER does.
-    shift;
-
-    my $rc = $self->SUPER::close(@_);
-
-    if(my $parser = delete $self->{MBF_parser}) { $parser->stop }
-
-    $rc;
-}
-
-#-------------------------------------------
-
-
-sub appendMessages(@)
-{   my $class  = shift;
-    my %args   = @_;
-
-    my @messages
-      = exists $args{message}  ? $args{message}
-      : exists $args{messages} ? @{$args{messages}}
-      :                          return ();
-
-    my $folder   = $class->new(lock_type => 'NONE', @_, access => 'w+')
-       or return ();
- 
-    my $filename = $folder->filename;
-
-    my $out      = IO::File->new($filename, 'a');
-    unless($out)
-    {   $class->log(ERROR => "Cannot append messages to folder file $filename: $!");
-        return ();
-    }
-
-    my $msgtype = $class.'::Message';
-    my @coerced;
-
-    foreach my $msg (@messages)
-    {   my $coerced
-           = $msg->isa($msgtype) ? $msg
-           : $msg->can('clone')  ? $msgtype->coerce($msg->clone)
-           :                       $msgtype->coerce($msg);
-
-        $coerced->write($out);
-        push @coerced, $coerced;
-    }
-
-    my $ok = $folder->close;
-    return 0 unless $out->close && $ok;
-
-    @coerced;
-}
-
-#-------------------------------------------
-
-
-sub filename() { shift->{MBF_filename} }
-
-#-------------------------------------------
-
-
-sub parser()
-{   my $self = shift;
-
-    return $self->{MBF_parser}
-        if defined $self->{MBF_parser};
-
-    my $source = $self->filename;
-
-    my $mode = $self->{MB_access} || 'r';
-    $mode    = 'r+' if $mode eq 'rw' || $mode eq 'a';
-
-    my $parser = $self->{MBF_parser}
-       = Mail::Box::Parser->new
-        ( filename  => $source
-        , mode      => $mode
-        , trusted   => $self->{MB_trusted}
-        , fix_header_errors => $self->{MB_fix_headers}
-        , $self->logSettings
-        ) or return;
-
-    $parser->pushSeparator('From ');
-    $parser;
-}
-
-#-------------------------------------------
-
-sub readMessages(@)
-{   my ($self, %args) = @_;
-
-    $self->messageCreateOptions
-     ( $args{message_type}
-     , $self->logSettings
-     , folder     => $self
-     , head_type  => $args{head_type}
-     , field_type => $args{field_type}
-     , trusted    => $args{trusted}
-     );
-
-    $self->updateMessages;
-}
- 
-#-------------------------------------------
-
-
-sub updateMessages(@)
-{   my ($self, %args) = @_;
-    my $parser   = $self->parser or return;
-
-    # On a directory, simulate an empty folder with only subfolders.
-    my $filename = $self->filename;
-    return $self if -d $filename;
-
-    if(my $last  = $self->message(-1))
-    {  (undef, my $end) = $last->fileLocation;
-       $parser->filePosition($end);
-    }
-
-    my ($type, @msgopts) = $self->messageCreateOptions;
-    my $count    = 0;
-
-    while(1)
-    {   my $message = $type->new(@msgopts);
-        last unless $message->readFromParser($parser);
-        $self->storeMessage($message);
-        $count++;
-    }
-
-    $self->log(PROGRESS => "Found $count new messages in $filename")
-        if $count;
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub messageCreateOptions(@)
-{   my ($self, @options) = @_;
-    if(@options)
-    {   ref($_) && ref($_) =~ m/^Mail::/ && weaken $_ for @options;
-        $self->{MBF_create_options} = \@options;
-    }
-    
-    @{$self->{MBF_create_options}};
-}
-
-#-------------------------------------------
-
-
-sub moveAwaySubFolder($$)
-{   my ($self, $dir, $extension) = @_;
-    $self->log(ERROR => "Cannot move away sub-folder $dir")
-       unless move $dir, $dir.$extension;
-    $self;
-}
-
-#-------------------------------------------
-
-sub delete(@)
-{   my $self = shift;
-    $self->SUPER::delete(@_);
-    unlink $self->filename;
-}
-
-#-------------------------------------------
-
-
-sub writeMessages($)
-{   my ($self, $args) = @_;
-
-    my $filename = $self->filename;
-    if( ! @{$args->{messages}} && $self->{MB_remove_empty})
-    {   $self->log(WARNING => "Cannot remove folder $self file $filename: $!")
-             unless unlink $filename;
-        return $self;
-    }
-
-    my $policy = exists $args->{policy} ? $args->{policy} : $self->{MBF_policy};
-    $policy  ||= '';
-
-    my $success
-      = ! -e $filename       ? $self->_write_new($args)
-      : $policy eq 'INPLACE' ? $self->_write_inplace($args)
-      : $policy eq 'REPLACE' ? $self->_write_replace($args)
-      : $self->_write_replace($args) ? 1
-      : $self->_write_inplace($args);
-
-    unless($success)
-    {   $self->log(ERROR => "Unable to update folder $self.");
-        return;
-    }
-
-    $self->parser->restart;
-    $self;
-}
-
-sub _write_new($)
-{   my ($self, $args) = @_;
-
-    my $filename = $self->filename;
-    my $new      = IO::File->new($filename, 'w');
-    return 0 unless defined $new;
-
-    $_->write($new) foreach @{$args->{messages}};
-
-    $new->close or return 0;
-
-    $self->log(PROGRESS =>
-                  "Wrote new folder $self with ".@{$args->{messages}}."msgs.");
-    1;
-}
-
-# First write to a new file, then replace the source folder in one
-# move.  This is much slower than inplace update, but it is safer,
-# The folder is always in the right shape, even if the program is
-# interrupted.
-
-sub _write_replace($)
-{   my ($self, $args) = @_;
-
-    my $filename = $self->filename;
-    my $tmpnew   = $self->tmpNewFolder($filename);
-
-    my $new      = IO::File->new($tmpnew, 'w')   or return 0;
-    my $old      = IO::File->new($filename, 'r') or return 0;
-
-    my ($reprint, $kept) = (0,0);
-
-    foreach my $message ( @{$args->{messages}} )
-    {
-        my $newbegin = $new->tell;
-        my $oldbegin = $message->fileLocation;
-
-        if($message->isModified)
-        {   $message->write($new);
-            $message->moveLocation($newbegin - $oldbegin)
-               if defined $oldbegin;
-            $reprint++;
-        }
-        else
-        {   my ($begin, $end) = $message->fileLocation;
-            my $need = $end-$begin;
-
-            $old->seek($begin, 0);
-            my $whole;
-            my $size = $old->read($whole, $need);
-
-            $self->log(ERROR => "File too short to get write message "
-                                . $message->seqnr. " ($size, $need)")
-               unless $size == $need;
-
-            $new->print($whole);
-            $new->print("\n");
-
-            $message->moveLocation($newbegin - $oldbegin);
-            $kept++;
-        }
-    }
-
-    my $ok = $new->close;
-    return 0 unless $old->close && $ok;
-
-    unlink $filename if $windows;
-    unless(move $tmpnew, $filename)
-    {   $self->log(WARNING =>
-            "Cannot replace $filename by $tmpnew, to update folder $self: $!");
-
-        unlink $tmpnew;
-        return 0;
-    }
-
-    $self->log(PROGRESS => "Folder $self replaced ($kept, $reprint)");
-    1;
-}
-
-# Inplace is currently very poorly implemented.  From the first
-# location where changes appear, all messages are rewritten.
-
-sub _write_inplace($)
-{   my ($self, $args) = @_;
-
-    my @messages = @{$args->{messages}};
-    my $last;
-
-    my ($msgnr, $kept) = (0, 0);
-    while(@messages)
-    {   my $next = $messages[0];
-        last if $next->isModified || $next->seqnr!=$msgnr++;
-        $last    = shift @messages;
-        $kept++;
-    }
-
-    if(@messages==0 && $msgnr==$self->messages)
-    {   $self->log(PROGRESS => "No changes to be written to $self.");
-        return 1;
-    }
-
-    $_->body->load foreach @messages;
-
-    my $mode     = $^O eq 'MSWin32' ? 'a' : '+<';
-    my $filename = $self->filename;
-
-    my $old      = IO::File->new($filename, $mode) or return 0;
-
-    # Chop the folder after the messages which does not have to change.
-
-    my $end = defined $last ? ($last->fileLocation)[1] : 0;
-
-    $end =~ m/(.*)/;  # untaint, only required by perl5.6.1
-    $end = $1;
-
-    unless($old->truncate($end))
-    {   # truncate impossible: try replace writing
-        $old->close;
-        return 0;
-    }
-
-    unless(@messages)
-    {   # All further messages only are flagged to be deleted
-        $old->close or return 0;
-        $self->log(PROGRESS => "Folder $self shortened in-place ($kept kept)");
-        return 1;
-    }
-
-    # go to the end of the truncated output file.
-    $old->seek(0, 2);
-
-    # Print the messages which have to move.
-    my $printed = @messages;
-    foreach my $message (@messages)
-    {   my $oldbegin = $message->fileLocation;
-        my $newbegin = $old->tell;
-        $message->write($old);
-        $message->moveLocation($newbegin - $oldbegin);
-    }
-
-    $old->close or return 0;
-    $self->log(PROGRESS => "Folder $self updated in-place ($kept, $printed)");
-    1;
-}
-
-#-------------------------------------------
-
-
-sub folderToFilename($$;$)
-{   my ($thing, $name, $folderdir) = @_;
-
-    substr $name, 0, 1, $folderdir
-        if substr $name, 0, 1 eq '=';
-
-    $name;
-}
-
-sub tmpNewFolder($) { shift->filename . '.tmp' }
-
-#-------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/File.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/File.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/File.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/File.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/File.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,1044 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::File - handle file-based folders
-
-
-=head1 INHERITANCE
-
- Mail::Box::File
-   is a Mail::Box
-   is a Mail::Reporter
-
- Mail::Box::File is extended by
-   Mail::Box::Dbx
-   Mail::Box::Mbox
-
-
-=head1 SYNOPSIS
-
-
-
-=head1 DESCRIPTION
-
-C<Mail::Box::File> is the base-class for all file-based folders: folders
-which bundle multiple messages into one single file.  Usually, these
-messages are separated by a special line which indicates the start of
-the next one.
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-overload: B<@{}>
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-overload: B<cmp>
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::File-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option             Defined in       Default                                                         
- access             L<Mail::Box>     C<'r'>                                                          
- body_delayed_type  L<Mail::Box>     L<Mail::Message::Body::Delayed|Mail::Message::Body::Delayed>    
- body_type                           <see description>                                               
- coerce_options     L<Mail::Box>     C<[]>                                                           
- create             L<Mail::Box>     <false>                                                         
- extract            L<Mail::Box>     C<10240>                                                        
- field_type         L<Mail::Box>     undef                                                           
- fix_headers        L<Mail::Box>     <false>                                                         
- folder             L<Mail::Box>     C<$ENV{MAIL}>                                                   
- folderdir          L<Mail::Box>     C<$ENV{HOME}.'/Mail'>                                           
- head_delayed_type  L<Mail::Box>     L<Mail::Message::Head::Delayed|Mail::Message::Head::Delayed>    
- head_type          L<Mail::Box>     L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>  
- keep_dups          L<Mail::Box>     <false>                                                         
- lock_extension                      C<'.lock'>                                                      
- lock_file          L<Mail::Box>     <foldername><lock-extension>                                    
- lock_timeout       L<Mail::Box>     1 hour                                                          
- lock_type          L<Mail::Box>     L<Mail::Box::Locker::DotLock|Mail::Box::Locker::DotLock>        
- lock_wait          L<Mail::Box>     10 seconds                                                      
- locker             L<Mail::Box>     undef                                                           
- log                L<Mail::Reporter>  C<'WARNINGS'>                                                   
- manager            L<Mail::Box>     undef                                                           
- message_type       L<Mail::Box>     L<Mail::Box::File::Message|Mail::Box::File::Message>            
- multipart_type     L<Mail::Box>     L<Mail::Message::Body::Multipart|Mail::Message::Body::Multipart>
- remove_when_empty  L<Mail::Box>     <true>                                                          
- save_on_exit       L<Mail::Box>     <true>                                                          
- trace              L<Mail::Reporter>  C<'WARNINGS'>                                                   
- trusted            L<Mail::Box>     <depends on folder location>                                    
- write_policy                        undef                                                           
-
-. access MODE
-
-. body_delayed_type CLASS
-
-. body_type CLASS|CODE
-
-=over 4
-
-The default C<body_type> option for C<File> folders, which will cause
-messages larger than 10kB to be stored in files and smaller files
-in memory, is implemented like this:
-
- sub determine_body_type($$)
- {   my $head = shift;
-     my $size = shift || 0;
-     'Mail::Message::Body::'
-        . ($size > 10000 ? 'File' : 'Lines');
- }
-
-=back
-
-. coerce_options ARRAY
-
-. create BOOLEAN
-
-. extract INTEGER | CODE | METHOD | 'LAZY'|'ALWAYS'
-
-. field_type CLASS
-
-. fix_headers BOOLEAN
-
-. folder FOLDERNAME
-
-. folderdir DIRECTORY
-
-. head_delayed_type CLASS
-
-. head_type CLASS
-
-. keep_dups BOOLEAN
-
-. lock_extension FILENAME|STRING
-
-=over 4
-
-When the dotlock locking mechanism is used, the lock is created with a
-hardlink to the folder file.  For C<Mail::Box::File> type of folders, this
-file is by default named as the folder-file itself followed by
-C<.lock>.  For example: the C<Mail/inbox> folder file will have a hardlink
-made as C<Mail/inbox.lock>.
-
-You may specify an absolute filename, a relative (to the folder's
-directory) filename, or an extension (preceded by a dot).  So valid
-examples are:
-
- .lock        # appended to the folder's filename
- my_own_lockfile.test   # full filename, same dir
- /etc/passwd            # somewhere else
-
-When the program runs with less priviledges (as normal user), often the
-default inbox folder can not be locked with the lockfile name which is
-produced by default.
-
-=back
-
-. lock_file FILENAME
-
-. lock_timeout SECONDS
-
-. lock_type CLASS|STRING|ARRAY
-
-. lock_wait SECONDS
-
-. locker OBJECT
-
-. log LEVEL
-
-. manager MANAGER
-
-. message_type CLASS
-
-. multipart_type CLASS
-
-. remove_when_empty BOOLEAN
-
-. save_on_exit BOOLEAN
-
-. trace LEVEL
-
-. trusted BOOLEAN
-
-. write_policy 'REPLACE'|'INPLACE'|undef
-
-=over 4
-
-Sets the default write policy, as default for a later call to
-L<write(policy)|Mail::Box::File/"Internals">.  With C<undef>, the best policy is autodetected.
-
-=back
-
-=back
-
-=head2 The folder
-
-
-$obj-E<gt>B<addMessage>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<addMessages>(MESSAGE [, MESSAGE, ...])
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-Mail::Box::File-E<gt>B<appendMessages>(OPTIONS)
-
-=over 4
-
-Appending messages to a file based folder which is not opened is a little
-risky.  In practice, this is often done without locking the folder.  So,
-an other application may write to the folder at the same time... :(  Hopefully,
-all goes fast enough that the chance on collition is small.
-
-All OPTIONS of L<Mail::Box::Mbox::new()|Mail::Box::Mbox/"METHODS"> can be supplied.
-
- Option     Defined in       Default   
- folder     L<Mail::Box>     <required>
- lock_type                   C<NONE>   
- message    L<Mail::Box>     undef     
- messages   L<Mail::Box>     undef     
- share      L<Mail::Box>     <false>   
-
-. folder FOLDERNAME
-
-. lock_type ...
-
-=over 4
-
-See L<Mail::Box::new(lock_type)|Mail::Box/"Constructors"> for possible values.
-
-=back
-
-. message MESSAGE
-
-. messages ARRAY-OF-MESSAGES
-
-. share BOOLEAN
-
-=back
-
-$obj-E<gt>B<close>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<copyTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<delete>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<filename>
-
-=over 4
-
-Returns the filename for this folder, which may be an absolute or relative
-path to the file.
-
-I<Example:> 
-
- print $folder->filename;
-
-=back
-
-$obj-E<gt>B<folderdir>([DIRECTORY])
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<organization>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<type>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<update>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<url>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-=head2 Folder flags
-
-
-$obj-E<gt>B<access>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<writable>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-=head2 The messages
-
-
-$obj-E<gt>B<current>([NUMBER|MESSAGE|MESSAGE-ID])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<find>(MESSAGE-ID)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<findFirstLabeled>(LABEL, [BOOLEAN, [ARRAY-OF-MSGS]])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<message>(INDEX [,MESSAGE])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messageId>(MESSAGE-ID [,MESSAGE])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messageIds>
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messages>(['ALL',RANGE,'ACTIVE','DELETED',LABEL,!LABEL,FILTER])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<nrMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<scanForMessages>(MESSAGE, MESSAGE-IDS, TIMESPAN, WINDOW)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-=head2 Sub-folders
-
-
-$obj-E<gt>B<listSubFolders>(OPTIONS)
-
-Mail::Box::File-E<gt>B<listSubFolders>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<nameOfSubFolder>(SUBNAME, [PARENTNAME])
-
-Mail::Box::File-E<gt>B<nameOfSubFolder>(SUBNAME, [PARENTNAME])
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<openRelatedFolder>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<openSubFolder>(SUBNAME, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<topFolderWithMessages>
-
-Mail::Box::File-E<gt>B<topFolderWithMessages>
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<coerce>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<create>(FOLDERNAME, OPTIONS)
-
-Mail::Box::File-E<gt>B<create>(FOLDERNAME, OPTIONS)
-
-=over 4
-
- Option     Defined in    Default
- folderdir  L<Mail::Box>  undef  
-
-. folderdir DIRECTORY
-
-=back
-
-$obj-E<gt>B<determineBodyType>(MESSAGE, HEAD)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<folderToFilename>(FOLDERNAME, FOLDERDIR, [SUBEXT])
-
-Mail::Box::File-E<gt>B<folderToFilename>(FOLDERNAME, FOLDERDIR, [SUBEXT])
-
-=over 4
-
-Translate a folder name into a filename, using the
-FOLDERDIR value to replace a leading C<=>.  SUBEXT is only used for MBOX
-folders.
-
-=back
-
-Mail::Box::File-E<gt>B<foundIn>([FOLDERNAME], OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<lineSeparator>([STRING|'CR'|'LF'|'CRLF'])
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<locker>
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<messageCreateOptions>([TYPE, CONFIG])
-
-=over 4
-
-Returns a key-value list of options to be used each time a new message
-is read from a file.  The list is preceeded by the TYPE of message which
-has to be created.
-
-This data is used by L<readMessages()|Mail::Box/"Internals"> and L<updateMessages()|Mail::Box::File/"Internals">.  With
-TYPE and CONFIG, a new configuration is set.
-
-=back
-
-$obj-E<gt>B<moveAwaySubFolder>(DIRECTORY, EXTENSION)
-
-=over 4
-
-The DIRECTORY is renamed by appending the EXTENSION, which defaults to C<".d">,
-to make place for a folder file on that specific location.  C<false> is
-returned if this failed.
-
-=back
-
-$obj-E<gt>B<parser>
-
-=over 4
-
-Create a parser for this mailbox.  The parser stays alive as long as
-the folder is open.
-
-=back
-
-$obj-E<gt>B<read>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<readMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<storeMessage>(MESSAGE)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<toBeThreaded>(MESSAGES)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<toBeUnthreaded>(MESSAGES)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<updateMessages>(OPTIONS)
-
-=over 4
-
-For file based folders, the file handle stays open until the folder
-is closed.  Update is therefore rather simple: move to the end
-of the last known message, and continue reading...
-
-=back
-
-$obj-E<gt>B<write>(OPTIONS)
-
-=over 4
-
- Option        Defined in       Default
- force         L<Mail::Box>     <false>
- policy                         undef  
- save_deleted  L<Mail::Box>     <false>
-
-. force BOOLEAN
-
-. policy 'REPLACE'|'INPLACE'|undef
-
-=over 4
-
-In what way will the mail folder be updated.  If not specified during the
-write, the value of the L<new(write_policy)|Mail::Box::File/"METHODS"> at folder creation is taken.
-
-Valid values:
-
-=over 4
-
-=item * C<REPLACE>
-
-First a new folder is written in the same directory as the folder which has
-to be updated, and then a call to move will throw away the old immediately
-replacing it by the new.
-
-Writing in C<REPLACE> module is slightly optimized: messages which are not 
-modified are copied from file to file, byte by byte.  This is much
-faster than printing the data which is will be done for modified messages.
-
-=item * C<INPLACE>
-
-The original folder file will be opened read/write.  All message which where
-not changed will be left untouched, until the first deleted or modified
-message is detected.  All further messages are printed again.
-
-=item * C<undef>
-
-As default, or when C<undef> is explicitly specified, first C<REPLACE> mode
-is tried.  Only when that fails, an C<INPLACE> update is performed.
-
-=back
-
-C<INPLACE> will be much faster than C<REPLACE> when applied on large
-folders, however requires the C<truncate> function to be implemented on
-your operating system (at least available for recent versions of Linux,
-Solaris, Tru64, HPUX).  It is also dangerous: when the program is interrupted
-during the update process, the folder is corrupted.  Data may be lost.
-
-However, in some cases it is not possible to write the folder with
-C<REPLACE>.  For instance, the usual incoming mail folder on UNIX is
-stored in a directory where a user can not write.  Of course, the
-C<root> and C<mail> users can, but if you want to use this Perl module
-with permission of a normal user, you can only get it to work in C<INPLACE>
-mode.  Be warned that in this case folder locking via a lockfile is not
-possible as well.
-
-=back
-
-. save_deleted BOOLEAN
-
-=back
-
-$obj-E<gt>B<writeMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-=head3 File based folders
-
-File based folders maintain a folder (a set of messages) in one
-single file.  The advantage is that your folder has only one
-single name, which speeds-up access to all messages at once.
-
-The disadvantage over directory based folder (see L<Mail::Box::Dir|Mail::Box::Dir>)
-is that you have to construct some means to keep all message apart,
-for instance by adding a message separator, and this will cause
-problems.  Where access to all messages at once is faster in file
-based folders, access to a single message is (much) slower, because
-the whole folder must be read.
-
-=head3 File based folders
-
-File based folders maintain a folder (a set of messages) in one
-single file.  The advantage is that your folder has only one
-single name, which speeds-up access to all messages at once.
-
-The disadvantage over directory based folder (see L<Mail::Box::Dir|Mail::Box::Dir>)
-is that you have to construct some means to keep all message apart,
-for instance by adding a message separator, and this will cause
-problems.  Where access to all messages at once is faster in file
-based folders, access to a single message is (much) slower, because
-the whole folder must be read.
-
-=head2 Other methods
-
-
-$obj-E<gt>B<timespan2seconds>(TIME)
-
-Mail::Box::File-E<gt>B<timespan2seconds>(TIME)
-
-=over 4
-
-See L<Mail::Box/"Other methods">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::File-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::File-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::File-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Box/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot append messages to folder file $filename: $!
-
-Appending messages to a not-opened file-organized folder may fail when the
-operating system does not allow write access to the file at hand.
-
-I<Error:> Cannot create directory $dir for folder $name.
-
-While creating a file-organized folder, at most one level of directories
-is created above it.  Apparently, more levels of directories are needed,
-or the operating system does not allow you to create the directory.
-
-I<Error:> Cannot create folder file $name: $!
-
-The file-organized folder file cannot be created for the indicated reason.
-In common cases, the operating system does not grant you write access to
-the directory where the folder file should be stored.
-
-I<Error:> Cannot get a lock on $type folder $self.
-
-A lock is required to get access to the folder.  If no locking is needed,
-specify the NONE lock type.
-
-I<Error:> Cannot move away sub-folder $dir
-
-
-I<Warning:> Cannot remove folder $name file $filename: $!
-
-Writing an empty folder will usually cause that folder to be removed,
-which fails for the indicated reason.  L<new(remove_when_empty)|Mail::Box/"Constructors">
-
-I<Warning:> Cannot remove folder $name file $filename: $!
-
-Writing an empty folder will usually cause that folder to be removed,
-which fails for the indicated reason.  L<new(remove_when_empty)|Mail::Box/"Constructors">
-controls whether the empty folder will removed; setting it to false
-(C<0>) may be needed to avoid this message.
-
-I<Error:> Cannot replace $filename by $tempname, to update folder $name: $!
-
-The replace policy wrote a new folder file to update the existing, but
-was unable to give the final touch: replacing the old version of the
-folder file for the indicated reason.
-
-I<Warning:> Changes not written to read-only folder $self.
-
-You have opened the folder read-only --which is the default set
-by L<new(access)|Mail::Box/"Constructors">--, made modifications, and now want to close it.
-Set L<close(force)|Mail::Box/"The folder"> if you want to overrule the access mode, or close
-the folder with L<close(write)|Mail::Box/"The folder"> set to C<NEVER>.
-
-I<Error:> Copying failed for one message.
-
-For some reason, for instance disc full, removed by external process, or
-read-protection, it is impossible to copy one of the messages.  Copying will
-proceed for the other messages.
-
-I<Error:> Destination folder $name is not writable.
-
-The folder where the messages are copied to is not opened with write
-access (see L<new(access)|Mail::Box/"Constructors">).  This has no relation with write permission
-to the folder which is controled by your operating system.
-
-I<Warning:> Different messages with id $msgid
-
-The message id is discovered more than once within the same folder, but the
-content of the message seems to be different.  This should not be possible:
-each message must be unique.
-
-I<Error:> File too short to get write message $nr ($size, $need)
-
-Mail::Box is lazy: it tries to leave messages in the folders until they
-are used, which saves time and memory usage.  When this message appears,
-something is terribly wrong: some lazy message are needed for updating the
-folder, but they cannot be retreived from the original file anymore.  In
-this case, messages can be lost.
-
-This message does appear regularly on Windows systems when using the
-'replace' write policy.  Please help to find the cause, probably something
-to do with Windows incorrectly handling multiple filehandles open in the
-same file.
-
-I<Warning:> Folder $name file $filename is write-protected.
-
-The folder is opened writable or for appending via L<new(access)|Mail::Box/"Constructors">,
-but the operating system does not permit writing to the file.  The folder
-will be opened read-only.
-
-I<Error:> Folder $name not deleted: not writable.
-
-The folder must be opened with write access via L<new(access)|Mail::Box/"Constructors">, otherwise
-removing it will be refused.  So, you may have write-access according to
-the operating system, but that will not automatically mean that this
-C<delete> method permits you to.  The reverse remark is valid as well.
-
-I<Error:> Invalid timespan '$timespan' specified.
-
-The string does not follow the strict rules of the time span syntax which
-is permitted as parameter.
-
-I<Warning:> Message-id '$msgid' does not contain a domain.
-
-According to the RFCs, message-ids need to contain a unique random part,
-then an C<@>, and then a domain name.  This is made to avoid the creation
-of two messages with the same id.  The warning emerges when the C<@> is
-missing from the string.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unable to create subfolder $name of $folder.
-
-The copy includes the subfolders, but for some reason it was not possible
-to copy one of these.  Copying will proceed for all other sub-folders.
-
-I<Error:> Unable to update folder $self.
-
-When a folder is to be written, both replace and inplace write policies are
-tried,  If both fail, the whole update fails.  You may see other, related,
-error messages to indicate the real problem.
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/File.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/File.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4/Head.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/IMAP4/Head.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4/Head.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,62 +0,0 @@
-
-use strict;
-
-package Mail::Box::IMAP4::Head;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Head';
-
-use Date::Parse;
-
-
-sub init($$)
-{   my ($self, $args) = @_;
-    $self->SUPER::init($args);
-
-    $self->{MBIH_c_fields} = $args->{cache_fields};
-    $self;
-}
-
-#------------------------------------------
-
-
-sub get($;$)
-{   my ($self, $name, $index) = @_;
-
-       if(not $self->{MBIH_c_fields}) { ; }
-    elsif(wantarray)
-    {   my @values = $self->SUPER::get(@_);
-        return @values if @values;
-    }
-    else
-    {   my $value  = $self->SUPER::get(@_);
-        return $value  if defined $value;
-    }
-
-    # Something here, playing with ENVELOPE, may improve the performance
-    # as well.
-    my $imap   = $self->folder->transporter;
-
-    my @fields = $imap->getFields($name);
-
-    if(@fields && $self->{MBIH_c_fields})
-    {   $self->addNoRealize($_) for @fields
-    }
-
-      defined $index ? $fields[$index]
-    : wantarray      ? @fields
-    :                  $fields[0];
-}
-
-#------------------------------------------
-
-sub guessBodySize() {undef}
-
-#-------------------------------------------
-
-sub guessTimestamp() {undef}
-
-#------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4/Head.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/IMAP4/Head.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4/Head.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/IMAP4/Head.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4/Head.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,414 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::IMAP4::Head - header fields related IMAP interface
-
-
-=head1 INHERITANCE
-
- Mail::Box::IMAP4::Head
-   is a Mail::Message::Head
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
-
-
-=head1 DESCRIPTION
-
-This class implements a pure IMAP4 protocol interface, where as few
-data is retreived from the header as possible.  This may look nice
-to you, but is not sufficient for many tasks.  For instance, you cannot
-removed or modify fields this way.
-
-Change L<Mail::Box::IMAP4::new(cache_head)|Mail::Box::IMAP4/"METHODS"> to C<YES> or C<DELAY>, to
-get a message header which is capable of performing all possible
-games with headers.  On the other hand: the other settings are not
-100% safe...
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Message::Head/"OVERLOADED">
-
-=back
-
-overload: B<bool>
-
-=over 4
-
-See L<Mail::Message::Head/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<build>([PAIR|FIELD]-LIST)
-
-=over 4
-
-See L<Mail::Message::Head/"Constructors">
-
-=back
-
-Mail::Box::IMAP4::Head-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option        Defined in       Default                                                 
- cache_fields                   C<false>                                                
- field_type    L<Mail::Message::Head>  L<Mail::Message::Field::Fast|Mail::Message::Field::Fast>
- log           L<Mail::Reporter>  C<'WARNINGS'>                                           
- message       L<Mail::Message::Head>  undef                                                   
- modified      L<Mail::Message::Head>  <false>                                                 
- trace         L<Mail::Reporter>  C<'WARNINGS'>                                           
-
-. cache_fields BOOLEAN
-
-=over 4
-
-This is only a read-cache on fields, because this kind of header does
-not allow writing of fields.  See L<Mail::Box::IMAP4::new(cache_head)|Mail::Box::IMAP4/"METHODS">,
-this value is set to C<false> for C<NO> and C<true> for C<PARTIAL>..
-
-=back
-
-. field_type CLASS
-
-. log LEVEL
-
-. message MESSAGE
-
-. modified BOOLEAN
-
-. trace LEVEL
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<isEmpty>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<knownNames>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<message>([MESSAGE])
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<orderedFields>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-=head2 Access to the header
-
-
-$obj-E<gt>B<get>(NAME [,INDEX])
-
-=over 4
-
-Get the information about the header line NAME.  Realization will
-take place.
-
-=back
-
-$obj-E<gt>B<study>(NAME [,INDEX])
-
-=over 4
-
-See L<Mail::Message::Head/"Access to the header">
-
-=back
-
-=head2 About the body
-
-
-$obj-E<gt>B<guessBodySize>
-
-=over 4
-
-See L<Mail::Message::Head/"About the body">
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-See L<Mail::Message::Head/"About the body">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<addNoRealize>(FIELD)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<addOrderedFields>(FIELDS)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<fileLocation>
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<load>
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<moveLocation>(DISTANCE)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<read>(PARSER)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<setNoRealize>(FIELD)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::IMAP4::Head-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::IMAP4::Head-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::IMAP4::Head-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4/Head.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/IMAP4/Head.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4/Message.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/IMAP4/Message.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4/Message.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,180 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Box::IMAP4::Message;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::Net::Message';
-
-use Date::Parse 'str2time';
-
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    $self->SUPER::init($args);
-
-    $self->{MBIM_write_labels}
-       = exists $args->{write_labels} ? $args->{write_labels} : 1;
-
-    $self->{MBIM_cache_labels} = $args->{cache_labels};
-    $self->{MBIM_cache_head}   = $args->{cache_head};
-    $self->{MBIM_cache_body}   = $args->{cache_body};
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub size($)
-{   my $self = shift;
-    
-    return $self->SUPER::size
-        unless $self->isDelayed;
-
-    $self->fetch('RFC822.SIZE');
-}
-
-#------------------------------------------
-
-sub recvstamp()
-{   my $date = shift->fetch('INTERNALDATE');
-    defined $date ? str2time($date) : undef;
-}
-
-#-------------------------------------------
-
-
-sub label(@)
-{   my $self = shift;
-    my $imap = $self->folder->transporter or return;
-    my $id   = $self->unique;
-
-    if(@_ == 1)
-    {   # get one value only
-        my $label  = shift;
-        my $labels = $self->{MM_labels};
-	return $labels->{$label}
-	   if exists $labels->{$label} || exists $labels->{seen};
-
-	my $flags = $imap->getFlags($id);
-        if($self->{MBIM_cache_labels})
-	{   # the program may have added own labels
-            @{$labels}{keys %$flags} = values %$flags;
-            delete $self->{MBIM_labels_changed};
-	}
-	return $flags->{$label};
-    }
-
-    my @private;
-    if($self->{MBIM_write_labels})
-    {    @private = $imap->setFlags($id, @_);
-         delete $self->{MBIM_labels_changed};
-    }
-    else
-    {    @private = @_;
-    }
-
-    my $labels  = $self->{MM_labels};
-    my @keep    = $self->{MBIM_cache_labels} ? @_ : @private;
-
-    while(@keep)
-    {   my ($k, $v) = (shift @keep, shift @keep);
-        next if defined $labels->{$k} && $labels->{$k} eq $v;
-
-        $self->{MBIM_labels_changed}++;
-        $labels->{$k} = $v;
-    }
-    $self->modified(1) if @private && $self->{MBIM_labels_changed};
- 
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub labels()
-{   my $self   = shift;
-    my $labels = $self->SUPER::labels;
-    $labels    = { %$labels } unless $self->{MBIM_cache_labels};
-
-    unless(exists $labels->{seen})
-    {   my $imap = $self->folder->transporter or return;
-        my $flags = $imap->getFlags($self->unique);
-        @{$labels}{keys %$flags} = values %$flags;
-    }
-
-    $labels;
-}
-
-#-------------------------------------------
-
-
-sub loadHead()
-{   my $self     = shift;
-    my $head     = $self->head;
-    return $head unless $head->isDelayed;
-
-    $head         = $self->folder->getHead($self);
-    $self->head($head) if $self->{MBIM_cache_head};
-    $head;
-}
-
-#-------------------------------------------
-
-sub loadBody()
-{   my $self     = shift;
-
-    my $body     = $self->body;
-    return $body unless $body->isDelayed;
-
-    (my $head, $body) = $self->folder->getHeadAndBody($self);
-    return undef unless defined $head;
-
-    $self->head($head)      if $self->{MBIM_cache_head} && $head->isDelayed;
-    $self->storeBody($body) if $self->{MBIM_cache_body};
-    $body;
-}
-
-#-------------------------------------------
-
-
-sub fetch(@)
-{   my ($self, @info) = @_;
-    my $folder = $self->folder;
-    my $answer = ($folder->fetch( [$self], @info))[0];
-
-    @info==1 ? $answer->{$info[0]} : @{$answer}{@info};
-}
-
-#-------------------------------------------
-
-
-sub writeDelayed($$)
-{   my ($self, $foldername, $imap) = @_;
-
-    my $id     = $self->unique;
-    my $labels = $self->labels;
-
-    if($self->head->modified || $self->body->modified || !$id)
-    {
-        $imap->appendMessage($self, $foldername);
-        if($id)
-        {   $self->delete;
-            $self->unique(undef);
-        }
-    }
-    elsif($self->{MBIM_labels_changed})
-    {   $imap->setFlags($id, %$labels);  # non-IMAP4 labels disappear
-        delete $self->{MBIM_labels_changed};
-    }
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4/Message.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/IMAP4/Message.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4/Message.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/IMAP4/Message.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4/Message.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,1071 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::IMAP4::Message - one message on a IMAP4 server
-
-
-=head1 INHERITANCE
-
- Mail::Box::IMAP4::Message
-   is a Mail::Box::Net::Message
-   is a Mail::Box::Message
-   is a Mail::Message
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my $folder = new Mail::Box::IMAP4 ...
- my $message = $folder->message(10);
-
-
-=head1 DESCRIPTION
-
-A C<Mail::Box::IMAP4::Message> represents one message on a IMAP4 server,
-maintained by a L<Mail::Box::IMAP4|Mail::Box::IMAP4> folder. Each message is stored as
-separate entity on the server, and maybe temporarily in your program
-as well.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"Constructors">
-
-=back
-
-Mail::Box::IMAP4::Message-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option        Defined in       Default                                                       
- body          L<Mail::Message>  undef                                                         
- body_type     L<Mail::Box::Message>  L<Mail::Message::Body::Lines|Mail::Message::Body::Lines>      
- cache_body                     <false>                                                       
- cache_head                     <false>                                                       
- cache_labels                   <false>                                                       
- deleted       L<Mail::Message>  <false>                                                       
- field_type    L<Mail::Message>  undef                                                         
- folder        L<Mail::Box::Message>  <required>                                                    
- head          L<Mail::Message>  undef                                                         
- head_type     L<Mail::Message>  L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>
- labels        L<Mail::Message>  {}                                                            
- log           L<Mail::Reporter>  C<'WARNINGS'>                                                 
- messageId     L<Mail::Message>  undef                                                         
- modified      L<Mail::Message>  <false>                                                       
- size          L<Mail::Box::Message>  undef                                                         
- trace         L<Mail::Reporter>  C<'WARNINGS'>                                                 
- trusted       L<Mail::Message>  <false>                                                       
- unique        L<Mail::Box::Net::Message>  <unique string>                                               
- write_labels                   <true>                                                        
-
-. body OBJECT
-
-. body_type CODE|CLASS
-
-. cache_body BOOLEAN
-
-. cache_head BOOLEAN
-
-. cache_labels BOOLEAN
-
-=over 4
-
-All standard IMAP labels can be cached on the local server to improve
-speed.  This has the same dangers as setting C<write_labels> to false.
-The caching starts when the first label of the message was read.
-
-=back
-
-. deleted BOOLEAN
-
-. field_type CLASS
-
-. folder FOLDER
-
-. head OBJECT
-
-. head_type CLASS
-
-. labels ARRAY|HASH
-
-. log LEVEL
-
-. messageId STRING
-
-. modified BOOLEAN
-
-. size INTEGER
-
-. trace LEVEL
-
-. trusted BOOLEAN
-
-. unique STRING
-
-. write_labels BOOLEAN
-
-=over 4
-
-When a label is changed or its value read, using L<label()|Mail::Box::IMAP4::Message/"METHODS">, that info
-should be sent to the IMAP server.  But, this action could be superfluous,
-for instance because the label was already set or clear, and communication
-is expensive.  On the other hand, someone else may use IMAP to make
-changes in the same folder, and will get the updates too late or never...
-
-=back
-
-=back
-
-=head2 Constructing a message
-
-
-$obj-E<gt>B<bounce>([RG-OBJECT|OPTIONS])
-
-=over 4
-
-See L<Mail::Message::Construct::Bounce/"Constructing a message">
-
-=back
-
-Mail::Box::IMAP4::Message-E<gt>B<build>([MESSAGE|PART|BODY], CONTENT)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-Mail::Box::IMAP4::Message-E<gt>B<buildFromBody>(BODY, [HEAD], HEADERS)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forward>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardAttach>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardEncapsulate>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardInline>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardNo>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPostlude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPrelude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardSubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-Mail::Box::IMAP4::Message-E<gt>B<read>(FILEHANDLE|SCALAR|REF-SCALAR|ARRAY-OF-LINES, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Read/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<rebuild>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<reply>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replyPrelude>([STRING|FIELD|ADDRESS|ARRAY-OF-THINGS])
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replySubject>(STRING)
-
-Mail::Box::IMAP4::Message-E<gt>B<replySubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-=head2 The message
-
-
-$obj-E<gt>B<container>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<copyTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<folder>([FOLDER])
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isDummy>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isPart>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<messageId>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<moveTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<send>([MAILER], OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<seqnr>([INTEGER])
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-Returns the size of this message.  If the message is still on the remote
-server, IMAP is used to ask for the size.  When the message is already loaded
-onto the local system, the size of the parsed message is taken.  These
-sizes can differ because the difference in line-ending representation.
-
-=back
-
-$obj-E<gt>B<toplevel>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<unique>([STRING|undef])
-
-=over 4
-
-See L<Mail::Box::Net::Message/"The message">
-
-=back
-
-$obj-E<gt>B<write>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<bcc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<cc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<date>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<destinations>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<from>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<get>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<guessTimestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<head>([HEAD])
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<sender>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<study>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<subject>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<timestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<to>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-=head2 The body
-
-
-$obj-E<gt>B<body>([BODY])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<decoded>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<encode>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isNested>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<parts>(['ALL'|'ACTIVE'|'DELETED'|'RECURSE'|FILTER])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-=head2 Flags
-
-
-$obj-E<gt>B<delete>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<deleted>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isDeleted>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<label>(LABEL|PAIRS)
-
-=over 4
-
-With only one argument, the value related to LABEL is returned.  With
-more that one argument, the list is interpreted a label-value PAIRS
-to be set.
-
-The IMAP protocol defines its own names for the labels, which must
-be set imediately to inform other IMAP clients which may have the
-same folder open. But that can be changed with L<new(write_labels)|Mail::Box::IMAP4::Message/"METHODS">.
-Some labels are translated to the corresponding IMAP system labels. 
-
-=back
-
-$obj-E<gt>B<labels>
-
-=over 4
-
-Get the names of all labels (LIST context, not efficient in IMAP4), or
-a reference to a hash with labels.  You should only use the returned
-hash to read the labels, because changes made to it will not be passed
-to the remote server.  See L<labels()|Mail::Box::IMAP4::Message/"METHODS"> to set values.
-
-=back
-
-$obj-E<gt>B<labelsToStatus>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<statusToLabels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-=head2 The whole message as text
-
-
-$obj-E<gt>B<file>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<lines>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<printStructure>([FILEHANDLE|undef],[INDENT])
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<clonedFrom>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-Mail::Box::IMAP4::Message-E<gt>B<coerce>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<diskDelete>
-
-=over 4
-
-See L<Mail::Box::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<fetch>([INFO, ...])
-
-=over 4
-
-Use the IMAP's C<UID FETCH IMAP> command to get some data about this
-message.  The INFO request is passed to L<Mail::Box::IMAP4::fetch()|Mail::Box::IMAP4/"Internals">.
-Without INFO, C<ALL> information is retreived and returned as a HASH.
-
-=back
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<loadBody>
-
-=over 4
-
-See L<Mail::Box::Net::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readBody>(PARSER, HEAD [, BODYTYPE])
-
-=over 4
-
-See L<Mail::Box::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readFromParser>(PARSER, [BODYTYPE])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readHead>(PARSER [,CLASS])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<recursiveRebuildPart>(PART, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Internals">
-
-=back
-
-$obj-E<gt>B<storeBody>(BODY)
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<takeMessageId>([STRING])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<writeDelayed>(IMAP)
-
-=over 4
-
-Write all delayed information, like label changes, to the server.  This
-is done under force, so should even be done for folders opened without
-write-access. This method is called indirectly by a L<Mail::Box::write()|Mail::Box/"Internals">
-or L<Mail::Box::close()|Mail::Box/"The folder">.
-
-The IMAP argument is a Mail::IMAPClient which has the right folder
-already selected.
-
-Writing changes to the remote folder is not without hassle: IMAP4
-(or is it only L<Mail::IMAPClient> doesn't support replacing header
-or body.  Therefore, when either of them change, the whole message is
-rewritten to the server (which is supported), and the original flagged
-for deletion.
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Message::Construct/"METHODS">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::IMAP4::Message-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::IMAP4::Message-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::IMAP4::Message-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortSize>([VALUE])
-
-Mail::Box::IMAP4::Message-E<gt>B<shortSize>([VALUE])
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortString>
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<destruct>
-
-=over 4
-
-See L<Mail::Box::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot include forward source as $include.
-
-Unknown alternative for the L<forward(include)|Mail::Message::Construct::Forward/"Constructing a message">.  Valid choices are
-C<NO>, C<INLINE>, C<ATTACH>, and C<ENCAPSULATE>.
-
-I<Error:> Cannot include reply source as $include.
-
-Unknown alternative for the C<include> option of L<reply()|Mail::Message::Construct::Reply/"Constructing a message">.  Valid
-choices are C<NO>, C<INLINE>, and C<ATTACH>.
-
-I<Error:> No address to create forwarded to.
-
-If a forward message is created, a destination address must be specified.
-
-I<Error:> No default mailer found to send message.
-
-The message L<send()|Mail::Message/"The message"> mechanism had not enough information to automatically
-find a mail transfer agent to sent this message.  Specify a mailer
-explicitly using the C<via> options.
-
-I<Error:> Only build() Mail::Message's; they are not in a folder yet
-
-You may wish to construct a message to be stored in a some kind
-of folder, but you need to do that in two steps.  First, create a
-normal L<Mail::Message|Mail::Message>, and then add it to the folder.  During this
-L<Mail::Box::addMessage()|Mail::Box/"The folder"> process, the message will get L<coerce()|Mail::Message/"Internals">-d
-into the right message type, adding storage information and the like.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unable to read delayed body.
-
-
-I<Error:> Unable to read delayed head.
-
-
-I<Error:> bounce requires To, Cc, or Bcc
-
-The message L<bounce()|Mail::Message::Construct::Bounce/"Constructing a message"> method forwards a received message off to someone
-else without modification; you must specified it's new destination.
-If you have the urge not to specify any destination, you probably
-are looking for L<reply()|Mail::Message::Construct::Reply/"Constructing a message">. When you wish to modify the content, use
-L<forward()|Mail::Message::Construct::Forward/"Constructing a message">.
-
-I<Error:> forwardAttach requires a preamble object
-
-
-I<Error:> forwardEncapsulate requires a preamble object
-
-
-I<Error:> no rebuild rule $name defined.
-
-
-
-=head1 DETAILS
-
-
-=head2 Labels
-
-
-=head3 IMAP protocol flags
-
-Labels (or flags) are known to all folder formats, but differ how they
-are stored.  Some folder types use message header lines to keep the
-labels, other use a seperate file.  The IMAP protocol does not specify
-how the labels are kept on the server, but does specify how they are named.
-
-The label names as defined by the IMAP protocol are standardized into
-the MailBox standard to hide folder differences.  The following translations
-are always performed:
-
- \Seen     => seen
- \Answered => replied
- \Flagged  => flagged
- \Deleted  => deleted
- \Draft    => draft
- \Recent   => NOT old
-
-I<Example:> of label translations
-
-
- $imap->message(3)->label(replied => 1, draft => 0);
-
-will result in a IMAP protocol statements like
-
- A003 STORE 4 +FLAGS (\Answered)
- A003 STORE 4 -FLAGS (\Draft)
-
-=head3 Other labels
-
-Of course, your program may be in need for more labels than those provided
-by the protocol.  You can still use these: they stay locally (and are
-lost when the folder is closed).  Some IMAP4 extensions permit more labels
-than the basic RFC, but that is not yet supported by this implementation.
-
-=head3 Caching labels
-
-When you ask for one or more flags of a message more than once, you may
-improve the overall performance by setting L<new(cache_labels)|Mail::Box::IMAP4::Message/"METHODS"> to C<YES>.
-However, this may cause inconsistencies when multiple clients use the
-same folder on the IMAP server.
-
-You may also delay the label updates to the server until the
-folder is closed (or for ever when read-only is required).  When
-L<Mail::Box::write()|Mail::Box/"Internals"> or L<Mail::Box::close()|Mail::Box/"The folder"> is called, it is decided
-whether to throw all changes away or write after all.
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4/Message.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/IMAP4/Message.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/IMAP4.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,325 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Box::IMAP4;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::Net';
-
-use Mail::Box::IMAP4::Message;
-use Mail::Box::IMAP4::Head;
-use Mail::Transport::IMAP4;
-
-use Mail::Box::Parser::Perl;
-use Mail::Message::Head::Complete;
-use Mail::Message::Head::Delayed;
-
-use Scalar::Util 'weaken';
-
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    # Need some prediction for correct defaults
-    my $access    = $args->{access} ||= 'r';
-    my $writeable = $access =~ m/w|a/;
-    my $ch        = $self->{MBI_c_head}
-      = $args->{cache_head} || ($writeable ? 'NO' : 'DELAY');
-
-    $args->{head_type} ||= 'Mail::Box::IMAP4::Head'
-       if $ch eq 'NO' || $ch eq 'PARTIAL';
-
-    $args->{body_type}  ||= 'Mail::Message::Body::Lines';
-
-    $self->SUPER::init($args);
-
-    $self->{MBI_domain}   = $args->{domain};
-    $self->{MBI_c_labels} = $args->{cache_labels}
-                         || ($writeable  ? 'NO' : 'DELAY');
-    $self->{MBI_c_body}   = $args->{cache_body}
-                         || ($writeable ? 'NO' : 'DELAY');
-
-
-    my $transport = $args->{transporter} || 'Mail::Transport::IMAP4';
-    unless(ref $transport)
-    {   $transport = $self->createTransporter($transport, %$args)
-	    or return undef;
-    }
-
-    $self->transporter($transport);
-    $self;
-}
-
-#-------------------------------------------
-
-sub create($@)
-{   my ($class, %args) =  @_;
-    $class->log(INTERNAL => "Folder creation for IMAP4 not implemented yet");
-    undef;
-}
-
-#-------------------------------------------
-
-sub foundIn(@)
-{   my $self = shift;
-    unshift @_, 'folder' if @_ % 2;
-    my %options = @_;
-
-       (exists $options{type}   && $options{type}   =~ m/^imap/i)
-    || (exists $options{folder} && $options{folder} =~ m/^imap/);
-}
-
-#-------------------------------------------
-
-sub type() {'imap4'}
-
-#-------------------------------------------
-
-
-sub close(@)
-{   my $self = shift;
-    $self->SUPER::close(@_) or return ();
-    $self->transporter(undef);
-    $self;
-}
-
-#-------------------------------------------
-
-sub listSubFolders(@)
-{   my ($thing, %args) = @_;
-    my $self = $thing;
-
-    $self = $thing->new(%args) or return ()  # list toplevel
-        unless ref $thing;
-
-    my $imap = $self->transporter;
-    defined $imap ? $imap->folders($self) : ();
-}
-
-#-------------------------------------------
-
-sub nameOfSubfolder($;$) { $_[1] }
-
-#-------------------------------------------
-
-
-sub readMessages(@)
-{   my ($self, %args) = @_;
-
-    my $name  = $self->name;
-    return $self if $name eq '/';
-
-    my $imap  = $self->transporter;
-    my @log   = $self->logSettings;
-    my $seqnr = 0;
-
-    my $cl    = $self->{MBI_c_labels} ne 'NO';
-    my $wl    = $self->{MBI_c_labels} ne 'DELAY';
-
-    my $ch    = $self->{MBI_c_head};
-    my $ht    = $ch eq 'DELAY' ? $args{head_delayed_type} : $args{head_type};
-    my @ho    = $ch eq 'PARTIAL' ? (cache_fields => 1) : ();
-
-    foreach my $id ($imap->ids)
-    {   my $head    = $ht->new(@log, @ho);
-        my $message = $args{message_type}->new
-         ( head      => $head
-         , unique    => $id
-         , folder    => $self
-         , seqnr     => $seqnr++
-
-	 , cache_labels => $cl
-	 , write_labels => $wl
-         , cache_head   => ($ch eq 'DELAY')
-         , cache_body   => ($ch ne 'NO')
-         );
-
-        my $body    = $args{body_delayed_type}
-           ->new(@log, message => $message);
-
-        $message->storeBody($body);
-
-        $self->storeMessage($message);
-    }
-
-    $self;
-}
- 
-#-------------------------------------------
-
-
-sub getHead($)
-{   my ($self, $message) = @_;
-    my $imap   = $self->transporter or return;
-
-    my $uidl   = $message->unique;
-    my @fields = $imap->getFields($uidl, 'ALL');
-
-    unless(@fields)
-    {   $self->log(WARNING => "Message $uidl disappeared from $self.");
-        return;
-    }
-
-    my $head = $self->{MB_head_type}->new;
-    $head->addNoRealize($_) for @fields;
-
-    $self->log(PROGRESS => "Loaded head of $uidl.");
-    $head;
-}
-
-#-------------------------------------------
-
-
-sub getHeadAndBody($)
-{   my ($self, $message) = @_;
-    my $imap  = $self->transporter or return;
-    my $uid   = $message->unique;
-    my $lines = $imap->getMessageAsString($uid);
-
-    unless(defined $lines)
-    {   $self->log(WARNING => "Message $uid disappeared from $self.");
-        return ();
-     }
-
-    my $parser = Mail::Box::Parser::Perl->new   # not parseable by C parser
-     ( filename  => "$imap"
-     , file      => Mail::Box::FastScalar->new(\$lines)
-     );
-
-    my $head = $message->readHead($parser);
-    unless(defined $head)
-    {   $self->log(WARNING => "Cannot find head back for $uid in $self.");
-        $parser->stop;
-        return ();
-    }
-
-    my $body = $message->readBody($parser, $head);
-    unless(defined $body)
-    {   $self->log(WARNING => "Cannot read body for $uid in $self.");
-        $parser->stop;
-        return ();
-    }
-
-    $parser->stop;
-
-    $self->log(PROGRESS => "Loaded message $uid.");
-    ($head, $body->contentInfoFrom($head));
-}
-
-#-------------------------------------------
-
-
-sub body(;$)
-{   my $self = shift;
-    unless(@_)
-    {   my $body = $self->{MBI_cache_body} ? $self->SUPER::body : undef;
-    }
-
-    $self->unique();
-    $self->SUPER::body(@_);
-}
-
-#-------------------------------------------
-
-
-
-sub write(@)
-{   my ($self, %args) = @_;
-    my $imap  = $self->transporter or return;
-
-    $self->SUPER::write(%args, transporter => $imap) or return;
-
-    if($args{save_deleted})
-    {   $self->log(NOTICE => "Impossible to keep deleted messages in IMAP")
-    }
-    else { $imap->destroyDeleted }
-
-    $self;
-}
-
-#-------------------------------------------
-
-sub delete(@)
-{   my $self   = shift;
-    my $transp = $self->transporter;
-    $self->SUPER::delete(@_);   # subfolders
-    $transp->deleteFolder($self->name);
-}
-
-#-------------------------------------------
-
-
-sub writeMessages($@)
-{   my ($self, $args) = @_;
-
-    my $imap = $args->{transporter};
-    my $fn   = $self->name;
-
-    $_->writeDelayed($fn, $imap) for @{$args->{messages}};
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-my %transporters;
-sub createTransporter($@)
-{   my ($self, $class, %args) = @_;
-
-    my $hostname = $self->{MBN_hostname} || 'localhost';
-    my $port     = $self->{MBN_port}     || '143';
-    my $username = $self->{MBN_username} || $ENV{USER};
-
-    my $join     = exists $args{join_connection} ? $args{join_connection} : 1;
-
-    my $linkid;
-    if($join)
-    {   $linkid  = "$hostname:$port:$username";
-        return $transporters{$linkid} if defined $transporters{$linkid};
-    }
-
-    my $transporter = $class->new
-     ( %args,
-     , hostname => $hostname, port     => $port
-     , username => $username, password => $self->{MBN_password}
-     , domain   => $self->{MBI_domain}
-     ) or return undef;
-
-    if(defined $linkid)
-    {   $transporters{$linkid} = $transporter;
-        weaken($transporters{$linkid});
-    }
-
-    $transporter;
-}
-
-#-------------------------------------------
-
-
-sub transporter(;$)
-{   my $self = shift;
-    my $imap = @_ ? ($self->{MBI_transport} = shift) : $self->{MBI_transport};
-    return unless defined $imap;
-
-    my $name = $self->name;
-    $imap->folder($name) unless $name eq '/';
-
-    $imap;
-}
-
-#-------------------------------------------
-
-
-sub fetch($@)
-{   my ($self, $what, @info) = @_;
-    my $imap = $self->transporter or return [];
-    $what = $self->messages($what) unless ref $what eq 'ARRAY';
-    $imap->fetch($what, @info);
-}
-
-#-------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/IMAP4.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/IMAP4.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,1026 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::IMAP4 - handle IMAP4 folders as client
-
-
-=head1 INHERITANCE
-
- Mail::Box::IMAP4
-   is a Mail::Box::Net
-   is a Mail::Box
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- use Mail::Box::IMAP4;
- my $folder = new Mail::Box::IMAP4 folder => $ENV{MAIL}, ...;
-
-
-=head1 DESCRIPTION
-
-Maintain a folder which has its messages stored on a remote server.  The
-communication between the client application and the server is implemented
-using the IMAP4 protocol.  See also L<Mail::Server::IMAP4|Mail::Server::IMAP4>.
-
-This class uses L<Mail::Transport::IMAP4|Mail::Transport::IMAP4> to hide the transport of
-information, and focusses solely on the correct handling of messages
-within a IMAP4 folder.  More than one IMAP4 folder can be handled by
-one single IMAP4 connection.
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-overload: B<@{}>
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-overload: B<cmp>
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::IMAP4-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-The C<new> can have many OPTIONS.  Not only the ones listed here below,
-but also all the OPTIONS for L<Mail::Transport::IMAP4::new()|Mail::Transport::IMAP4/"METHODS"> can be
-passed.
-
-The default depends on the value of L<new(cache_head)|Mail::Box::IMAP4/"METHODS">.
-
-Without folder name, no folder is selected.  Only few methods are
-available now, for instance L<listSubFolders()|Mail::Box/"Sub-folders"> to get the top-level
-folder names.  Usually, the folder named C<INBOX> will be present.
-
- Option             Defined in       Default                                                                                                           
- access             L<Mail::Box>     'r'                                                                                                               
- body_delayed_type  L<Mail::Box>     L<Mail::Message::Body::Delayed|Mail::Message::Body::Delayed>                                                      
- body_type          L<Mail::Box>     L<Mail::Message::Body::Lines|Mail::Message::Body::Lines>                                                          
- cache_body                          C<NO>                                                                                                             
- cache_head                          C<NO> or C<DELAY>                                                                                                 
- cache_labels                        C<NO> or C<DELAY>                                                                                                 
- coerce_options     L<Mail::Box>     C<[]>                                                                                                             
- create             L<Mail::Box>     <false>                                                                                                           
- extract            L<Mail::Box>     C<10240>                                                                                                          
- field_type         L<Mail::Box>     undef                                                                                                             
- fix_headers        L<Mail::Box>     <false>                                                                                                           
- folder             L<Mail::Box>     C</>                                                                                                              
- folderdir          L<Mail::Box>     <not used>                                                                                                        
- head_delayed_type  L<Mail::Box>     L<Mail::Message::Head::Delayed|Mail::Message::Head::Delayed>                                                      
- head_type          L<Mail::Box>     L<Mail::Box::IMAP4::Head|Mail::Box::IMAP4::Head> or L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>
- join_connection                     C<true>                                                                                                           
- keep_dups          L<Mail::Box>     <false>                                                                                                           
- lock_file          L<Mail::Box>     undef                                                                                                             
- lock_timeout       L<Mail::Box>     1 hour                                                                                                            
- lock_type          L<Mail::Box>     C<'NONE'>                                                                                                         
- lock_wait          L<Mail::Box>     10 seconds                                                                                                        
- locker             L<Mail::Box>     undef                                                                                                             
- log                L<Mail::Reporter>  C<'WARNINGS'>                                                                                                     
- manager            L<Mail::Box>     undef                                                                                                             
- message_type       L<Mail::Box>     L<Mail::Box::IMAP4::Message|Mail::Box::IMAP4::Message>                                                            
- multipart_type     L<Mail::Box>     L<Mail::Message::Body::Multipart|Mail::Message::Body::Multipart>                                                  
- password           L<Mail::Box::Net>  undef                                                                                                             
- remove_when_empty  L<Mail::Box>     <false>                                                                                                           
- save_on_exit       L<Mail::Box>     <true>                                                                                                            
- server_name        L<Mail::Box::Net>  undef                                                                                                             
- server_port        L<Mail::Box::Net>  143                                                                                                               
- trace              L<Mail::Reporter>  C<'WARNINGS'>                                                                                                     
- transporter                         L<Mail::Transport::IMAP4|Mail::Transport::IMAP4>                                                                  
- trusted            L<Mail::Box>     <false>                                                                                                           
- username           L<Mail::Box::Net>  undef                                                                                                             
-
-. access MODE
-
-. body_delayed_type CLASS
-
-. body_type CLASS|CODE
-
-. cache_body 'NO'|'YES'|'DELAY'
-
-=over 4
-
-Body objects are immutable, but may still cached or not.  In common
-case, the body of a message is requested via L<Mail::Message::body()|Mail::Message/"The body">
-or L<Mail::Message::decoded()|Mail::Message/"The body">.  This returns a handle to a body object.
-You may decide wether that body object can be reused or not.  C<NO>
-means: retreive the data each time again, C<YES> will cache the body data,
-C<DELAY> will send the whole message when the folder is closed.
-
-        [local cache]  [write]
- NO         no           no
- YES        yes          no
- DELAY      yes          yes
-
-=back
-
-. cache_head 'NO'|'PARTIAL'|'DELAY'
-
-=over 4
-
-For a read-only folder, C<DELAY> is the default, otherwise C<NO> is
-choosen.  The four configuration parameter have subtile consequences.
-To start with a table:
-
-        [local cache]  [write]  [default head_type]
- NO         no           no     Mail::Box::IMAP4::Head
- PARTIAL    yes          no     Mail::Box::IMAP4::Head
- DELAY      yes          yes    Mail::Message::Head::Complete
-
-The default C<head_type> is L<Mail::Box::IMAP4::Head|Mail::Box::IMAP4::Head>, the
-default C<cached_head_type> is L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>.
-
-Having a local cache means that a lookup for a field is first done
-in a local data-structure (which extends L<Mail::Message::Head::Partial|Mail::Message::Head::Partial>),
-and only on the remote server if it was not found.  This is dangerous,
-because your locally cached data can be out-of-sync with the server.
-However, it may give you a nice performance benefit.
-
-C<DELAY> will always collect the whole
-header for you.  This is required when you want to look for Resent Groups
-(See L<Mail::Message::Head::ResentGroup|Mail::Message::Head::ResentGroup>) or other field order dependent
-header access.  A L<Mail::Message::Head::Delayed|Mail::Message::Head::Delayed> will be created first.
-
-=back
-
-. cache_labels 'NO'|'WRITE'|'DELAY'
-
-=over 4
-
-When labels from a message are received, these values can be kept. However,
-this imposes dangers where the server's internal label storage may get out
-of sync with your data.
-
-With C<NO>, no caching will take place (but the performance will be
-worse). With C<WRITE>, all label access will be cached, but written to
-the server as well.  Both C<NO> and C<WRITE> will update the labels on
-the served, even when the folder was opened read-only.  C<DELAY> will
-not write the changed information to the server, but delay that till
-the moment that the folder is closed.  It only works when the folder is
-opened read/write or write is enforced.
-
-The default is C<DELAY> for folders which where opened read-only.  This
-means that you still can force an update with L<close(write)|Mail::Box/"The folder">.  For folders
-which are opened read-write, the default is the safeset setting, which is
-C<NO>.
-
-=back
-
-. coerce_options ARRAY
-
-. create BOOLEAN
-
-. extract INTEGER | CODE | METHOD | 'LAZY'|'ALWAYS'
-
-. field_type CLASS
-
-. fix_headers BOOLEAN
-
-. folder FOLDERNAME
-
-. folderdir DIRECTORY
-
-. head_delayed_type CLASS
-
-. head_type CLASS
-
-. join_connection BOOLEAN
-
-=over 4
-
-Within this Mail::Box::IMAP4 class is registered which transporters are
-already in use, i.e. which connections to the IMAP server are already
-in established.  When this option is set, multiple folder openings on the
-same server will try to reuse one connection.
-
-=back
-
-. keep_dups BOOLEAN
-
-. lock_file FILENAME
-
-. lock_timeout SECONDS
-
-. lock_type CLASS|STRING|ARRAY
-
-. lock_wait SECONDS
-
-. locker OBJECT
-
-. log LEVEL
-
-. manager MANAGER
-
-. message_type CLASS
-
-. multipart_type CLASS
-
-. password STRING
-
-. remove_when_empty BOOLEAN
-
-. save_on_exit BOOLEAN
-
-. server_name HOSTNAME
-
-. server_port INTEGER
-
-. trace LEVEL
-
-. transporter OBJECT|CLASS
-
-=over 4
-
-The name of the CLASS which will interface with the connection.  When you
-implement your own extension to L<Mail::Transport::IMAP4|Mail::Transport::IMAP4>, you can either
-specify a fully instantiated transporter OBJECT, or the name of your own
-CLASS.  When an OBJECT is given, most other options will be ignored.
-
-=back
-
-. trusted BOOLEAN
-
-. username STRING
-
-I<Example:> 
-
- my $imap   = Mail::Box::IMAP4->new(username => 'myname',
-    password => 'mypassword', server_name => 'imap.xs4all.nl');
-
- my $url    = 'imap4://user:password@imap.xs4all.nl');
- my $imap   = $mgr->open($url);
-
- my $client = Mail::IMAPClient->new(...);
- my $imap   = Mail::Box::IMAP4->new(imap_client => $client);
-
-=back
-
-=head2 The folder
-
-
-$obj-E<gt>B<addMessage>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<addMessages>(MESSAGE [, MESSAGE, ...])
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-Mail::Box::IMAP4-E<gt>B<appendMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<close>(OPTIONS)
-
-=over 4
-
-Close the folder.  In the case of IMAP, more than one folder can use
-the same connection, therefore, closing a folder does not always close
-the connection to the server.  Only when no folder is using the
-connection anymore, a logout will be invoked by
-L<Mail::Transport::IMAP4::DESTROY()|Mail::Transport::IMAP4/"Cleanup">
-
- Option        Defined in       Default    
- force         L<Mail::Box>     <false>    
- save_deleted  L<Mail::Box>     C<false>   
- write         L<Mail::Box>     C<MODIFIED>
-
-. force BOOLEAN
-
-. save_deleted BOOLEAN
-
-. write 'ALWAYS'|'NEVER'|'MODIFIED'
-
-=back
-
-$obj-E<gt>B<copyTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<delete>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<folderdir>([DIRECTORY])
-
-=over 4
-
-See L<Mail::Box::Net/"METHODS">
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<organization>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<type>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<update>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<url>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-=head2 Folder flags
-
-
-$obj-E<gt>B<access>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<writable>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-=head2 The messages
-
-
-$obj-E<gt>B<current>([NUMBER|MESSAGE|MESSAGE-ID])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<find>(MESSAGE-ID)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<findFirstLabeled>(LABEL, [BOOLEAN, [ARRAY-OF-MSGS]])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<message>(INDEX [,MESSAGE])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messageId>(MESSAGE-ID [,MESSAGE])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messageIds>
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messages>(['ALL',RANGE,'ACTIVE','DELETED',LABEL,!LABEL,FILTER])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<nrMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<scanForMessages>(MESSAGE, MESSAGE-IDS, TIMESPAN, WINDOW)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-=head2 Sub-folders
-
-
-$obj-E<gt>B<listSubFolders>(OPTIONS)
-
-Mail::Box::IMAP4-E<gt>B<listSubFolders>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<nameOfSubFolder>(SUBNAME, [PARENTNAME])
-
-Mail::Box::IMAP4-E<gt>B<nameOfSubFolder>(SUBNAME, [PARENTNAME])
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<openRelatedFolder>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<openSubFolder>(SUBNAME, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<topFolderWithMessages>
-
-Mail::Box::IMAP4-E<gt>B<topFolderWithMessages>
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<body>([BODY])
-
-=over 4
-
-=back
-
-$obj-E<gt>B<coerce>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<create>(FOLDER, OPTIONS)
-
-Mail::Box::IMAP4-E<gt>B<create>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Net/"METHODS">
-
-=back
-
-$obj-E<gt>B<createTransporter>(CLASS, OPTIONS)
-
-=over 4
-
-Create a transporter object (an instance of L<Mail::Transport::IMAP4|Mail::Transport::IMAP4>), where
-CLASS defines the exact object type.  As OPTIONS, everything which is
-acceptable to a transporter initiation can be used (see
-L<Mail::Transport::IMAP4::new()|Mail::Transport::IMAP4/"METHODS">.
-
- Option           Defined in  Default
- join_connection              C<true>
-
-. join_connection BOOLEAN
-
-=over 4
-
-See L<new(join_connection)|Mail::Box::IMAP4/"METHODS">.  When false, the connection will never be shared
-with other IMAP mail boxes.
-
-=back
-
-=back
-
-$obj-E<gt>B<determineBodyType>(MESSAGE, HEAD)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<fetch>(ARRAY-OF-MESSAGES|MESSAGE-SELECTION, INFO)
-
-=over 4
-
-Low-level data retreival about one or more messages via IMAP4 from
-the remote server. Some of this data may differ from the information
-which is stored in the message objects which are created by MailBox,
-so you should avoid the use of this method for your own purposes.
-The IMAP implementation provides some wrappers around this, providing
-the correct behavior.
-
-An array of MESSAGES may be specified or some MESSAGE SELECTION,
-acceptable to L<Mail::Box::messages()|Mail::Box/"The messages">.  Examples of the latter are
-C<'ALL'>, C<'DELETED'>, or C<spam> (messages labelled to contain spam).
-
-The INFO contains one or more attributes as defined by the IMAP protocol.
-You have to read the full specs of the related RFCs to see these.
-
-=back
-
-Mail::Box::IMAP4-E<gt>B<foundIn>([FOLDERNAME], OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<getHead>(MESSAGE)
-
-=over 4
-
-Read the header for the specified message from the remote server.
-C<undef> is returned in case the message disappeared.
-
-=back
-
-$obj-E<gt>B<getHeadAndBody>(MESSAGE)
-
-=over 4
-
-Read all data for the specified message from the remote server.
-Return head and body of the mesasge as list, or an empty list
-if the MESSAGE disappeared from the server.
-
-=back
-
-$obj-E<gt>B<lineSeparator>([STRING|'CR'|'LF'|'CRLF'])
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<locker>
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<read>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<readMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<storeMessage>(MESSAGE)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<toBeThreaded>(MESSAGES)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<toBeUnthreaded>(MESSAGES)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<transporter>([OBJECT])
-
-=over 4
-
-Returns the object which is the interface to the IMAP4 protocol handler.
-The IMAP4 handler has the current folder selected.
-When an OBJECT is specified, it is set to be the transporter from
-that moment on.  The OBJECT must extend L<Mail::Transport::IMAP4|Mail::Transport::IMAP4>.
-
-=back
-
-$obj-E<gt>B<updateMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<write>(OPTIONS)
-
-=over 4
-
-The IMAP protocol usually writes the data immediately to the remote server,
-because that's what the protocol wants.  However, some options to L<new()|Mail::Box::IMAP4/"METHODS">
-may delay that to boost performance.  This method will, when the folder is
-being closed, write that info after all.
-
- Option        Defined in       Default
- force         L<Mail::Box>     <false>
- save_deleted                   <false>
-
-. force BOOLEAN
-
-. save_deleted BOOLEAN
-
-=over 4
-
-You may be able to save the messages which are flagged for deletion now,
-but they will be removed anyway when the folder is closed.
-
-=back
-
-=back
-
-$obj-E<gt>B<writeMessages>(OPTIONS)
-
-=over 4
-
- Option       Defined in       Default   
- messages     L<Mail::Box>     <required>
- transporter                   <required>
-
-. messages ARRAY
-
-. transporter OBJECT
-
-=back
-
-=head2 Other methods
-
-
-$obj-E<gt>B<timespan2seconds>(TIME)
-
-Mail::Box::IMAP4-E<gt>B<timespan2seconds>(TIME)
-
-=over 4
-
-See L<Mail::Box/"Other methods">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::IMAP4-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::IMAP4-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::IMAP4-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Box/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> Cannot find head back for $uidl in $folder.
-
-The header was read before, but now seems empty: the IMAP4 server does
-not produce the header lines anymore.
-
-I<Warning:> Cannot read body for $uidl in $folder.
-
-The header of the message was retreived from the IMAP4 server, but the
-body is not read, for an unknown reason.
-
-I<Error:> Copying failed for one message.
-
-For some reason, for instance disc full, removed by external process, or
-read-protection, it is impossible to copy one of the messages.  Copying will
-proceed for the other messages.
-
-I<Error:> Destination folder $name is not writable.
-
-The folder where the messages are copied to is not opened with write
-access (see L<new(access)|Mail::Box/"Constructors">).  This has no relation with write permission
-to the folder which is controled by your operating system.
-
-I<Warning:> Different messages with id $msgid
-
-The message id is discovered more than once within the same folder, but the
-content of the message seems to be different.  This should not be possible:
-each message must be unique.
-
-I<Error:> Folder $name not deleted: not writable.
-
-The folder must be opened with write access via L<new(access)|Mail::Box/"Constructors">, otherwise
-removing it will be refused.  So, you may have write-access according to
-the operating system, but that will not automatically mean that this
-C<delete> method permits you to.  The reverse remark is valid as well.
-
-I<Notice:> Impossible to keep deleted messages in IMAP
-
-Some folder type have a 'deleted' flag which can be stored in the folder to
-be performed later.  The folder keeps that knowledge even when the folder
-is rewritten.  Well, IMAP4 cannot play that trick.
-
-I<Error:> Invalid timespan '$timespan' specified.
-
-The string does not follow the strict rules of the time span syntax which
-is permitted as parameter.
-
-I<Warning:> Message $uidl disappeared from $folder.
-
-Trying to get the specific message from the server, but it appears to be
-gone.
-
-I<Warning:> Message $uidl disappeared from $folder.
-
-Trying to get the specific message from the server, but it appears to be
-gone.
-
-I<Warning:> Message-id '$msgid' does not contain a domain.
-
-According to the RFCs, message-ids need to contain a unique random part,
-then an C<@>, and then a domain name.  This is made to avoid the creation
-of two messages with the same id.  The warning emerges when the C<@> is
-missing from the string.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unable to create subfolder $name of $folder.
-
-The copy includes the subfolders, but for some reason it was not possible
-to copy one of these.  Copying will proceed for all other sub-folders.
-
-
-=head1 DETAILS
-
-
-=head2 How IMAP4 folders work
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/IMAP4.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/IMAP4.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Identity.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Identity.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Identity.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,275 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Box::Identity;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base qw/User::Identity::Item Mail::Reporter/;
-
-use Mail::Box::Collection;
-
-# tests in tests/52message/30collect.t
-
-
-sub type { "mailbox" }
-
-
-sub new(@)
-{   my $class = shift;
-    unshift @_, 'name' if @_ % 2;
-    $class->Mail::Reporter::new(@_);
-}
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    $self->Mail::Reporter::init($args);
-    $self->User::Identity::init($args);
-
-    $self->{MBI_location}  = delete $args->{location};
-    $self->{MBI_ftype}     = delete $args->{folder_type};
-    $self->{MBI_manager}   = delete $args->{manager};
-    $self->{MBI_subf_type} = delete $args->{subf_type}||'Mail::Box::Collection';
-    $self->{MBI_only_subs} = delete $args->{only_subs};
-    $self->{MBI_marked}    = delete $args->{marked};
-    $self->{MBI_deleted}   = delete $args->{deleted};
-    $self->{MBI_inferiors} = exists $args->{inferiors} ? $args->{inferiors} : 1;
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub fullname(;$)
-{   my $self   = shift;
-    my $delim  = @_ && defined $_[0] ? shift : '/';
-
-    my $parent = $self->parent or return $self->name;
-    $parent->parent->fullname($delim) . $delim . $self->name;
-}
-
-#-------------------------------------------
-
-
-sub location(;$)
-{   my $self = shift;
-    return ($self->{MBI_location} = shift) if @_;
-    return $self->{MBI_location} if defined $self->{MBI_location};
-
-    my $parent = $self->parent;
-    unless(defined $parent)
-    {   $self->log(ERROR => "Toplevel directory requires explicit location");
-        return undef;
-    }
-
-    $self->folderType
-         ->nameOfSubFolder($self->name, $parent->parent->location)
-}
-
-#-------------------------------------------
-
-
-sub folderType()
-{   my $self = shift;
-    return $self->{MBI_ftype} if defined $self->{MBI_ftype};
-
-    my $parent = $self->parent;
-    unless(defined $parent)
-    {   $self->log(ERROR => "Toplevel directory requires explicit folder type");
-        return undef;
-    }
-
-    $parent->parent->folderType;
-}
-
-#-------------------------------------------
-
-
-sub manager()
-{    my $self = shift;
-     return $self->{MBI_manager} if $self->{MBI_manager};
-     my $parent = $self->parent or return undef;
-     $self->parent->manager;
-}
-
-#-------------------------------------------
-
-
-sub topfolder()
-{   my $self = shift;
-    my $parent = $self->parent or return $self;
-    $parent->parent->topfolder;
-}
-
-#-------------------------------------------
-
-
-sub onlySubfolders(;$)
-{   my $self = shift;
-    return($self->{MBI_only_subs} = shift) if @_;
-    return $self->{MBI_only_subs} if exists $self->{MBI_only_subs};
-    $self->parent ? 1 : ! $self->folderType->topFolderWithMessages;
-}
-
-#-------------------------------------------
-
-
-sub marked(;$)
-{   my $self = shift;
-    @_ ? ($self->{MBI_marked} = shift) : $self->{MBI_marked};
-}
-
-#-------------------------------------------
-
-
-sub inferiors(;$)
-{   my $self = shift;
-    @_ ? ($self->{MBI_inferiors} = shift) : $self->{MBI_inferiors};
-}
-
-#-------------------------------------------
-                                                                                
-
-sub deleted(;$)
-{   my $self = shift;
-    @_ ? ($self->{MBI_deleted} = shift) : $self->{MBI_deleted};
-}
-                                                                                
-#-------------------------------------------
-
-
-sub subfolders()
-{   my $self = shift;
-    my $subs = $self->collection('subfolders');
-    return (wantarray ? $subs->roles : $subs)
-        if defined $subs;
-
-    my @subs;
-    if(my $location = $self->location)
-    {   @subs  = $self->folderType->listSubFolders
-         ( folder    => $location
-         );
-    }
-    else
-    {   my $mgr   = $self->manager;
-        my $top   = defined $mgr ? $mgr->folderdir : '.';
-
-        @subs  = $self->folderType->listSubFolders
-          ( folder    => $self->fullname
-          , folderdir => $top
-          );
-    }
-    @subs or return ();
-
-    my $subf_type
-      = $self->{MBI_subf_type} || ref($self->parent) || 'Mail::Box::Collection';
-
-    $subs = $subf_type->new('subfolders');
-
-    $self->addCollection($subs);
-    $subs->addRole(name => $_) for @subs;
-    wantarray ? $subs->roles : $subs;
-}
-
-#-------------------------------------------
-
-
-sub subfolderNames() { map {$_->name} shift->subfolders }
-
-#-------------------------------------------
-
-
-sub folder(@)
-{   my $self = shift;
-    return $self unless @_ && defined $_[0];
-
-    my $subs = $self->subfolders  or return undef;
-    my $nest = $subs->find(shift) or return undef;
-    $nest->folder(@_);
-}
-
-#-------------------------------------------
-
-
-sub open(@)
-{   my $self = shift;
-    my $mgr  = $self->manager;
-
-    $mgr->open
-      ( $self->fullname
-      , type => $self->folderType
-      , @_
-      );
-}
-
-#-------------------------------------------
-
-
-sub foreach($)
-{   my ($self, $code) = @_;
-    $code->($self);
-
-    my $subs = $self->subfolders or return ();
-    $_->foreach($code) for $subs->sorted;
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub addSubfolder(@)
-{   my $self  = shift;
-    my $subs  = $self->subfolders;
-
-    if(defined $subs) { ; }
-    elsif(!$self->inferiors)
-    {   my $name = $self->fullname;
-        $self->log(ERROR => "It is not permitted to add subfolders to $name");
-        return undef;
-    }
-    else
-    {   $subs = $self->{MBI_subf_type}->new('subfolders');
-        $self->addCollection($subs);
-    }
-
-    $subs->addRole(@_);
-}
-
-#-------------------------------------------
-
-
-sub remove(;$)
-{   my $self = shift;
-
-    my $parent = $self->parent;
-    unless(defined $parent)
-    {   $self->log(ERROR => "The toplevel folder cannot be removed this way");
-        return ();
-    }
-
-    return $parent->removeRole($self->name)
-        unless @_;
-
-    my $name = shift;
-    my $subs = $self->subfolders or return ();
-    $subs->removeRole($name);
-}
-
-#-------------------------------------------
-
-
-sub rename($;$)
-{   my ($self, $folder, $newname) = @_;
-    $newname = $self->name unless defined $newname;
-
-    my $away = $self->remove;
-    $away->name($newname);
-
-    $folder->addSubfolder($away);
-}
-
-
-1;
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Identity.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Identity.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Identity.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Identity.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Identity.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,616 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Identity - represents an unopened folder
-
-
-=head1 INHERITANCE
-
- Mail::Box::Identity
-   is a User::Identity::Item
-
- Mail::Box::Identity
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- use User::Identity;
- use Mail::Box::Identity;
- my $me   = User::Identity->new(...);
-
- my $mailbox = Mail::Box::Identity->new(...);
- $me->add(folders => $mailbox);
-
- # Simpler
-
- use User::Identity;
- my $me   = User::Identity->new(...);
- my $addr = $me->add(folders => ...);
-
-
-=head1 DESCRIPTION
-
-The C<Mail::Box::Identity> object contains the description of a
-single mailbox.  The mailboxes are collected by an L<Mail::Box::Collection|Mail::Box::Collection>
-object.  This corresponds with IMAP's C<\NoSelect>, for instance.
-
-Nearly all methods can return undef.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::Identity-E<gt>B<new>([NAME], OPTIONS)
-
-=over 4
-
- Option       Defined in       Default                        
- deleted                       <false>                        
- description  L<User::Identity::Item>  undef                          
- folder_type                   C<from parent>                 
- inferiors                     1                              
- location                      C<undef>                       
- log          L<Mail::Reporter>  C<'WARNINGS'>                  
- manager                       <from parent>                  
- marked                        C<undef>                       
- name         L<User::Identity::Item>  <required>                     
- only_subs                     <foldertype and name dependent>
- parent       L<User::Identity::Item>  C<undef>                       
- subf_type                     <same as parent>               
- trace        L<Mail::Reporter>  C<'WARNINGS'>                  
-
-. deleted BOOLEAN
-
-=over 4
-
-The folder is flagged for deletion.  This not have any implications yet,
-because it may still get undeleted.
-
-=back
-
-. description STRING
-
-. folder_type CLASS
-
-. inferiors BOOLEAN
-
-=over 4
-
-Can this folder have childs?  If not, this is cleared.
-
-=back
-
-. location DIRECTORY|FILENAME
-
-=over 4
-
-The location of this folder.  Often, only the manager can figure-out
-where this folder really is.
-
-=back
-
-. log LEVEL
-
-. manager OBJECT
-
-=over 4
-
-Any L<Mail::Box::Manager|Mail::Box::Manager> or L<Mail::Box::Manage::User|Mail::Box::Manage::User> OBJECT.
-
-=back
-
-. marked BOOLEAN|C<undef>
-
-=over 4
-
-Whether the folder is flagged for some reason, for instance because
-new messages have arrived.
-
-=back
-
-. name STRING
-
-. only_subs BOOLEAN
-
-=over 4
-
-Some folder types can have messages in their toplevel folder, other
-cannot. That determines the default.
-See L<Mail::Box::topFolderWithMessages()|Mail::Box/"Sub-folders">
-
-=back
-
-. parent OBJECT
-
-. subf_type CLASS
-
-=over 4
-
-The type for a subfolder collection, must extend CLASS
-L<Mail::Box::Collection|Mail::Box::Collection>.
-
-=back
-
-. trace LEVEL
-
-=back
-
-=head2 Attributes
-
-
-$obj-E<gt>B<deleted>({BOOLEAN])
-
-=over 4
-
-=back
-
-$obj-E<gt>B<description>
-
-=over 4
-
-See L<User::Identity::Item/"Attributes">
-
-=back
-
-$obj-E<gt>B<folderType>
-
-=over 4
-
-Returns the type of this folder.
-
-=back
-
-$obj-E<gt>B<fullname>([DELIMETER])
-
-=over 4
-
-Returns the name of the folder, from the toplevel until this one, with
-the DELIMETER string between each level.  DELIMETER default to a forward
-slash (a C</>).
-
-=back
-
-$obj-E<gt>B<inferiors>([BOOLEAN])
-
-=over 4
-
-C<Inferiors> are C<subfolders>.  When this flag is set, it is permitted
-to create subfolders.
-
-=back
-
-$obj-E<gt>B<location>([FILENAME|DIRECTORY|undef])
-
-=over 4
-
-Returns the directory or filename of the folder.  If this is not pre-defined,
-it is computed based on the knowledge about the folder type.  Be sure to set
-the location of the toplevel folder to the folderdir of the user to get
-this to work.
-
-=back
-
-$obj-E<gt>B<manager>
-
-=over 4
-
-Returns the manager (usually a L<Mail::Box::Manage::User|Mail::Box::Manage::User> which owns
-the folders.  May be undefined, by default from parent.
-
-=back
-
-$obj-E<gt>B<marked>([BOOLEAN|undef])
-
-=over 4
-
-When something special has happened with the folder, this flag can
-be set (or cleared).  The C<undef> status is an "unknown".  In the
-IMAP4 protocol, C<0> will result in a C<\Unmarked>, a C<1> results
-in a C<\Marked>, and C<undef> in nothing.
-
-=back
-
-$obj-E<gt>B<name>([NEWNAME])
-
-=over 4
-
-See L<User::Identity::Item/"Attributes">
-
-=back
-
-$obj-E<gt>B<onlySubfolders>([BOOLEAN])
-
-=over 4
-
-Than this folder be opened (without trying) or not?  The default
-depends on the folder type, and whether this is the toplevel folder
-or not.  See L<Mail::Box::topFolderWithMessages()|Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<topfolder>
-
-=over 4
-
-Run up the tree to find the highest level folder.
-
-=back
-
-=head2 Collections
-
-
-$obj-E<gt>B<add>(COLLECTION, ROLE)
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<addCollection>(OBJECT | ([TYPE], OPTIONS))
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<collection>(NAME)
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<find>(COLLECTION, ROLE)
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<parent>([PARENT])
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<removeCollection>(OBJECT|NAME)
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<type>
-
-Mail::Box::Identity-E<gt>B<type>
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<user>
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-=head2 Attributes
-
-
-=head2 Subfolders
-
-
-$obj-E<gt>B<addSubfolder>(L<Mail::Box::Identity|Mail::Box::Identity>|DATA)
-
-=over 4
-
-Add a new folder into the administration.  With DATA, a new object
-will be instantiated first.  The identity is returned on success.
-
-=back
-
-$obj-E<gt>B<folder>([[NAME, ...], NAME])
-
-=over 4
-
-Returns the subfolder's object with NAME or C<undef> if it does not
-exist.  When multiple NAMEs are added, those super folders are traverst
-first.  Without any NAME, the current object is returned
-
-I<Example:> get some folder
-
-
- my $a = $user->folders->folder('b', 'a');
-
- my $name  = "a:b:c";
- my $delim = ":";
- my $f = $user->folders->folder(split $delim, $name);
-
-=back
-
-$obj-E<gt>B<foreach>(CODE)
-
-=over 4
-
-For each of the subfolders found below this point call CODE.  This current
-folder is called first.  Be warned that you may find identities with
-the L<deleted()|Mail::Box::Identity/"Attributes"> flag on.
-
-=back
-
-$obj-E<gt>B<open>(OPTIONS)
-
-=over 4
-
-Open the folder which is described by this identity.  Returned is some
-L<Mail::Box|Mail::Box>.  The options are passed to L<Mail::Box::Manager::open()|Mail::Box::Manager/"Manage open folders">.
-
-=back
-
-$obj-E<gt>B<remove>([NAME])
-
-=over 4
-
-Remove the folder (plus subfolders) with the NAME.  Without NAME, this
-C<Mail::Box::Identity> itself is removed.
-
-The removed structure is returned, which is C<undef> if not
-found.  This is only an administrative remove, you still need a
-L<Mail::Box::Manager::delete()|Mail::Box::Manager/"Manage existing folders">.
-
-=back
-
-$obj-E<gt>B<rename>(FOLDER, [NEWSUBNAME])
-
-=over 4
-
-Move the folder to a different super-FOLDER, under a NEW SUBfolder NAME.
-
-I<Example:> renaming a folder
-
-
- my $top = $user->topfolder;
- my $new = $top->folder('xyz') or die;
- my $f   = $top->folder('abc', 'def')->rename($new, '123');
-
- print $f->name;      # 123
- print $f->fullname;  # =/xyz/123
-
-=back
-
-$obj-E<gt>B<subfolderNames>
-
-=over 4
-
-Convenience method: returns the names of the collected subfolders.
-
-=back
-
-$obj-E<gt>B<subfolders>
-
-=over 4
-
-Returns the subfolders or C<undef> if there are none.  This
-information is lazy evaluated and cached.  In LIST context, the folder
-objects are returned (L<Mail::Box::Identity|Mail::Box::Identity> objects), in SCALAR context
-the collection, the L<Mail::Box::Collection|Mail::Box::Collection>.
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Identity-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Identity-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Identity-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> $object is not a collection.
-
-The first argument is an object, but not of a class which extends
-L<User::Identity::Collection|User::Identity::Collection>.
-
-I<Error:> Cannot load collection module for $type ($class).
-
-Either the specified $type does not exist, or that module named $class returns
-compilation errors.  If the type as specified in the warning is not
-the name of a package, you specified a nickname which was not defined.
-Maybe you forgot the 'require' the package which defines the nickname.
-
-I<Error:> Creation of a collection via $class failed.
-
-The $class did compile, but it was not possible to create an object
-of that class using the options you specified.
-
-I<Error:> Don't know what type of collection you want to add.
-
-If you add a collection, it must either by a collection object or a
-list of options which can be used to create a collection object.  In
-the latter case, the type of collection must be specified.
-
-I<Error:> It is not permitted to add subfolders to $name
-
-The L<inferiors()|Mail::Box::Identity/"Attributes"> flag prohibits the creation of subfolders to this
-folder.
-
-I<Warning:> No collection $name
-
-The collection with $name does not exist and can not be created.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> The toplevel folder cannot be removed this way
-
-The L<Mail::Box::Identity|Mail::Box::Identity> folder administration structure requires
-a top directory.  That top is registered somewhere (for instance
-by a L<Mail::Box::Manage::User|Mail::Box::Manage::User>).  If you need to remove the top,
-you have to look for a method of that object.
-
-I<Error:> Toplevel directory requires explicit folder type
-
-
-I<Error:> Toplevel directory requires explicit location
-
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Identity.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Identity.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/DotLock.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Locker/DotLock.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/DotLock.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,108 +0,0 @@
-
-use strict;
-
-package Mail::Box::Locker::DotLock;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::Locker';
-
-use IO::File;
-use Carp;
-use File::Spec;
-
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    unless($args->{file})
-    {   my $folder = $args->{folder} or confess;
-        my $org    = $folder->organization;
-
-        $args->{file}
-          = $org eq 'FILE'      ? $folder->filename . '.lock'
-          : $org eq 'DIRECTORY' ? File::Spec->catfile($folder->directory, '.lock')
-          : croak "Need lock file name for DotLock.";
-    }
-
-    $self->SUPER::init($args);
-}
-
-#-------------------------------------------
-
-sub name() {'DOTLOCK'}
-
-#-------------------------------------------
-
-sub _try_lock($)
-{   my ($self, $lockfile) = @_;
-    return if -e $lockfile;
-
-    my $flags    = $^O eq 'MSWin32'
-                 ?  O_CREAT|O_EXCL|O_WRONLY
-                 :  O_CREAT|O_EXCL|O_WRONLY|O_NONBLOCK;
-
-    my $lock     = IO::File->new($lockfile, $flags, 0600)
-       or return 0;
-
-    close $lock;
-    1;
-}
-
-#-------------------------------------------
-
-sub unlock()
-{   my $self = shift;
-    return $self unless $self->{MBL_has_lock};
-
-    my $lock = $self->filename;
-
-    unlink $lock
-        or warn "Couldn't remove lockfile $lock: $!\n";
-
-    delete $self->{MBL_has_lock};
-    $self;
-}
-
-#-------------------------------------------
-
-sub lock()
-{   my $self   = shift;
-    return 1 if $self->hasLock;
-
-    my $lockfile = $self->filename;
-    my $end      = $self->{MBL_timeout} eq 'NOTIMEOUT' ? -1
-                 : $self->{MBL_timeout};
-    my $expire   = $self->{MBL_expires}/86400;  # in days for -A
-
-    while(1)
-    {
-        return $self->{MBL_has_lock} = 1
-           if $self->_try_lock($lockfile);
-
-        if(-e $lockfile && -A $lockfile > $expire)
-        {
-            if(unlink $lockfile)
-            {   warn "Removed expired lockfile $lockfile.\n";
-                redo;
-            }
-            else
-            {   warn "Failed to remove expired lockfile $lockfile: $!\n";
-                last;
-            }
-        }
-
-        last unless --$end;
-        sleep 1;
-    }
-
-    return 0;
-}
-
-#-------------------------------------------
-
-sub isLocked() { -e shift->filename }
-
-#-------------------------------------------
-
-1;
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/DotLock.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Locker/DotLock.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/DotLock.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Locker/DotLock.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/DotLock.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,285 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Locker::DotLock - lock a folder with a separate file
-
-
-=head1 INHERITANCE
-
- Mail::Box::Locker::DotLock
-   is a Mail::Box::Locker
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- See Mail::Box::Locker
-
-
-=head1 DESCRIPTION
-
-The C<::DotLock> object lock the folder by creating a file with the
-same name as the folder, extended by C<.lock>.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::Locker::DotLock-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option   Defined in       Default             
- expires  L<Mail::Box::Locker>  1 hour              
- file                      <folderfile>C<.lock>
- folder   L<Mail::Box::Locker>  <required>          
- log      L<Mail::Reporter>  C<'WARNINGS'>       
- method   L<Mail::Box::Locker>  C<'DOTLOCK'>        
- timeout  L<Mail::Box::Locker>  10 seconds          
- trace    L<Mail::Reporter>  C<'WARNINGS'>       
-
-. expires SECONDS
-
-. file FILENAME
-
-=over 4
-
-Name of the file to lock.  By default, the folder's name is extended with
-C<.lock>.
-
-=back
-
-. folder FOLDER
-
-. log LEVEL
-
-. method STRING|CLASS|ARRAY
-
-. timeout SECONDS|'NOTIMEOUT'
-
-. trace LEVEL
-
-=back
-
-=head2 The Locker
-
-
-$obj-E<gt>B<filename>([FILENAME])
-
-=over 4
-
-See L<Mail::Box::Locker/"The Locker">
-
-=back
-
-$obj-E<gt>B<folder>
-
-=over 4
-
-See L<Mail::Box::Locker/"The Locker">
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Box::Locker/"The Locker">
-
-=back
-
-=head2 Locking
-
-
-$obj-E<gt>B<hasLock>
-
-=over 4
-
-See L<Mail::Box::Locker/"Locking">
-
-=back
-
-$obj-E<gt>B<isLocked>
-
-=over 4
-
-See L<Mail::Box::Locker/"Locking">
-
-=back
-
-$obj-E<gt>B<lock>(FOLDER)
-
-=over 4
-
-See L<Mail::Box::Locker/"Locking">
-
-=back
-
-$obj-E<gt>B<unlock>
-
-=over 4
-
-See L<Mail::Box::Locker/"Locking">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Locker::DotLock-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Locker::DotLock-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Locker::DotLock-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Box::Locker/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/DotLock.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Locker/DotLock.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/Flock.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Locker/Flock.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/Flock.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,107 +0,0 @@
-
-use strict;
-
-package Mail::Box::Locker::Flock;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::Locker';
-
-use IO::File;
-use Fcntl         qw/:DEFAULT :flock/;
-use Errno         qw/EAGAIN/;
-
-
-#-------------------------------------------
-
-sub name() {'FLOCK'}
-
-#-------------------------------------------
-
-sub _try_lock($)
-{   my ($self, $file) = @_;
-    flock $file, LOCK_EX|LOCK_NB;
-}
-
-sub _unlock($)
-{   my ($self, $file) = @_;
-    flock $file, LOCK_UN;
-    delete $self->{MBL_has_lock};
-    $self;
-}
-
-#-------------------------------------------
-
-
-# 'r+' is require under Solaris and AIX, other OSes are satisfied with 'r'.
-my $lockfile_access_mode = ($^O eq 'solaris' || $^O eq 'aix') ? 'r+' : 'r';
-
-sub lock()
-{   my $self  = shift;
-    return 1 if $self->hasLock;
-
-    my $filename = $self->filename;
-
-    my $file   = IO::File->new($filename, $lockfile_access_mode);
-    unless($file)
-    {   $self->log(ERROR =>
-           "Unable to open flock file $filename for $self->{MBL_folder}: $!");
-        return 0;
-    }
-
-    my $end = $self->{MBL_timeout} eq 'NOTIMEOUT' ? -1 : $self->{MBL_timeout};
-
-    while(1)
-    {   if($self->_try_lock($file))
-        {   $self->{MBL_has_lock}    = 1;
-            $self->{MBLF_filehandle} = $file;
-            return 1;
-        }
-
-        if($! != EAGAIN)
-        {   $self->log(ERROR =>
-               "Will never get a flock on $filename for $self->{MBL_folder}: $!");
-            last;
-        }
-
-        last unless --$end;
-        sleep 1;
-    }
-
-    return 0;
-}
-
-#-------------------------------------------
-
-
-sub isLocked()
-{   my $self     = shift;
-    my $filename = $self->filename;
-
-    my $file     = IO::File->new($filename, $lockfile_access_mode);
-    unless($file)
-    {   $self->log(ERROR =>
-            "Unable to check lock file $filename for $self->{MBL_folder}: $!");
-        return 0;
-    }
-
-    $self->_try_lock($file) or return 0;
-    $self->_unlock($file);
-    $file->close;
-
-    1;
-}
-
-#-------------------------------------------
-
-sub unlock()
-{   my $self = shift;
-
-    $self->_unlock(delete $self->{MBLF_filehandle})
-       if $self->hasLock;
-
-    $self;
-}
-
-#-------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/Flock.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Locker/Flock.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/Flock.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Locker/Flock.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/Flock.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,296 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Locker::Flock - lock a folder using kernel file-locking
-
-
-=head1 INHERITANCE
-
- Mail::Box::Locker::Flock
-   is a Mail::Box::Locker
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- See Mail::Box::Locker
-
-
-=head1 DESCRIPTION
-
-The C<::Flock> object lock the folder by creating an exclusive lock on
-the file using the kernel's C<flock> facilities.  This lock is created
-on a separate file-handle to the folder file, so not the handle which
-is reading.
-
-File locking does not work in some situations, for instance for
-operating systems do not support C<flock>.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::Locker::Flock-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option   Defined in       Default      
- expires  L<Mail::Box::Locker>  1 hour       
- file     L<Mail::Box::Locker>  undef        
- folder   L<Mail::Box::Locker>  <required>   
- log      L<Mail::Reporter>  C<'WARNINGS'>
- method   L<Mail::Box::Locker>  C<'FLOCK'>   
- timeout  L<Mail::Box::Locker>  10 seconds   
- trace    L<Mail::Reporter>  C<'WARNINGS'>
-
-. expires SECONDS
-
-. file FILENAME
-
-. folder FOLDER
-
-. log LEVEL
-
-. method STRING|CLASS|ARRAY
-
-. timeout SECONDS|'NOTIMEOUT'
-
-. trace LEVEL
-
-=back
-
-=head2 The Locker
-
-
-$obj-E<gt>B<filename>([FILENAME])
-
-=over 4
-
-See L<Mail::Box::Locker/"The Locker">
-
-=back
-
-$obj-E<gt>B<folder>
-
-=over 4
-
-See L<Mail::Box::Locker/"The Locker">
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Box::Locker/"The Locker">
-
-=back
-
-=head2 Locking
-
-
-$obj-E<gt>B<hasLock>
-
-=over 4
-
-See L<Mail::Box::Locker/"Locking">
-
-=back
-
-$obj-E<gt>B<isLocked>
-
-=over 4
-
-=back
-
-$obj-E<gt>B<lock>
-
-=over 4
-
-=back
-
-$obj-E<gt>B<unlock>
-
-=over 4
-
-See L<Mail::Box::Locker/"Locking">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Locker::Flock-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Locker::Flock-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Locker::Flock-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Box::Locker/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unable to check lock file $filename for $folder: $!
-
-To check whether the filename is used to flock a folder, the file must be
-opened.  Apparently this fails, which does not mean that the folder is
-locked neither that it is unlocked.
-
-I<Error:> Unable to open flock file $filename for $folder: $!
-
-For flock-ing a folder it must be opened, which does not succeed for the
-specified reason.
-
-I<Error:> Will never get a flock at $filename for $folder: $!
-
-Tried to flock the folder, but it did not succeed.  The error code received
-from the OS indicates that it will not succeed ever, so we do not need to
-try again.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/Flock.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Locker/Flock.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/Multi.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Locker/Multi.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/Multi.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,111 +0,0 @@
-
-use strict;
-
-package Mail::Box::Locker::Multi;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::Locker';
-
-use Carp;
-
-
-sub init($)
-{   my ($self, $args) = @_;
-    $self->SUPER::init($args);
-
-    my @use
-     = exists $args->{use} ? @{$args->{use}}
-     : $^O =~ m/mswin/i    ? qw/    POSIX Flock/
-     :                       qw/NFS POSIX Flock/;
-
-    my (@lockers, @used);
-
-    foreach my $method (@use)
-    {   my $locker = eval
-        {   Mail::Box::Locker->new
-              ( %$args
-              , method  => $method
-              , timeout => 1
-              )
-        };
-        next unless defined $locker;
-
-        push @lockers, $locker;
-        push @used, $method;
-    }
-
-    $self->{MBLM_lockers} = \@lockers;
-    $self->log(PROGRESS => "Multi-locking via @used.");
-    $self;
-}
-
-#-------------------------------------------
-
-sub name() {'MULTI'}
-
-#-------------------------------------------
-
-sub _try_lock($)
-{   my $self     = shift;
-    my @successes;
-
-    foreach my $locker ($self->lockers)
-    {
-        unless($locker->lock)
-        {   $_->unlock foreach @successes;
-            return 0;
-        }
-        push @successes, $locker;
-    }
-
-    1;
-}
-
-#-------------------------------------------
-
-sub unlock()
-{   my $self = shift;
-    return $self unless $self->{MBL_has_lock};
-
-    $_->unlock foreach $self->lockers;
-    delete $self->{MBL_has_lock};
-
-    $self;
-}
-
-#-------------------------------------------
-
-sub lock()
-{   my $self  = shift;
-    return 1 if $self->hasLock;
-
-    my $end   = $self->{MBL_timeout} eq 'NOTIMEOUT' ? -1 : $self->{MBL_timeout};
-
-    while(1)
-    {   return $self->{MBL_has_lock} = 1
-            if $self->_try_lock;
-
-        last unless --$end;
-        sleep 1;
-    }
-
-    return 0;
-}
-
-#-------------------------------------------
-
-sub isLocked()
-{   my $self     = shift;
-    $self->_try_lock($self->filename) or return 0;
-    $self->unlock;
-    1;
-}
-
-#-------------------------------------------
-
-
-sub lockers() { @{shift->{MBLM_lockers}} }
-
-#-------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/Multi.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Locker/Multi.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/Multi.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Locker/Multi.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/Multi.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,309 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Locker::Multi - lock a folder in all ways which work
-
-
-=head1 INHERITANCE
-
- Mail::Box::Locker::Multi
-   is a Mail::Box::Locker
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- See Mail::Box::Locker
-
-
-=head1 DESCRIPTION
-
-The C<::Multi> locker locks a folder in each way it can.  This way, the
-chance is highest that any other program will leave the folder alone
-during our access to it.
-
-NFS-lock and Flock are tried.  More may be added when the ways to
-lock are extended.  DotLock overlaps with NFS-lock, but NFS-lock is
-safer, so that version is preferred.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::Locker::Multi-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option   Defined in       Default       
- expires  L<Mail::Box::Locker>  1 hour        
- file     L<Mail::Box::Locker>  undef         
- folder   L<Mail::Box::Locker>  <required>    
- log      L<Mail::Reporter>  C<'WARNINGS'> 
- method   L<Mail::Box::Locker>  C<'MULTI'>    
- timeout  L<Mail::Box::Locker>  10 seconds    
- trace    L<Mail::Reporter>  C<'WARNINGS'> 
- use                       <all possible>
-
-. expires SECONDS
-
-. file FILENAME
-
-. folder FOLDER
-
-. log LEVEL
-
-. method STRING|CLASS|ARRAY
-
-. timeout SECONDS|'NOTIMEOUT'
-
-. trace LEVEL
-
-. use ARRAY
-
-=over 4
-
-Array of locker types and locker objects to be used to lock one
-folder.  The type names are converted into objects.
-
-Some locking types are not available on some platforms, so they will
-not be excluded from the default list (NFS POSIX Flock).
-
-=back
-
-I<Example:> using a subset of multi-lockers
-
-
- my $locker = Mail::Box::Locker::Multy->new(use => ['DOTLOCK','FLOCK']);
-
-=back
-
-=head2 The Locker
-
-
-$obj-E<gt>B<filename>([FILENAME])
-
-=over 4
-
-See L<Mail::Box::Locker/"The Locker">
-
-=back
-
-$obj-E<gt>B<folder>
-
-=over 4
-
-See L<Mail::Box::Locker/"The Locker">
-
-=back
-
-$obj-E<gt>B<lockers>
-
-=over 4
-
-Returns a list with all locker objects used by this object.
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Box::Locker/"The Locker">
-
-=back
-
-=head2 Locking
-
-
-$obj-E<gt>B<hasLock>
-
-=over 4
-
-See L<Mail::Box::Locker/"Locking">
-
-=back
-
-$obj-E<gt>B<isLocked>
-
-=over 4
-
-See L<Mail::Box::Locker/"Locking">
-
-=back
-
-$obj-E<gt>B<lock>(FOLDER)
-
-=over 4
-
-See L<Mail::Box::Locker/"Locking">
-
-=back
-
-$obj-E<gt>B<unlock>
-
-=over 4
-
-See L<Mail::Box::Locker/"Locking">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Locker::Multi-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Locker::Multi-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Locker::Multi-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Box::Locker/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/Multi.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Locker/Multi.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/NFS.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Locker/NFS.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/NFS.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,134 +0,0 @@
-
-use strict;
-
-package Mail::Box::Locker::NFS;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::Locker';
-
-use Sys::Hostname;
-use IO::File;
-use Carp;
-
-
-sub name() {'NFS'}
-
-#-------------------------------------------
-
-# METHOD nfs
-# This hack is copied from the Mail::Folder packages, as written
-# by Kevin Jones.  Cited from his code:
-#    Whhheeeee!!!!!
-#    In NFS, the O_CREAT|O_EXCL isn't guaranteed to be atomic.
-#    So we create a temp file that is probably unique in space
-#    and time ($folder.lock.$time.$pid.$host).
-#    Then we use link to create the real lock file. Since link
-#    is atomic across nfs, this works.
-#    It loses if it's on a filesystem that doesn't do long filenames.
-
-my $hostname = hostname;
-
-sub _tmpfilename()
-{   my $self = shift;
-    return $self->{MBL_tmp} if $self->{MBL_tmp};
-
-    my $folder = $self->{MBL_folder};
-    $self->{MBL_tmp} = $self->filename . $$;
-}
-
-sub _construct_tmpfile()
-{   my $self    = shift;
-    my $tmpfile = $self->_tmpfilename;
-
-    my $fh      = IO::File->new($tmpfile, O_CREAT|O_WRONLY, 0600)
-        or return undef;
-
-    $fh->close;
-    $tmpfile;
-}
-
-sub _try_lock($$)
-{   my ($self, $tmpfile, $lockfile) = @_;
-
-    return undef
-        unless link $tmpfile, $lockfile;
-
-    my $linkcount = (stat $tmpfile)[3];
-
-    unlink $tmpfile;
-    $linkcount == 2;
-}
-
-sub _unlock($$)
-{   my ($self, $tmpfile, $lockfile) = @_;
-
-    unlink $lockfile
-        or warn "Couldn't remove lockfile $lockfile: $!\n";
-
-    unlink $tmpfile;
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub lock()
-{   my $self     = shift;
-    return 1 if $self->hasLock;
-
-    my $folder   = $self->{MBL_folder};
-    my $lockfile = $self->filename;
-    my $tmpfile  = $self->_construct_tmpfile or return;
-    my $end      = $self->{MBL_timeout} eq 'NOTIMEOUT' ? -1
-                 : $self->{MBL_timeout};
-    my $expires  = $self->{MBL_expires}/86400;  # in days for -A
-
-    if(-e $lockfile && -A $lockfile > $expires)
-    {   if(unlink $lockfile)
-             { $self->log(WARNING => "Removed expired lockfile $lockfile.") }
-        else { $self->log(ERROR =>
-                        "Unable to remove expired lockfile $lockfile: $!") }
-    }
-
-    while(1)
-    {   if($self->_try_lock($tmpfile, $lockfile))
-        {   $self->{MBL_has_lock} = 1;
-            return 1;
-        }
-
-        last unless --$end;
-        sleep 1;
-    }
-
-    return 0;
-}
-
-#-------------------------------------------
-
-sub isLocked()
-{   my $self     = shift;
-    my $tmpfile  = $self->_construct_tmpfile or return 0;
-    my $lockfile = $self->filename;
-
-    my $fh = $self->_try_lock($tmpfile, $lockfile) or return 0;
-
-    close $fh;
-    $self->_unlock($tmpfile, $lockfile);
-    1;
-}
-
-#-------------------------------------------
-
-sub unlock($)
-{   my $self   = shift;
-    return $self unless $self->hasLock;
-
-    $self->_unlock($self->_tmpfilename, $self->filename);
-    delete $self->{MBL_has_lock};
-    $self;
-}
-
-#-------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/NFS.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Locker/NFS.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/NFS.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Locker/NFS.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/NFS.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,292 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Locker::NFS - lock a folder with a separate file, NFS-safe
-
-
-=head1 INHERITANCE
-
- Mail::Box::Locker::NFS
-   is a Mail::Box::Locker
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- See Mail::Box::Locker
-
-
-=head1 DESCRIPTION
-
-Like the C<::DotLock> locker, but then in an NFS-safe fashion.  Over NFS,
-the creation of a file is not atomic.  The C<::DotLock> locker depends
-on an atomic C<open> system call, hence in not usable to lock a folder
-which accessed over NFS.  The C<::NFS>
-locker is therefore more complicated (so therefore slower), but will work
-for NFS --and for local disks as well.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::Locker::NFS-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option   Defined in       Default      
- expires  L<Mail::Box::Locker>  1 hour       
- file     L<Mail::Box::Locker>  undef        
- folder   L<Mail::Box::Locker>  <required>   
- log      L<Mail::Reporter>  C<'WARNINGS'>
- method   L<Mail::Box::Locker>  C<'NFS'>     
- timeout  L<Mail::Box::Locker>  10 seconds   
- trace    L<Mail::Reporter>  C<'WARNINGS'>
-
-. expires SECONDS
-
-. file FILENAME
-
-. folder FOLDER
-
-. log LEVEL
-
-. method STRING|CLASS|ARRAY
-
-. timeout SECONDS|'NOTIMEOUT'
-
-. trace LEVEL
-
-=back
-
-=head2 The Locker
-
-
-$obj-E<gt>B<filename>([FILENAME])
-
-=over 4
-
-See L<Mail::Box::Locker/"The Locker">
-
-=back
-
-$obj-E<gt>B<folder>
-
-=over 4
-
-See L<Mail::Box::Locker/"The Locker">
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Box::Locker/"The Locker">
-
-=back
-
-=head2 Locking
-
-
-$obj-E<gt>B<hasLock>
-
-=over 4
-
-See L<Mail::Box::Locker/"Locking">
-
-=back
-
-$obj-E<gt>B<isLocked>
-
-=over 4
-
-See L<Mail::Box::Locker/"Locking">
-
-=back
-
-$obj-E<gt>B<lock>
-
-=over 4
-
-=back
-
-$obj-E<gt>B<unlock>
-
-=over 4
-
-See L<Mail::Box::Locker/"Locking">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Locker::NFS-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Locker::NFS-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Locker::NFS-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Box::Locker/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Warning:> Removed expired lockfile $filename.
-
-A lock file was found which was older than the expiration period as
-specified with L<new(timeout)|Mail::Box::Locker/"METHODS">.  The lock file was succesfully
-removed.
-
-I<Error:> Unable to remove expired lockfile $lockfile: $!
-
-A lock file was found which was older than the expiration period as
-specified with the L<new(timeout)|Mail::Box::Locker/"METHODS"> option.  It is impossible to remove that
-lock file, so we need to wait until it vanishes by some external cause.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/NFS.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Locker/NFS.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/POSIX.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Locker/POSIX.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/POSIX.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,105 +0,0 @@
-
-use strict;
-
-package Mail::Box::Locker::POSIX;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::Locker';
-
-use POSIX;
-use Fcntl;
-use IO::File;
-
-
-#-------------------------------------------
-
-sub name() {'POSIX'}
-
-#-------------------------------------------
-
-sub _try_lock($)
-{   my ($self, $file) = @_;
-    $? = fcntl($file, F_SETLK, pack('s @256', F_WRLCK)) || 0;
-    $?==0;
-}
-
-sub _unlock($)
-{   my ($self, $file) = @_;
-    fcntl($file, F_SETLK, pack('s @256', F_UNLCK));
-    delete $self->{MBL_has_lock};
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub lock()
-{   my $self  = shift;
-    return 1 if $self->hasLock;
-
-    my $filename = $self->filename;
-
-    my $file   = IO::File->new($filename, 'r+');
-    unless(defined $file)
-    {   $self->log(ERROR =>
-           "Unable to open POSIX lock file $filename for $self->{MBL_folder}: $!");
-        return 0;
-    }
-
-    my $end = $self->{MBL_timeout} eq 'NOTIMEOUT' ? -1 : $self->{MBL_timeout};
-
-    while(1)
-    {   if($self->_try_lock($file))
-        {   $self->{MBL_has_lock}    = 1;
-            $self->{MBLF_filehandle} = $file;
-            return 1;
-        }
-
-        if($? != EAGAIN)
-        {   $self->log(ERROR =>
-            "Will never get a POSIX lock on $filename for $self->{MBL_folder}: $!");
-            last;
-        }
-
-        last unless --$end;
-        sleep 1;
-    }
-
-    return 0;
-}
-
-#-------------------------------------------
-
-
-sub isLocked()
-{   my $self     = shift;
-    my $filename = $self->filename;
-
-    my $file     = IO::File->new($filename, "r");
-    unless($file)
-    {   $self->log(ERROR =>
-               "Unable to check lock file $filename for $self->{MBL_folder}: $!");
-        return 0;
-    }
-
-    $self->_try_lock($file) or return 0;
-    $self->_unlock($file);
-    $file->close;
-
-    1;
-}
-
-#-------------------------------------------
-
-sub unlock()
-{   my $self = shift;
-
-    $self->_unlock(delete $self->{MBLF_filehandle})
-       if $self->hasLock;
-
-    $self;
-}
-
-#-------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/POSIX.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Locker/POSIX.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/POSIX.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Locker/POSIX.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/POSIX.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,293 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Locker::POSIX - lock a folder using kernel file-locking
-
-
-=head1 INHERITANCE
-
- Mail::Box::Locker::POSIX
-   is a Mail::Box::Locker
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- See Mail::Box::Locker
-
-
-=head1 DESCRIPTION
-
-This locker object is created by the folder to get an exclusive lock on
-the file which contains the data using the kernel's POSIX facilities.  This
-lock is created on a separate file-handle to the folder file, so not the
-handle which is reading.  Not all platforms support POSIX locking.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::Locker::POSIX-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option   Defined in       Default      
- expires  L<Mail::Box::Locker>  1 hour       
- file     L<Mail::Box::Locker>  undef        
- folder   L<Mail::Box::Locker>  <required>   
- log      L<Mail::Reporter>  C<'WARNINGS'>
- method   L<Mail::Box::Locker>  C<POSIX>     
- timeout  L<Mail::Box::Locker>  10 seconds   
- trace    L<Mail::Reporter>  C<'WARNINGS'>
-
-. expires SECONDS
-
-. file FILENAME
-
-. folder FOLDER
-
-. log LEVEL
-
-. method STRING|CLASS|ARRAY
-
-. timeout SECONDS|'NOTIMEOUT'
-
-. trace LEVEL
-
-=back
-
-=head2 The Locker
-
-
-$obj-E<gt>B<filename>([FILENAME])
-
-=over 4
-
-See L<Mail::Box::Locker/"The Locker">
-
-=back
-
-$obj-E<gt>B<folder>
-
-=over 4
-
-See L<Mail::Box::Locker/"The Locker">
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Box::Locker/"The Locker">
-
-=back
-
-=head2 Locking
-
-
-$obj-E<gt>B<hasLock>
-
-=over 4
-
-See L<Mail::Box::Locker/"Locking">
-
-=back
-
-$obj-E<gt>B<isLocked>
-
-=over 4
-
-=back
-
-$obj-E<gt>B<lock>
-
-=over 4
-
-=back
-
-$obj-E<gt>B<unlock>
-
-=over 4
-
-See L<Mail::Box::Locker/"Locking">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Locker::POSIX-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Locker::POSIX-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Locker::POSIX-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Box::Locker/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unable to check lock file $filename for $folder: $!
-
-To check whether the filename is used to flock a folder, the file must be
-opened.  Apparently this fails, which does not mean that the folder is
-locked neither that it is unlocked.
-
-I<Error:> Unable to open POSIX lock file $filename for $folder: $!
-
-For POSIX style locking, a folder it must be opened, which does not
-succeed for the specified reason.
-
-I<Error:> Will never get a POSIX lock at $filename for $folder: $!
-
-Tried to lock the folder, but it did not succeed.  The error code received
-from the OS indicates that it will not succeed ever, so we do not need to
-try again.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker/POSIX.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Locker/POSIX.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Locker.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,129 +0,0 @@
-
-use strict;
-
-package Mail::Box::Locker;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Reporter';
-
-use Carp;
-use Scalar::Util 'weaken';
-
-#-------------------------------------------
-
-
-my %lockers =
-  ( DOTLOCK => __PACKAGE__ .'::DotLock'
-  , FLOCK   => __PACKAGE__ .'::Flock'
-  , MULTI   => __PACKAGE__ .'::Multi'
-  , NFS     => __PACKAGE__ .'::NFS'
-  , NONE    => __PACKAGE__
-  , POSIX   => __PACKAGE__ .'::POSIX'
-  );
-
-sub new(@)
-{   my $class  = shift;
-
-    return $class->SUPER::new(@_)
-        unless $class eq __PACKAGE__;
-
-    # Try to figure out which locking method we really want (bootstrap)
-
-    my %args   = @_;
-    my $method = !defined $args{method}       ? 'DOTLOCK'
-               : ref $args{method} eq 'ARRAY' ? 'MULTI'
-               :                                 uc $args{method};
-
-    my $create = $lockers{$method} || $args{$method};
-
-    local $"   = ' or ';
-    confess "No locking method $method defined: use @{[ keys %lockers ]}"
-        unless $create;
-
-    # compile the locking module (if needed)
-    eval "require $create";
-    confess $@ if $@;
-
-    $args{use} = $args{method} if ref $args{method} eq 'ARRAY';
-
-    $create->SUPER::new(%args);
-}
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    $self->SUPER::init($args);
-
-    $self->{MBL_folder}   = $args->{folder}
-        or croak "No folder specified to be locked.\n";
-
-    weaken($self->{MBL_folder});
-
-    $self->{MBL_expires}  = $args->{expires}   || 3600;  # one hour
-    $self->{MBL_timeout}  = $args->{timeout}   || 10;    # ten secs
-    $self->{MBL_filename} = $args->{file}      || $args->{folder}->name;
-    $self->{MBL_has_lock} = 0;
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub name {shift->notImplemented}
-
-#-------------------------------------------
-
-sub lockMethod($$$$)
-{   confess "Method removed: use inheritance to implement own method."
-}
-
-#-------------------------------------------
-
-
-sub folder() {shift->{MBL_folder}}
-
-#-------------------------------------------
-
-
-sub filename(;$)
-{   my $self = shift;
-    $self->{MBL_filename} = shift if @_;
-    $self->{MBL_filename};
-}
-
-#-------------------------------------------
-
-
-sub lock($) { shift->{MBL_has_lock} = 1 }
-
-#-------------------------------------------
-
-
-sub isLocked($) {0}
-
-#-------------------------------------------
-
-
-sub hasLock() {shift->{MBL_has_lock} }
-
-#-------------------------------------------
-
-
-# implementation hazard: the unlock must be self-reliant, without
-# help by the folder, because it may be called at global destruction
-# after the folder has been removed.
-
-sub unlock() { shift->{MBL_has_lock} = 0 }
-
-#-------------------------------------------
-
-
-sub DESTROY()
-{   my $self = shift;
-    $self->unlock if $self->hasLock;
-    $self->SUPER::DESTROY;
-    $self;
-}
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Locker.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Locker.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,427 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Locker - manage the locking of mail folders
-
-
-=head1 INHERITANCE
-
- Mail::Box::Locker
-   is a Mail::Reporter
-
- Mail::Box::Locker is extended by
-   Mail::Box::Locker::DotLock
-   Mail::Box::Locker::Flock
-   Mail::Box::Locker::Multi
-   Mail::Box::Locker::NFS
-   Mail::Box::Locker::POSIX
-
-
-=head1 SYNOPSIS
-
- use Mail::Box::Locker;
- my $locker = new Mail::Box::Locker(folder => $folder);
-
- $locker->lock;
- $locker->isLocked;
- $locker->hasLock;
- $locker->unlock;
-
- use Mail::Box;
- my $folder = Mail::Box->new(lock_method => 'DOTLOCK');
- print $folder->locker->type;
-
-
-=head1 DESCRIPTION
-
-Each L<Mail::Box|Mail::Box> will create its own C<Mail::Box::Locker> object which
-will handle the locking for it.  You can access of the object directly
-from the folder, as shown in the examples below.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::Locker-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-Create a new lock. You may do this directly. However, in most cases the
-lock will not be separately instantiated but will be the second class in
-a multiple inheritance construction with a L<Mail::Box|Mail::Box>.
-
-Generally the client program specifies the locking behavior through
-options given to the folder class.
-
- Option   Defined in       Default      
- expires                   1 hour       
- file                      undef        
- folder                    <required>   
- log      L<Mail::Reporter>  C<'WARNINGS'>
- method                    C<'DOTLOCK'> 
- timeout                   10 seconds   
- trace    L<Mail::Reporter>  C<'WARNINGS'>
-
-. expires SECONDS
-
-=over 4
-
-How long can a lock exist?  If a different e-mail program leaves a stale
-lock, then this lock will be removed automatically after the specified
-number of seconds.
-
-=back
-
-. file FILENAME
-
-=over 4
-
-Name of the file to lock.  By default, the name of the folder is taken.
-
-=back
-
-. folder FOLDER
-
-=over 4
-
-Which FOLDER is to be locked, a L<Mail::Box|Mail::Box> object.
-
-=back
-
-. log LEVEL
-
-. method STRING|CLASS|ARRAY
-
-=over 4
-
-Which kind of locking, specified as one of the following names as STRING.
-You may also specify a CLASS name, or an ARRAY of names.  In case of an
-ARRAY, a 'multi' locker is started with all thee 
-full CLASS name.
-
-Supported locking names are
-
-=over 4
-
-=item 'DOTLOCK' | 'dotlock'
-
-The folder handler creates a file which signals that it is in use.  This
-is a bit problematic, because not all mail-handling software agree on
-the name of the file to be created.
-
-On various folder types, the lockfile differs.  See the documentation for
-each folder, which describes the locking strategy as well as special
-options to change the default behavior.
-
-=item 'FLOCK' | 'flock'
-
-For some folder handlers, locking is based on a file locking mechanism
-provided by the operating system.  However, this does not work on all
-systems, such as network filesystems, and such. This also doesn't work on
-folders based on directories (L<Mail::Box::Dir|Mail::Box::Dir> and derived).
-
-=item 'POSIX' | 'posix'
-
-Use the POSIX standard fcntl locking.
-
-=item 'MULTI' | 'multi'
-
-Use ALL available locking methods at the same time, to have a bigger
-chance that the folder will not be modified by some other application
-which uses an unspecified locking method.  When one of the locking
-methods disallows access, the locking fails.
-
-=item 'NFS' | 'nfs'
-
-A kind of C<dotlock> file-locking mechanism, but adapted to work over
-NFS.  Extra precaution is needed because an C<open O_EXCL> on NFS is
-not an atomic action.
-
-=item 'NONE' | 'none'
-
-Do not use locking.
-
-=back
-
-The other option is to produce your own C<Mail::Box::Locker> derived class,
-which implements the desired locking method. (Please consider offering it
-for inclusion in the public Mail::Box module!) Create an instance of that
-class with this parameter:
-
- my $locker = Mail::Box::Locker::MyOwn->new;
- $folder->open(locker => $locker);
-
-=back
-
-. timeout SECONDS|'NOTIMEOUT'
-
-=over 4
-
-How long to wait while trying to acquire the lock. The lock request will
-fail when the specified number of seconds is reached.  If C<'NOTIMEOUT'> is
-specified, the module will wait until the lock can be taken.
-
-Whether it is possible to limit the wait time is platform- and
-locking-method-specific.  For instance, the `dotlock' method on Windows
-will always wait until the lock has been received.
-
-=back
-
-. trace LEVEL
-
-=back
-
-=head2 The Locker
-
-
-$obj-E<gt>B<filename>([FILENAME])
-
-=over 4
-
-Returns the filename which is used to lock the folder, optionally after
-setting it to the specified FILENAME.
-
-I<Example:> 
-
- print $locker->filename;
-
-=back
-
-$obj-E<gt>B<folder>
-
-=over 4
-
-Returns the folder object which is locker.
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-Returns the method used to lock the folder. See the L<new(method)|Mail::Box::Locker/"METHODS"> for
-details on how to specify the lock method.  The name of the method is
-returned in upper-case.
-
-I<Example:> 
-
- if($locker->name eq 'FLOCK') ...
-
-=back
-
-=head2 Locking
-
-
-$obj-E<gt>B<hasLock>
-
-=over 4
-
-Check whether the folder has the lock.
-
-I<Example:> 
-
- if($locker->hasLock) {...}
- if($folder->locker->hasLock) {...}
-
-=back
-
-$obj-E<gt>B<isLocked>
-
-=over 4
-
-Test if the folder is locked by this or a different application.
-
-I<Example:> 
-
- if($locker->isLocked) {...}
- if($folder->locker->isLocked) {...}
-
-=back
-
-$obj-E<gt>B<lock>(FOLDER)
-
-=over 4
-
-Get a lock on a folder.  This will return false if the lock fails.
-
-I<Example:> 
-
- die unless $locker->lock;
- if($folder->locker->lock) {...}
-
-=back
-
-$obj-E<gt>B<unlock>
-
-=over 4
-
-Undo the lock on a folder.
-
-I<Example:> 
-
- $locker->unlock;
- $folder->locker->unlock;
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Locker-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Locker-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Locker-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-When the locker is destroyed, for instance when the folder is closed
-or the program ends, the lock will be automatically removed.
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Locker.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Locker.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Index.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/MH/Index.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Index.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,118 +0,0 @@
-
-use strict;
-
-package Mail::Box::MH::Index;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Reporter';
-
-use Mail::Message::Head::Subset;
-use Carp;
-
-
-#-------------------------------------------
-
-
-sub init($)
-{   my ($self, $args) = @_;
-    $self->SUPER::init($args);
-
-    $self->{MBMI_filename}  = $args->{filename}
-       or croak "No index filename specified.";
-
-    $self->{MBMI_head_wrap} = $args->{head_wrap} || 72;
-    $self->{MBMI_head_type}
-       = $args->{head_type} || 'Mail::Message::Head::Subset';
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub filename() {shift->{MBMI_filename}}
-
-#-------------------------------------------
-
-
-sub write(@)
-{   my $self      = shift;
-    my $index     = $self->filename or return $self;
-    my $fieldtype = 'Mail::Message::Field';
-
-    # Remove empty index-file.
-    unless(@_)
-    {   unlink $index;
-        return $self;
-    }
-
-    my $written    = 0;
-
-    local *INDEX;
-    open INDEX, '>', $index or return;
-
-    foreach my $msg (@_)
-    {   my $head     = $msg->head;
-        next if $head->isDelayed;
-
-        my $filename = $msg->filename;
-        $head->setNoRealize($fieldtype->new('X-MailBox-Filename' => $filename));
-        $head->setNoRealize($fieldtype->new('X-MailBox-Size'  => -s $filename));
-        $head->print(\*INDEX);
-        $written++;
-    }
-
-    close INDEX;
-
-    unlink $index unless $written;
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub read(;$)
-{   my $self     = shift;
-    my $filename = $self->{MBMI_filename};
-
-    my $parser   = Mail::Box::Parser->new
-      ( filename => $filename
-      , mode     => 'r'
-      ) or return;
-
-    my @options  = ($self->logSettings, wrap_length => $self->{MBMI_head_wrap});
-    my $type     = $self->{MBMI_head_type};
-    my $index_age= -M $filename;
-    my %index;
-
-    while(my $head = $type->new(@options)->read($parser))
-    {
-        # cleanup the index from files which were renamed
-        my $msgfile = $head->get('x-mailbox-filename');
-        my $size    = int $head->get('x-mailbox-size');
-        next unless -f $msgfile && -s _ == $size;
-        next if defined $index_age && -M _ >= $index_age;
-
-        # keep this one
-        $index{$msgfile} = $head;
-    }
-
-    $parser->stop;
-
-    $self->{MBMI_index} = \%index;
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub get($)
-{   my ($self, $msgfile) = @_;
-    $self->{MBMI_index}{$msgfile};
-}
-
-#-------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Index.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/MH/Index.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Index.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/MH/Index.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Index.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,288 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::MH::Index - keep index files for messages.
-
-
-=head1 INHERITANCE
-
- Mail::Box::MH::Index
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my $index = Mail::Box::MH::Index->new;
- $index->read(...)
- $index->write(...)
-
-
-=head1 DESCRIPTION
-
-Message folders which store their data in one single file per message are
-very inefficient for producing subject overviews and for computing message
-threads.  The C<Mail::Box::MH::Index> object is able to store and read a the
-headers of a set of C<Mail::Box::MH::Message> messages which are
-part of a single C<Mail::Box::MH> folder in one file.
-
-When the C<Mail::Box::MH::Index> functionality is enabled by specifying
-L<Mail::Box::MH::new(keep_index)|Mail::Box::MH/"METHODS"> when opening a folder, the index file
-is automatically read.  When the folder is closed, a new index file is
-created.
-
-Special care is taken to avoid problems which occur when the user changes
-or removes message files without updating the index. If the index is not
-trustworthy it will not be used (costing some performance for the reader
-of the folder).
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::MH::Index-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option     Defined in       Default                                                   
- filename                    <required>                                                
- head_type                   L<Mail::Message::Head::Subset|Mail::Message::Head::Subset>
- head_wrap                   72                                                        
- log        L<Mail::Reporter>  C<'WARNINGS'>                                             
- trace      L<Mail::Reporter>  C<'WARNINGS'>                                             
-
-. filename FILENAME
-
-=over 4
-
-The FILENAME which is used to store the headers of all the e-mails for
-one folder. This must be an absolute pathname.
-
-=back
-
-. head_type CLASS
-
-=over 4
-
-The type of headers which will be used to store header information when
-it is read from the index file.  You can not be sure the index contains
-all header line (the mailbox may have been updated without updating
-the index) so this will usually be (an sub-class of)
-L<Mail::Message::Head::Subset|Mail::Message::Head::Subset>.
-
-=back
-
-. head_wrap INTEGER
-
-=over 4
-
-The preferred number of character in each header line.
-
-=back
-
-. log LEVEL
-
-. trace LEVEL
-
-=back
-
-=head2 The Index
-
-
-$obj-E<gt>B<filename>
-
-=over 4
-
-Returns the name of the index file.
-
-=back
-
-$obj-E<gt>B<get>(MSGFILE)
-
-=over 4
-
-Look if there is header info for the specified MSGFILE.  The filename
-represents one message in folder type which are organized as directory.
-This method will return an object of the L<new(head_type)|Mail::Box::MH::Index/"Constructors"> as specified
-during creation of the index object, or C<undef> if the information
-is not known or not trustworthy -i.e. the file size changed.
-
-=back
-
-$obj-E<gt>B<read>
-
-=over 4
-
-Read the index file.  The header objects can after this be requested
-with the get() method.
-
-=back
-
-$obj-E<gt>B<write>(MESSAGES)
-
-=over 4
-
-Write an index file containing the headers specified MESSAGES
-(Mail::Message objects).
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::MH::Index-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::MH::Index-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::MH::Index-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Index.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/MH/Index.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Labels.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/MH/Labels.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Labels.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,163 +0,0 @@
-
-use strict;
-
-package Mail::Box::MH::Labels;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Reporter';
-
-use Mail::Message::Head::Subset;
-
-use File::Copy;
-use Carp;
-
-
-#-------------------------------------------
-
-
-sub init($)
-{   my ($self, $args) = @_;
-    $self->SUPER::init($args);
-    $self->{MBML_filename}  = $args->{filename}
-       or croak "No label filename specified.";
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub filename() {shift->{MBML_filename}}
-
-#-------------------------------------------
-
-
-sub get($)
-{   my ($self, $msgnr) = @_;
-    $self->{MBML_labels}[$msgnr];
-}
-
-#-------------------------------------------
-
-
-sub read()
-{   my $self = shift;
-    my $seq  = $self->filename;
-
-    open SEQ, '<', $seq
-       or return;
-
-    my @labels;
-
-    local $_;
-    while(<SEQ>)
-    {   s/\s*\#.*$//;
-        next unless length;
-
-        next unless s/^\s*(\w+)\s*\:\s*//;
-        my $label = $1;
-
-        my $set   = 1;
-           if($label eq 'cur'   ) { $label = 'current' }
-        elsif($label eq 'unseen') { $label = 'seen'; $set = 0 }
-
-        foreach (split /\s+/)
-        {   if( /^(\d+)\-(\d+)\s*$/ )
-            {   push @{$labels[$_]}, $label, $set foreach $1..$2;
-            }
-            elsif( /^\d+\s*$/ )
-            {   push @{$labels[$_]}, $label, $set;
-            }
-        }
-    }
-
-    close SEQ;
-
-    $self->{MBML_labels} = \@labels;
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub write(@)
-{   my $self     = shift;
-    my $filename = $self->filename;
-
-    # Remove when no messages are left.
-    unless(@_)
-    {   unlink $filename;
-        return $self;
-    }
-
-    open my $out, '>', $filename or return;
-    $self->print($out, @_);
-    close $out;
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub append(@)
-{   my $self     = shift;
-    my $filename = $self->filename;
-
-    open(my $out, '>>', $filename) or return;
-    $self->print($out, @_);
-    close $out;
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub print($@)
-{   my ($self, $out) = (shift, shift);
-
-    # Collect the labels from the selected messages.
-    my %labeled;
-    foreach my $message (@_)
-    {   my $labels = $message->labels;
-        (my $seq   = $message->filename) =~ s!.*/!!;
-
-        push @{$labeled{unseen}}, $seq
-            unless $labels->{seen};
-
-        foreach (keys %$labels)
-        {   push @{$labeled{$_}}, $seq
-                if $labels->{$_};
-        }
-    }
-    delete $labeled{seen};
-
-    # Write it out
-
-    local $"     = ' ';
-    foreach (sort keys %labeled)
-    {
-        my @msgs = @{$labeled{$_}};  #they are ordered already.
-        $_ = 'cur' if $_ eq 'current';
-        print $out "$_:";
-
-        while(@msgs)
-        {   my $start = shift @msgs;
-            my $end   = $start;
-
-            $end = shift @msgs
-                 while @msgs && $msgs[0]==$end+1;
-
-            print $out ($start==$end ? " $start" : " $start-$end");
-        }
-        print $out "\n";
-    }
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Labels.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/MH/Labels.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Labels.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/MH/Labels.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Labels.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,270 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::MH::Labels - maintain MH message related labels
-
-
-=head1 INHERITANCE
-
- Mail::Box::MH::Labels
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my $labels = Mail::Box::MH::Labels->new;
- $labels->read(...)
- $labels->write(...)
-
-
-=head1 DESCRIPTION
-
-MH type message folders use one dedicated file per folder-directory to list
-special tags to messages in that folder.  By doing this, mail agents may
-avoid parsing all the messages, which is very resource consuming.
-
-Labels can be used to group messages, for instance to reflect which
-messages have been read or which look like spam.  Some labels are
-predefined, but more can be added without limitation.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::MH::Labels-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option    Defined in       Default      
- filename                   <required>   
- log       L<Mail::Reporter>  C<'WARNINGS'>
- trace     L<Mail::Reporter>  C<'WARNINGS'>
-
-. filename FILENAME
-
-=over 4
-
-The FILENAME which is used in each directory to store the headers of all
-mails. The filename must be an absolute path.
-
-=back
-
-. log LEVEL
-
-. trace LEVEL
-
-=back
-
-=head2 The Label Table
-
-
-$obj-E<gt>B<append>(MESSAGES)
-
-=over 4
-
-Append the label information about the specified MESSAGES to the end
-of the label file.  The information will not be merged with the
-information already present in the label file.
-
-=back
-
-$obj-E<gt>B<filename>
-
-=over 4
-
-Returns the name of the index file.
-
-=back
-
-$obj-E<gt>B<get>(MSGNR)
-
-=over 4
-
-Look if there is label info for message MSGNR.
-
-=back
-
-$obj-E<gt>B<print>(FILEHANDLE, MESSAGES)
-
-=over 4
-
-Print the labels of the specified messages to the opened file.
-
-=back
-
-$obj-E<gt>B<read>
-
-=over 4
-
-Read all label information from file.
-
-=back
-
-$obj-E<gt>B<write>(MESSAGES)
-
-=over 4
-
-Write the labels related to the specified messages to the label file.
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::MH::Labels-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::MH::Labels-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::MH::Labels-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Labels.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/MH/Labels.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Message.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/MH/Message.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Message.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,22 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Box::MH::Message;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::Dir::Message';
-
-use File::Copy;
-use Carp;
-
-
-#-------------------------------------------
-
-
-# Purpose of doc is only the warning... no new implementation required.
-
-#-------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Message.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/MH/Message.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Message.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/MH/Message.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Message.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,993 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::MH::Message - one message in an MH-folder
-
-
-=head1 INHERITANCE
-
- Mail::Box::MH::Message
-   is a Mail::Box::Dir::Message
-   is a Mail::Box::Message
-   is a Mail::Message
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my $folder = new Mail::Box::MH ...
- my $message = $folder->message(10);
-
-
-=head1 DESCRIPTION
-
-A C<Mail::Box::MH::Message> represents one message in an
-L<Mail::Box::MH|Mail::Box::MH> folder . Each message is stored in a separate file,
-as for all L<Mail::Box::Dir|Mail::Box::Dir> folder types.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"Constructors">
-
-=back
-
-Mail::Box::MH::Message-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Dir::Message/"METHODS">
-
-=back
-
-=head2 Constructing a message
-
-
-$obj-E<gt>B<bounce>([RG-OBJECT|OPTIONS])
-
-=over 4
-
-See L<Mail::Message::Construct::Bounce/"Constructing a message">
-
-=back
-
-Mail::Box::MH::Message-E<gt>B<build>([MESSAGE|PART|BODY], CONTENT)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-Mail::Box::MH::Message-E<gt>B<buildFromBody>(BODY, [HEAD], HEADERS)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forward>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardAttach>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardEncapsulate>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardInline>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardNo>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPostlude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPrelude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardSubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-Mail::Box::MH::Message-E<gt>B<read>(FILEHANDLE|SCALAR|REF-SCALAR|ARRAY-OF-LINES, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Read/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<rebuild>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<reply>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replyPrelude>([STRING|FIELD|ADDRESS|ARRAY-OF-THINGS])
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replySubject>(STRING)
-
-Mail::Box::MH::Message-E<gt>B<replySubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-=head2 The message
-
-
-$obj-E<gt>B<container>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<copyTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<filename>([FILENAME])
-
-=over 4
-
-See L<Mail::Box::Dir::Message/"The message">
-
-=back
-
-$obj-E<gt>B<folder>([FOLDER])
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isDummy>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isPart>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<messageId>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<moveTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<send>([MAILER], OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<seqnr>([INTEGER])
-
-=over 4
-
-The order of this message in the folder, counted from zero.  Do not
-change the number (unless you understand the implications).
-
-WARNING:  This sequence number has nothing to do with the message's
-filename, which in case of MH folders are also numbers!  If you need
-that one, use the File::Basename subroutine basename of the filename.
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<toplevel>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<write>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<bcc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<cc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<date>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<destinations>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<from>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<get>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<guessTimestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<head>([HEAD])
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<sender>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<study>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<subject>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<timestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<to>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-=head2 The body
-
-
-$obj-E<gt>B<body>([BODY])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<decoded>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<encode>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isNested>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<parts>(['ALL'|'ACTIVE'|'DELETED'|'RECURSE'|FILTER])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-=head2 Flags
-
-
-$obj-E<gt>B<delete>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<deleted>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isDeleted>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<label>(LABEL|PAIRS)
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<labels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<labelsToStatus>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<statusToLabels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-=head2 The whole message as text
-
-
-$obj-E<gt>B<file>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<lines>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<printStructure>([FILEHANDLE|undef],[INDENT])
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<clonedFrom>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-Mail::Box::MH::Message-E<gt>B<coerce>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<create>(FILENAME)
-
-=over 4
-
-See L<Mail::Box::Dir::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<diskDelete>
-
-=over 4
-
-See L<Mail::Box::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<loadBody>
-
-=over 4
-
-See L<Mail::Box::Dir::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<loadHead>
-
-=over 4
-
-See L<Mail::Box::Dir::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<parser>
-
-=over 4
-
-See L<Mail::Box::Dir::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readBody>(PARSER, HEAD [, BODYTYPE])
-
-=over 4
-
-See L<Mail::Box::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readFromParser>(PARSER, [BODYTYPE])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readHead>(PARSER [,CLASS])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<recursiveRebuildPart>(PART, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Internals">
-
-=back
-
-$obj-E<gt>B<storeBody>(BODY)
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<takeMessageId>([STRING])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Message::Construct/"METHODS">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::MH::Message-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::MH::Message-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::MH::Message-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortSize>([VALUE])
-
-Mail::Box::MH::Message-E<gt>B<shortSize>([VALUE])
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortString>
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<destruct>
-
-=over 4
-
-See L<Mail::Box::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot create parser for $filename.
-
-For some reason (the previous message have told you already) it was not possible
-to create a message parser for the specified filename.
-
-I<Error:> Cannot include forward source as $include.
-
-Unknown alternative for the L<forward(include)|Mail::Message::Construct::Forward/"Constructing a message">.  Valid choices are
-C<NO>, C<INLINE>, C<ATTACH>, and C<ENCAPSULATE>.
-
-I<Error:> Cannot include reply source as $include.
-
-Unknown alternative for the C<include> option of L<reply()|Mail::Message::Construct::Reply/"Constructing a message">.  Valid
-choices are C<NO>, C<INLINE>, and C<ATTACH>.
-
-I<Error:> Cannot write message to $filename: $!
-
-When a modified or new message is written to disk, it is first written
-to a temporary file in the folder directory.  For some reason, it is
-impossible to create this file.
-
-I<Error:> Failed to move $new to $filename: $!
-
-When a modified or new message is written to disk, it is first written
-to a temporary file in the folder directory.  Then, the new file is
-moved to replace the existing file.  Apparently, the latter fails.
-
-I<Error:> No address to create forwarded to.
-
-If a forward message is created, a destination address must be specified.
-
-I<Error:> No default mailer found to send message.
-
-The message L<send()|Mail::Message/"The message"> mechanism had not enough information to automatically
-find a mail transfer agent to sent this message.  Specify a mailer
-explicitly using the C<via> options.
-
-I<Error:> Only build() Mail::Message's; they are not in a folder yet
-
-You may wish to construct a message to be stored in a some kind
-of folder, but you need to do that in two steps.  First, create a
-normal L<Mail::Message|Mail::Message>, and then add it to the folder.  During this
-L<Mail::Box::addMessage()|Mail::Box/"The folder"> process, the message will get L<coerce()|Mail::Message/"Internals">-d
-into the right message type, adding storage information and the like.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unable to read delayed body.
-
-For some reason, the header of the message could be read, but the body
-cannot.  Probably the file has disappeared or the permissions were
-changed during the progress of the program.
-
-I<Error:> Unable to read delayed head.
-
-Mail::Box tries to be I<lazy> with respect to parsing messages.  When a
-directory organized folder is opened, only the filenames of messages are
-collected.  At first use, the messages are read from their file.  Apperently,
-a message is used for the first time here, but has disappeared or is
-unreadible for some other reason.
-
-I<Error:> bounce requires To, Cc, or Bcc
-
-The message L<bounce()|Mail::Message::Construct::Bounce/"Constructing a message"> method forwards a received message off to someone
-else without modification; you must specified it's new destination.
-If you have the urge not to specify any destination, you probably
-are looking for L<reply()|Mail::Message::Construct::Reply/"Constructing a message">. When you wish to modify the content, use
-L<forward()|Mail::Message::Construct::Forward/"Constructing a message">.
-
-I<Error:> forwardAttach requires a preamble object
-
-
-I<Error:> forwardEncapsulate requires a preamble object
-
-
-I<Error:> no rebuild rule $name defined.
-
-
-
-=head1 DETAILS
-
-
-=head2 Labels
-
-
-=head3 The .mh_sequences file
-
-Typically, the file which contains the labels is called C<.mh_sequences>.
-The MH messages are numbered from C<1>.  As example content for
-C<.mh_sequences>:
-
- cur: 93
- unseen: 32 35-56 67-80
-
-To generalize labels on messages, two are treated specially:
-
-=over 4
-
-=item * cur
-
-The C<cur> specifies the number of the message where the user stopped
-reading mail from this folder at last access.  Internally in these
-modules referred to as label C<current>.
-
-=item * unseen
-
-With C<unseen> is listed which message was never read.
-This must be a mistake in the design of MH: it must be a source of
-confusion.  People should never use labels with a negation in the
-name:
-
- if($seen)           if(!$unseen)    #yuk!
- if(!$seen)          if($unseen)
- unless($seen)       unless($unseen) #yuk!
-
-So: label C<unseen> is translated into C<seen> for internal use.
-
-=back
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH/Message.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/MH/Message.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/MH.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,440 +0,0 @@
-
-use strict;
-package Mail::Box::MH;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::Dir';
-
-use Mail::Box::MH::Index;
-use Mail::Box::MH::Message;
-use Mail::Box::MH::Labels;
-
-use Carp;
-use File::Spec       ();
-use File::Basename   'basename';
-use IO::Handle       ();
-
-# Since MailBox 2.052, the use of File::Spec is reduced to the minimum,
-# because it is too slow.  The '/' directory separators do work on
-# Windows too.
-
-
-my $default_folder_dir = exists $ENV{HOME} ? "$ENV{HOME}/.mh" : '.';
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    $args->{folderdir}     ||= $default_folder_dir;
-    $args->{lock_file}     ||= $args->{index_filename};
-
-    $self->SUPER::init($args);
-
-    my $folderdir            = $self->folderdir;
-    my $directory            = $self->directory;
-    return unless -d $directory;
-
-    # About the index
-
-    $self->{MBM_keep_index}  = $args->{keep_index} || 0;
-    $self->{MBM_index}       = $args->{index};
-    $self->{MBM_index_type}  = $args->{index_type} || 'Mail::Box::MH::Index';
-    for($args->{index_filename})
-    {  $self->{MBM_index_filename}
-          = !defined $_ ? "$directory/.index"          # default
-          : File::Spec->file_name_is_absolute($_) ? $_ # absolute
-          :               "$directory/$_";             # relative
-    }
-
-    # About labels
-
-    $self->{MBM_labels}      = $args->{labels};
-    $self->{MBM_labels_type} = $args->{labels_type} || 'Mail::Box::MH::Labels';
-    for($args->{labels_filename})
-    {   $self->{MBM_labels_filename}
-          = !defined $_ ? "$directory/.mh_sequences"
-          : File::Spec->file_name_is_absolute($_) ? $_   # absolute
-          :               "$directory/$_";               # relative
-    }
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub create($@)
-{   my ($thingy, $name, %args) = @_;
-    my $class     = ref $thingy      || $thingy;
-    my $folderdir = $args{folderdir} || $default_folder_dir;
-    my $directory = $class->folderToDirectory($name, $folderdir);
-
-    return $class if -d $directory;
-
-    if(mkdir $directory, 0700)
-    {   $class->log(PROGRESS => "Created folder $name.");
-        return $class;
-    }
-    else
-    {   $class->log(ERROR => "Cannot create MH folder $name: $!");
-        return;
-    }
-}
-
-#-------------------------------------------
-
-sub foundIn($@)
-{   my $class = shift;
-    my $name  = @_ % 2 ? shift : undef;
-    my %args  = @_;
-    my $folderdir = $args{folderdir} || $default_folder_dir;
-    my $directory = $class->folderToDirectory($name, $folderdir);
-
-    return 0 unless -d $directory;
-    return 1 if -f "$directory/1";
-
-    # More thorough search required in case some numbered messages
-    # disappeared (lost at fsck or copy?)
-
-    return unless opendir DIR, $directory;
-    foreach (readdir DIR)
-    {   next unless m/^\d+$/;   # Look for filename which is a number.
-        closedir DIR;
-        return 1;
-    }
-
-    closedir DIR;
-    0;
-}
-
-#-------------------------------------------
-
-sub type() {'mh'}
-
-#-------------------------------------------
-
-sub listSubFolders(@)
-{   my ($class, %args) = @_;
-    my $dir;
-    if(ref $class)
-    {   $dir   = $class->directory;
-        $class = ref $class;
-    }
-    else
-    {   my $folder    = $args{folder}    || '=';
-        my $folderdir = $args{folderdir} || $default_folder_dir;
-        $dir   = $class->folderToDirectory($folder, $folderdir);
-    }
-
-    $args{skip_empty} ||= 0;
-    $args{check}      ||= 0;
-
-    # Read the directories from the directory, to find all folders
-    # stored here.  Some directories have to be removed because they
-    # are created by all kinds of programs, but are no folders.
-
-    return () unless -d $dir && opendir DIR, $dir;
-
-    my @dirs = grep { !/^\d+$|^\./ && -d "$dir/$_" && -r _ }
-                   readdir DIR;
-
-    closedir DIR;
-
-    # Skip empty folders.  If a folder has sub-folders, then it is not
-    # empty.
-    if($args{skip_empty})
-    {    my @not_empty;
-
-         foreach my $subdir (@dirs)
-         {   if(-f "$dir/$subdir/1")
-             {   # Fast found: the first message of a filled folder.
-                 push @not_empty, $subdir;
-                 next;
-             }
-
-             opendir DIR, "$dir/$subdir" or next;
-             my @entities = grep !/^\./, readdir DIR;
-             closedir DIR;
-
-             if(grep /^\d+$/, @entities)   # message 1 was not there, but
-             {   push @not_empty, $subdir; # other message-numbers exist.
-                 next;
-             }
-
-             foreach (@entities)
-             {   next unless -d "$dir/$subdir/$_";
-                 push @not_empty, $subdir;
-                 last;
-             }
-
-         }
-
-         @dirs = @not_empty;
-    }
-
-    # Check if the files we want to return are really folders.
-
-    @dirs = map { m/(.*)/ && $1 ? $1 : () } @dirs;   # untaint
-    return @dirs unless $args{check};
-
-    grep { $class->foundIn("$dir/$_") } @dirs;
-}
-
-#-------------------------------------------
-
-sub openSubFolder($)
-{   my ($self, $name) = @_;
-
-    my $subdir = $self->nameOfSubFolder($name);
-    unless(-d $subdir || mkdir $subdir, 0755)
-    {   warn "Cannot create subfolder $name for $self: $!\n";
-        return;
-    }
-
-    $self->SUPER::openSubFolder($name, @_);
-}
-
-#-------------------------------------------
-
-sub topFolderWithMessages() { 1 }
-
-#-------------------------------------------
-
-
-sub appendMessages(@)
-{   my $class  = shift;
-    my %args   = @_;
-
-    my @messages = exists $args{message} ? $args{message}
-                 : exists $args{messages} ? @{$args{messages}}
-                 : return ();
-
-    my $self     = $class->new(@_, access => 'a')
-        or return ();
-
-    my $directory= $self->directory;
-    return unless -d $directory;
-
-    my $locker   = $self->locker;
-    unless($locker->lock)
-    {   $self->log(ERROR => "Cannot append message without lock on $self.");
-        return;
-    }
-
-    my $msgnr    = $self->highestMessageNumber +1;
-
-    foreach my $message (@messages)
-    {   my $filename = "$directory/$msgnr";
-        $message->create($filename)
-           or $self->log(ERROR =>
-	           "Unable to write message for $self to $filename: $!\n");
-
-        $msgnr++;
-    }
- 
-    my $labels   = $self->labels->append(@messages);
-
-    $locker->unlock;
-    $self->close;
-
-    @messages;
-}
-
-#-------------------------------------------
-
-
-sub highestMessageNumber()
-{   my $self = shift;
-
-    return $self->{MBM_highest_msgnr}
-        if exists $self->{MBM_highest_msgnr};
-
-    my $directory    = $self->directory;
-
-    opendir DIR, $directory or return;
-    my @messages = sort {$a <=> $b} grep /^\d+$/, readdir DIR;
-    closedir DIR;
-
-    $messages[-1];
-}
-
-#-------------------------------------------
-
-
-sub index()
-{   my $self  = shift;
-    return () unless $self->{MBM_keep_index};
-    return $self->{MBM_index} if defined $self->{MBM_index};
-
-    $self->{MBM_index} = $self->{MBM_index_type}->new
-     ( filename  => $self->{MBM_index_filename}
-     , $self->logSettings
-     )
-
-}
-
-#-------------------------------------------
-
-
-sub labels()
-{   my $self   = shift;
-    return $self->{MBM_labels} if defined $self->{MBM_labels};
-
-    $self->{MBM_labels} = $self->{MBM_labels_type}->new
-      ( filename => $self->{MBM_labels_filename}
-      , $self->logSettings
-      )
-}
-
-#-------------------------------------------
-
-sub readMessageFilenames
-{   my ($self, $dirname) = @_;
-
-    opendir DIR, $dirname or return;
-
-    # list of numerically sorted, untainted filenames.
-    my @msgnrs
-       = sort {$a <=> $b}
-            map { /^(\d+)$/ && -f "$dirname/$1" ? $1 : () }
-               readdir DIR;
-
-    closedir DIR;
-
-    @msgnrs;
-}
-
-#-------------------------------------------
-
-sub readMessages(@)
-{   my ($self, %args) = @_;
-
-    my $directory = $self->directory;
-    return unless -d $directory;
-
-    my $locker = $self->locker;
-    $locker->lock or return;
-
-    my @msgnrs = $self->readMessageFilenames($directory);
-
-    my $index  = $self->{MBM_index};
-    unless($index)
-    {   $index = $self->index;
-        $index->read if $index;
-    }
-
-    my $labels = $self->{MBM_labels};
-    unless($labels)
-    {    $labels = $self->labels;
-         $labels->read if $labels;
-    }
-
-    my $body_type   = $args{body_delayed_type};
-    my $head_type   = $args{head_delayed_type};
-    my @log         = $self->logSettings;
-
-    foreach my $msgnr (@msgnrs)
-    {
-        my $msgfile = "$directory/$msgnr";
-
-        my $head;
-        $head       = $index->get($msgfile) if $index;
-        $head     ||= $head_type->new(@log);
-
-        my $message = $args{message_type}->new
-         ( head       => $head
-         , filename   => $msgfile
-         , folder     => $self
-         , fix_header => $self->{MB_fix_headers}
-         );
-
-        my $labref  = $labels ? $labels->get($msgnr) : ();
-        $message->label(seen => 1, $labref ? @$labref : ());
-
-        $message->storeBody($body_type->new(@log, message => $message));
-        $self->storeMessage($message);
-    }
-
-    $self->{MBM_highest_msgnr}  = $msgnrs[-1];
-    $self;
-}
- 
-#-------------------------------------------
-
-sub delete(@)
-{   my $self = shift;
-    $self->SUPER::delete(@_);
-
-    my $dir = $self->directory;
-    return 1 unless opendir DIR, $dir;
-    IO::Handle::untaint \*DIR;
-
-    # directories (subfolders) are not removed, as planned
-    unlink "$dir/$_" for readdir DIR;
-    closedir DIR;
-
-    rmdir $dir;    # fails when there are subdirs (without recurse)
-}
-
-#-------------------------------------------
-
-
-sub writeMessages($)
-{   my ($self, $args) = @_;
-
-    # Write each message.  Two things complicate life:
-    #   1 - we may have a huge folder, which should not be on disk twice
-    #   2 - we may have to replace a message, but it is unacceptable
-    #       to remove the original before we are sure that the new version
-    #       is on disk.
-
-    my $locker    = $self->locker;
-    $self->log(ERROR => "Cannot write folder $self without lock."), return
-        unless $locker->lock;
-
-    my $renumber  = exists $args->{renumber} ? $args->{renumber} : 1;
-    my $directory = $self->directory;
-    my @messages  = @{$args->{messages}};
-
-    my $writer    = 0;
-    foreach my $message (@messages)
-    {
-        my $filename = $message->filename;
-
-        my $newfile;
-        if($renumber || !$filename)
-        {   $newfile = $directory . '/' . ++$writer;
-        }
-        else
-        {   $newfile = $filename;
-            $writer  = basename $filename;
-        }
-
-        $message->create($newfile);
-    }
-
-    # Write the labels- and the index-file.
-
-    my $labels = $self->labels;
-    $labels->write(@messages) if $labels;
-
-    my $index  = $self->index;
-    $index->write(@messages) if $index;
-
-    $locker->unlock;
-
-    # Remove an empty folder.  This is done last, because the code before
-    # in this method will have cleared the contents of the directory.
-
-    if(!@messages && $self->{MB_remove_empty})
-    {   # If something is still in the directory, this will fail, but I
-        # don't mind.
-        rmdir $directory;
-    }
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/MH.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/MH.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,985 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::MH - handle MH folders
-
-
-=head1 INHERITANCE
-
- Mail::Box::MH
-   is a Mail::Box::Dir
-   is a Mail::Box
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- use Mail::Box::MH;
- my $folder = new Mail::Box::MH folder => $ENV{MAIL}, ...;
-
-
-=head1 DESCRIPTION
-
-This documentation describes how MH mailboxes work, and what you
-can do with the MH folder object C<Mail::Box::MH>.
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-overload: B<@{}>
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-overload: B<cmp>
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::MH-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option             Defined in       Default                                                         
- access             L<Mail::Box>     C<'r'>                                                          
- body_delayed_type  L<Mail::Box>     L<Mail::Message::Body::Delayed|Mail::Message::Body::Delayed>    
- body_type          L<Mail::Box>     L<Mail::Message::Body::Lines|Mail::Message::Body::Lines>        
- coerce_options     L<Mail::Box>     C<[]>                                                           
- create             L<Mail::Box>     <false>                                                         
- directory          L<Mail::Box::Dir>  <derived from folder name>                                      
- extract            L<Mail::Box>     C<10240>                                                        
- field_type         L<Mail::Box>     undef                                                           
- fix_headers        L<Mail::Box>     <false>                                                         
- folder             L<Mail::Box>     C<$ENV{MAIL}>                                                   
- folderdir          L<Mail::Box>     C<$ENV{HOME}/.mh>                                               
- head_delayed_type  L<Mail::Box>     L<Mail::Message::Head::Delayed|Mail::Message::Head::Delayed>    
- head_type          L<Mail::Box>     L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>  
- index                               undef                                                           
- index_filename                      <foldername>C</.index>                                          
- index_type                          L<Mail::Box::MH::Index|Mail::Box::MH::Index>                    
- keep_dups          L<Mail::Box>     <false>                                                         
- keep_index                          0                                                               
- labels                              undef                                                           
- labels_filename                     <foldername>C</.mh_sequence>                                    
- labels_type                         L<Mail::Box::MH::Labels|Mail::Box::MH::Labels>                  
- lock_file          L<Mail::Box>     <index_file>                                                    
- lock_timeout       L<Mail::Box>     1 hour                                                          
- lock_type          L<Mail::Box>     L<Mail::Box::Locker::DotLock|Mail::Box::Locker::DotLock>        
- lock_wait          L<Mail::Box>     10 seconds                                                      
- locker             L<Mail::Box>     undef                                                           
- log                L<Mail::Reporter>  C<'WARNINGS'>                                                   
- manager            L<Mail::Box>     undef                                                           
- message_type       L<Mail::Box>     L<Mail::Box::Message|Mail::Box::Message>                        
- multipart_type     L<Mail::Box>     L<Mail::Message::Body::Multipart|Mail::Message::Body::Multipart>
- remove_when_empty  L<Mail::Box>     <true>                                                          
- save_on_exit       L<Mail::Box>     <true>                                                          
- trace              L<Mail::Reporter>  C<'WARNINGS'>                                                   
- trusted            L<Mail::Box>     <depends on folder location>                                    
-
-. access MODE
-
-. body_delayed_type CLASS
-
-. body_type CLASS|CODE
-
-. coerce_options ARRAY
-
-. create BOOLEAN
-
-. directory DIRECTORY
-
-. extract INTEGER | CODE | METHOD | 'LAZY'|'ALWAYS'
-
-. field_type CLASS
-
-. fix_headers BOOLEAN
-
-. folder FOLDERNAME
-
-. folderdir DIRECTORY
-
-. head_delayed_type CLASS
-
-. head_type CLASS
-
-. index OBJECT
-
-=over 4
-
-You may specify an OBJECT of a type which extends L<Mail::Box::MH::Index|Mail::Box::MH::Index>
-(at least implements a C<get()> method), as alternative for an index file
-reader as created by C<Mail::Box::MH>.
-
-=back
-
-. index_filename FILENAME
-
-=over 4
-
-The FILENAME which is used in each directory to store the headers of all
-mails. The filename shall not contain a directory path. (e.g. Do not use
-C</usr/people/jan/.index>, nor C<subdir/.index>, but say C<.index>.)
-
-=back
-
-. index_type CLASS
-
-. keep_dups BOOLEAN
-
-. keep_index BOOLEAN
-
-=over 4
-
-Keep an index file of the specified mailbox, one file per directory.
-Using an index file will speed up things considerably, because it avoids
-reading all the message files the moment that you open the folder.  When
-you open a folder, you can use the index file to retrieve information such
-as the subject of each message, instead of having to read possibly
-thousands of messages.
-
-=back
-
-. labels OBJECT
-
-=over 4
-
-You may specify an OBJECT of a type which extends L<Mail::Box::MH::Labels|Mail::Box::MH::Labels>
-(at least implements the C<get()> method), as alternative for labels file
-reader as created by C<Mail::Box::MH>.
-
-=back
-
-. labels_filename FILENAME
-
-=over 4
-
-In MH-folders, messages can be labeled, for instance based on the
-sender or whether it is read or not.  This status is kept in a
-file which is usually called C<.mh_sequences>, but that name can
-be overruled with this flag.
-
-=back
-
-. labels_type CLASS
-
-. lock_file FILENAME
-
-. lock_timeout SECONDS
-
-. lock_type CLASS|STRING|ARRAY
-
-. lock_wait SECONDS
-
-. locker OBJECT
-
-. log LEVEL
-
-. manager MANAGER
-
-. message_type CLASS
-
-. multipart_type CLASS
-
-. remove_when_empty BOOLEAN
-
-. save_on_exit BOOLEAN
-
-. trace LEVEL
-
-. trusted BOOLEAN
-
-=back
-
-=head2 The folder
-
-
-$obj-E<gt>B<addMessage>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<addMessages>(MESSAGE [, MESSAGE, ...])
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-Mail::Box::MH-E<gt>B<appendMessages>(OPTIONS)
-
-=over 4
-
-Append a message to a folder which is not open.
-
- Option    Defined in       Default   
- folder    L<Mail::Box>     <required>
- message   L<Mail::Box>     undef     
- messages  L<Mail::Box>     undef     
- share     L<Mail::Box>     <false>   
-
-. folder FOLDERNAME
-
-. message MESSAGE
-
-. messages ARRAY-OF-MESSAGES
-
-. share BOOLEAN
-
-=back
-
-$obj-E<gt>B<close>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<copyTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<delete>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<directory>
-
-=over 4
-
-See L<Mail::Box::Dir/"The folder">
-
-=back
-
-$obj-E<gt>B<folderdir>([DIRECTORY])
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<organization>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<type>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<update>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<url>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-=head2 Folder flags
-
-
-$obj-E<gt>B<access>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<writable>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-=head2 The messages
-
-
-$obj-E<gt>B<current>([NUMBER|MESSAGE|MESSAGE-ID])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<find>(MESSAGE-ID)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<findFirstLabeled>(LABEL, [BOOLEAN, [ARRAY-OF-MSGS]])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<message>(INDEX [,MESSAGE])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messageId>(MESSAGE-ID [,MESSAGE])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messageIds>
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messages>(['ALL',RANGE,'ACTIVE','DELETED',LABEL,!LABEL,FILTER])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<nrMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<scanForMessages>(MESSAGE, MESSAGE-IDS, TIMESPAN, WINDOW)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-=head2 Sub-folders
-
-
-$obj-E<gt>B<listSubFolders>(OPTIONS)
-
-Mail::Box::MH-E<gt>B<listSubFolders>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<nameOfSubFolder>(SUBNAME, [PARENTNAME])
-
-Mail::Box::MH-E<gt>B<nameOfSubFolder>(SUBNAME, [PARENTNAME])
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<openRelatedFolder>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<openSubFolder>(SUBNAME, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<topFolderWithMessages>
-
-Mail::Box::MH-E<gt>B<topFolderWithMessages>
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<coerce>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<create>(FOLDERNAME, OPTIONS)
-
-Mail::Box::MH-E<gt>B<create>(FOLDERNAME, OPTIONS)
-
-=over 4
-
- Option     Defined in    Default
- folderdir  L<Mail::Box>  undef  
-
-. folderdir DIRECTORY
-
-=back
-
-$obj-E<gt>B<determineBodyType>(MESSAGE, HEAD)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<folderToDirectory>(FOLDERNAME, FOLDERDIR)
-
-=over 4
-
-See L<Mail::Box::Dir/"Internals">
-
-=back
-
-Mail::Box::MH-E<gt>B<foundIn>([FOLDERNAME], OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<highestMessageNumber>
-
-=over 4
-
-Returns the highest number which is used in the folder to store a file.
-This method may be called when the folder is read (then this number can
-be derived without file-system access), but also when the folder is not
-read (yet).
-
-=back
-
-$obj-E<gt>B<index>
-
-=over 4
-
-Create a index reader/writer object.
-
-=back
-
-$obj-E<gt>B<labels>
-
-=over 4
-
-Create a label reader/writer object.
-
-=back
-
-$obj-E<gt>B<lineSeparator>([STRING|'CR'|'LF'|'CRLF'])
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<locker>
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<read>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<readMessageFilenames>(DIRECTORY)
-
-=over 4
-
-See L<Mail::Box::Dir/"Internals">
-
-=back
-
-$obj-E<gt>B<readMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<storeMessage>(MESSAGE)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<toBeThreaded>(MESSAGES)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<toBeUnthreaded>(MESSAGES)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<updateMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<write>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<writeMessages>(OPTIONS)
-
-=over 4
-
- Option    Defined in       Default   
- messages  L<Mail::Box>     <required>
- renumber                   <true>    
-
-. messages ARRAY
-
-. renumber BOOLEAN
-
-=over 4
-
-Permit renumbering of message.  By default this is true, but for some
-unknown reason, you may be thinking that messages should not be renumbered.
-
-=back
-
-=back
-
-=head2 Other methods
-
-
-$obj-E<gt>B<timespan2seconds>(TIME)
-
-Mail::Box::MH-E<gt>B<timespan2seconds>(TIME)
-
-=over 4
-
-See L<Mail::Box/"Other methods">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::MH-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::MH-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::MH-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Box/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot append message without lock on $folder.
-
-It is impossible to append one or more messages to the folder which is
-not opened, because locking it failes.  The folder may be in use by
-an other application, or you may need to specify some lock related
-options (see L<new()|Mail::Box::MH/"METHODS">).
-
-I<Error:> Cannot create MH folder $name: $!
-
-For some reason, it is impossible to create the folder.  Check the permissions
-and the name of the folder.  Does the path to the directory to be created
-exist?
-
-I<Error:> Cannot write folder $name without lock.
-
-It is impossible to get a lock on the folder, which means that the changes
-can not be made.  You may need to tune the lock related options which
-are available at folder creation.
-
-I<Warning:> Changes not written to read-only folder $self.
-
-You have opened the folder read-only --which is the default set
-by L<new(access)|Mail::Box/"Constructors">--, made modifications, and now want to close it.
-Set L<close(force)|Mail::Box/"The folder"> if you want to overrule the access mode, or close
-the folder with L<close(write)|Mail::Box/"The folder"> set to C<NEVER>.
-
-I<Error:> Copying failed for one message.
-
-For some reason, for instance disc full, removed by external process, or
-read-protection, it is impossible to copy one of the messages.  Copying will
-proceed for the other messages.
-
-I<Error:> Destination folder $name is not writable.
-
-The folder where the messages are copied to is not opened with write
-access (see L<new(access)|Mail::Box/"Constructors">).  This has no relation with write permission
-to the folder which is controled by your operating system.
-
-I<Warning:> Different messages with id $msgid
-
-The message id is discovered more than once within the same folder, but the
-content of the message seems to be different.  This should not be possible:
-each message must be unique.
-
-I<Error:> Folder $name is opened read-only
-
-You can not write to this folder unless you have opened the folder to
-write or append with L<new(access)|Mail::Box/"Constructors">, or the C<force> option is set true.
-
-I<Error:> Folder $name not deleted: not writable.
-
-The folder must be opened with write access via L<new(access)|Mail::Box/"Constructors">, otherwise
-removing it will be refused.  So, you may have write-access according to
-the operating system, but that will not automatically mean that this
-C<delete> method permits you to.  The reverse remark is valid as well.
-
-I<Error:> Invalid timespan '$timespan' specified.
-
-The string does not follow the strict rules of the time span syntax which
-is permitted as parameter.
-
-I<Warning:> Message-id '$msgid' does not contain a domain.
-
-According to the RFCs, message-ids need to contain a unique random part,
-then an C<@>, and then a domain name.  This is made to avoid the creation
-of two messages with the same id.  The warning emerges when the C<@> is
-missing from the string.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unable to create subfolder $name of $folder.
-
-The copy includes the subfolders, but for some reason it was not possible
-to copy one of these.  Copying will proceed for all other sub-folders.
-
-I<Error:> Unable to write message for $folder to $filename: $!
-
-The new message could not be written to its new file, for the specific
-reason.
-
-I<Error:> Writing folder $name failed
-
-For some reason (you probably got more error messages about this problem)
-it is impossible to write the folder, although you should because there
-were changes made.
-
-
-=head1 DETAILS
-
-
-=head2 How MH folders work
-
-MH-type folders use a directory to store the messages of one folder.  Each
-message is stored in a separate file.  This seems useful, because changes
-in a folder change only a few of these small files, in contrast with
-file-based folders where changes in a folder cause rewrites of huge
-folder files.
-
-However, MH-based folders perform very bad if you need header information
-of all messages.  For instance, if you want to have full knowledge about
-all message-threads (see L<Mail::Box::Thread::Manager|Mail::Box::Thread::Manager>) in the folder, it
-requires to read all header lines in all message files.  And usually, reading
-your messages in threads is desired.
-
-So, each message is written in a separate file.  The filenames are
-numbers, which count from C<1>.  Next to these message files, a
-directory may contain a file named C<.mh_sequences>, storing labels which
-relate to the messages.  Furthermore, a folder-directory may contain
-sub-directories, which are seen as sub-folders.
-
-=head2 This implementation
-
-This implementation supports the C<.mh-sequences> file and sub-folders.
-Next to this, considerable effort it made to avoid reading each message-file.
-This should boost performance of the MailBox distribution over other
-Perl-modules which are able to read folders.
-
-Folder types which store their messages each in one file, together in
-one directory, are bad for performance.  Consider that you want to know
-the subjects of all messages, while browser through a folder with your
-mail-reading client.  This would cause all message-files to be read.
-
-L<Mail::Box::MH|Mail::Box::MH> has two ways to try improve performance.  You can use
-an index-file, and use on delay-loading.  The combination performs even
-better.  Both are explained in the next sections.
-
-=head2 An index-file
-
-If you specify L<new(keep_index)|Mail::Box::MH/"METHODS">, then all header-lines of all messages
-from the folder which have been read once, will also be written into
-one dedicated index-file (one file per folder).  The default filename
-is C<.index>
-
-However, index-files are not supported by any other reader which supports
-MH (as far as I know).  If you read the folders with such I client, it
-will not cause unrecoverable conflicts with this index-file, but at most
-be bad for performance.
-
-If you do not (want to) use an index-file, then delay-loading may
-save your day.
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/MH.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/MH.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Maildir/Message.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Maildir/Message.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Maildir/Message.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,121 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Box::Maildir::Message;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::Dir::Message';
-
-use File::Copy;
-
-
-sub filename(;$)
-{   my $self    = shift;
-    my $oldname = $self->SUPER::filename();
-    return $oldname unless @_;
-
-    my $newname = shift;
-    return $newname if defined $oldname && $oldname eq $newname;
-
-    my ($id, $semantics, $flags)
-     = $newname =~ m!(.*?)(?:\:([12])\,([A-Z]*))!
-     ? ($1, $2, $3)
-     : ($newname, '','');
-
-    my %flags;
-    $flags{$_}++ foreach split //, $flags;
-
-    $self->SUPER::label
-     ( draft   => ($flags{D} || 0)
-     , flagged => ($flags{F} || 0)
-     , replied => ($flags{R} || 0)
-     , seen    => ($flags{S} || 0)
-     , deleted => ($flags{T} || 0)
-
-     , passed  => ($flags{P} || 0)   # uncommon
-     );
-
-    if(defined $oldname && ! move $oldname, $newname)
-    {   $self->log(ERROR => "Cannot move $oldname to $newname: $!");
-        return undef;
-    }
-
-    $self->SUPER::filename($newname);
-}
-
-#-------------------------------------------
-
-
-sub guessTimestamp()
-{   my $self = shift;
-    my $timestamp   = $self->SUPER::guessTimestamp;
-    return $timestamp if defined $timestamp;
-
-    $self->filename =~ m/^(\d+)/ ? $1 : undef;
-}
-
-#-------------------------------------------
-
-
-sub label(@)
-{   my $self   = shift;
-    return $self->SUPER::label unless @_;
-
-    my $return = $self->SUPER::label(@_);
-    $self->labelsToFilename;
-    $return;
-}
-
-#-------------------------------------------
-
-
-sub labelsToFilename()
-{   my $self   = shift;
-    my $labels = $self->labels;
-    my $old    = $self->filename;
-
-    my ($folderdir, $set, $oldname)
-      = $old =~ m!(.*)/(new|cur|tmp)/([^:]*)(\:[^:]*)?$!;
-
-    my $newflags    # alphabeticly ordered!
-      = ($labels->{draft}   ? 'D' : '')
-      . ($labels->{flagged} ? 'F' : '')
-      . ($labels->{passed}  ? 'P' : '')
-      . ($labels->{replied} ? 'R' : '')
-      . ($labels->{seen}    ? 'S' : '')
-      . ($labels->{deleted} ? 'T' : '');
-
-    my $newset = $labels->{accepted} ? 'cur' : 'new';
-    if($set ne $newset)
-    {   my $folder = $self->folder;
-        $folder->modified(1) if defined $folder;
-    }
-
-    my $new = File::Spec->catfile($folderdir, $newset, "$oldname:2,$newflags");
-
-    if($new ne $old)
-    {   unless(move $old, $new)
-        {   $self->log(ERROR => "Cannot rename $old to $new: $!");
-            return;
-        }
-        $self->log(PROGRESS => "Moved $old to $new.");
-        $self->SUPER::filename($new);
-    }
-
-    $new;
-}
-
-#-------------------------------------------
-
-
-sub accept(;$)
-{   my $self   = shift;
-    my $accept = @_ ? shift : 1;
-    $self->label(accepted => $accept);
-}
-
-#-------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Maildir/Message.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Maildir/Message.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Maildir/Message.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Maildir/Message.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Maildir/Message.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,1037 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Maildir::Message - one message in a Maildir folder
-
-
-=head1 INHERITANCE
-
- Mail::Box::Maildir::Message
-   is a Mail::Box::Dir::Message
-   is a Mail::Box::Message
-   is a Mail::Message
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my $folder = new Mail::Box::Maildir ...
- my $message = $folder->message(10);
-
-
-=head1 DESCRIPTION
-
-A C<Mail::Box::Maildir::Message> represents one message in an
-L<Mail::Box::Maildir|Mail::Box::Maildir> folder. Each message is stored in a separate file.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"Constructors">
-
-=back
-
-Mail::Box::Maildir::Message-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Dir::Message/"METHODS">
-
-=back
-
-=head2 Constructing a message
-
-
-$obj-E<gt>B<bounce>([RG-OBJECT|OPTIONS])
-
-=over 4
-
-See L<Mail::Message::Construct::Bounce/"Constructing a message">
-
-=back
-
-Mail::Box::Maildir::Message-E<gt>B<build>([MESSAGE|PART|BODY], CONTENT)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-Mail::Box::Maildir::Message-E<gt>B<buildFromBody>(BODY, [HEAD], HEADERS)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forward>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardAttach>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardEncapsulate>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardInline>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardNo>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPostlude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPrelude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardSubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-Mail::Box::Maildir::Message-E<gt>B<read>(FILEHANDLE|SCALAR|REF-SCALAR|ARRAY-OF-LINES, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Read/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<rebuild>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<reply>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replyPrelude>([STRING|FIELD|ADDRESS|ARRAY-OF-THINGS])
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replySubject>(STRING)
-
-Mail::Box::Maildir::Message-E<gt>B<replySubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-=head2 The message
-
-
-$obj-E<gt>B<container>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<copyTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<filename>([FILENAME])
-
-=over 4
-
-Returns the current filename for this message.  If the FILENAME argument
-is specified, a new filename will be set.  For maildir messages this
-means that modifications are immediately performed: there will be
-a rename (move) from the old name to the new name.  Labels may change
-within in the message object as well.
-
-=back
-
-$obj-E<gt>B<folder>([FOLDER])
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isDummy>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isPart>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<messageId>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<moveTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<send>([MAILER], OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<seqnr>([INTEGER])
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<toplevel>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<write>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<bcc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<cc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<date>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<destinations>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<from>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<get>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<guessTimestamp>
-
-=over 4
-
-The filename of a C<Mail::Box::Maildir::Message> contains a timestamp.  This
-is a wild guess about the actual time of sending of the message: it is the
-time of receipt which may be seconds to hours off.  But is still a good
-guess...  When the message header is not parsed, then this date is used.
-
-=back
-
-$obj-E<gt>B<head>([HEAD])
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<sender>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<study>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<subject>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<timestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<to>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-=head2 The body
-
-
-$obj-E<gt>B<body>([BODY])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<decoded>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<encode>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isNested>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<parts>(['ALL'|'ACTIVE'|'DELETED'|'RECURSE'|FILTER])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-=head2 Flags
-
-
-$obj-E<gt>B<delete>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<deleted>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isDeleted>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<label>(LABEL|PAIRS)
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<labels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<labelsToStatus>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<statusToLabels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-=head2 The whole message as text
-
-
-$obj-E<gt>B<file>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<lines>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<printStructure>([FILEHANDLE|undef],[INDENT])
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-=head2 Labels
-
-
-$obj-E<gt>B<labelsToFilename>
-
-=over 4
-
-When the labels on a message change, this may implicate a change in
-the message's filename.  The change will take place immediately.  The
-new filename (which may be the same as the old filename) is returned.
-C<undef> is returned when the rename is required but fails.
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<accept>([BOOLEAN])
-
-=over 4
-
-Accept a message for the folder.  This will move it from the C<new>
-or C<tmp> sub-directories into the C<cur> sub-directory (or back when
-the BOOLEAN is C<false>).  When you accept an already accepted message,
-nothing will happen.
-
-=back
-
-$obj-E<gt>B<clonedFrom>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-Mail::Box::Maildir::Message-E<gt>B<coerce>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<create>(FILENAME)
-
-=over 4
-
-See L<Mail::Box::Dir::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<diskDelete>
-
-=over 4
-
-See L<Mail::Box::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<loadBody>
-
-=over 4
-
-See L<Mail::Box::Dir::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<loadHead>
-
-=over 4
-
-See L<Mail::Box::Dir::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<parser>
-
-=over 4
-
-See L<Mail::Box::Dir::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readBody>(PARSER, HEAD [, BODYTYPE])
-
-=over 4
-
-See L<Mail::Box::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readFromParser>(PARSER, [BODYTYPE])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readHead>(PARSER [,CLASS])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<recursiveRebuildPart>(PART, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Internals">
-
-=back
-
-$obj-E<gt>B<storeBody>(BODY)
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<takeMessageId>([STRING])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Message::Construct/"METHODS">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Maildir::Message-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Maildir::Message-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Maildir::Message-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortSize>([VALUE])
-
-Mail::Box::Maildir::Message-E<gt>B<shortSize>([VALUE])
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortString>
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<destruct>
-
-=over 4
-
-See L<Mail::Box::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot create parser for $filename.
-
-For some reason (the previous message have told you already) it was not possible
-to create a message parser for the specified filename.
-
-I<Error:> Cannot include forward source as $include.
-
-Unknown alternative for the L<forward(include)|Mail::Message::Construct::Forward/"Constructing a message">.  Valid choices are
-C<NO>, C<INLINE>, C<ATTACH>, and C<ENCAPSULATE>.
-
-I<Error:> Cannot include reply source as $include.
-
-Unknown alternative for the C<include> option of L<reply()|Mail::Message::Construct::Reply/"Constructing a message">.  Valid
-choices are C<NO>, C<INLINE>, and C<ATTACH>.
-
-I<Error:> Cannot write message to $filename: $!
-
-When a modified or new message is written to disk, it is first written
-to a temporary file in the folder directory.  For some reason, it is
-impossible to create this file.
-
-I<Error:> Failed to move $new to $filename: $!
-
-When a modified or new message is written to disk, it is first written
-to a temporary file in the folder directory.  Then, the new file is
-moved to replace the existing file.  Apparently, the latter fails.
-
-I<Error:> No address to create forwarded to.
-
-If a forward message is created, a destination address must be specified.
-
-I<Error:> No default mailer found to send message.
-
-The message L<send()|Mail::Message/"The message"> mechanism had not enough information to automatically
-find a mail transfer agent to sent this message.  Specify a mailer
-explicitly using the C<via> options.
-
-I<Error:> Only build() Mail::Message's; they are not in a folder yet
-
-You may wish to construct a message to be stored in a some kind
-of folder, but you need to do that in two steps.  First, create a
-normal L<Mail::Message|Mail::Message>, and then add it to the folder.  During this
-L<Mail::Box::addMessage()|Mail::Box/"The folder"> process, the message will get L<coerce()|Mail::Message/"Internals">-d
-into the right message type, adding storage information and the like.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unable to read delayed body.
-
-For some reason, the header of the message could be read, but the body
-cannot.  Probably the file has disappeared or the permissions were
-changed during the progress of the program.
-
-I<Error:> Unable to read delayed head.
-
-Mail::Box tries to be I<lazy> with respect to parsing messages.  When a
-directory organized folder is opened, only the filenames of messages are
-collected.  At first use, the messages are read from their file.  Apperently,
-a message is used for the first time here, but has disappeared or is
-unreadible for some other reason.
-
-I<Error:> bounce requires To, Cc, or Bcc
-
-The message L<bounce()|Mail::Message::Construct::Bounce/"Constructing a message"> method forwards a received message off to someone
-else without modification; you must specified it's new destination.
-If you have the urge not to specify any destination, you probably
-are looking for L<reply()|Mail::Message::Construct::Reply/"Constructing a message">. When you wish to modify the content, use
-L<forward()|Mail::Message::Construct::Forward/"Constructing a message">.
-
-I<Error:> forwardAttach requires a preamble object
-
-
-I<Error:> forwardEncapsulate requires a preamble object
-
-
-I<Error:> no rebuild rule $name defined.
-
-
-
-=head1 DETAILS
-
-
-=head2 Labels
-
-
-=head3 Flags in filename
-
-When new messages arrive on system and have to be stored in a maildir folder,
-they are put in the C<new> sub-directory of the folder (first created in
-the C<tmp> sub-directory and then immediately moved to C<new>).
-The following information was found at L<http://cr.yp.to/proto/maildir.html>.
-
-Each message is written in a separate file.  The filename is
-constructed from the time-of-arrival, a hostname, an unique component,
-a syntax marker, and flags. For example C<1014220791.meteor.42:2,DF>.
-The filename must match:
-
- my ($time, $unique, $hostname, $info)
-    = $filename =~ m!^(\d+)\.(.*)\.(\w+)(\:.*)?$!;
- my ($semantics, $flags)
-    = $info =~ m!([12])\,([DFPRST]*)$!;
- my @flags = split //, $flags;
-
-When an application opens the folder, there may be messages in C<new>
-which are new arival, and messages in C<cur>.  The latter are labeled
-C<accepted>.  To move a message from C<new> to C<cur>, you have two
-options with the same effect:
-
-  $msg->accept;
-  $msg->label(accept => 1);
-
-See L<accept()|Mail::Box::Maildir::Message/"Internals">, L<label()|Mail::Message/"Flags">, L<Mail::Box::Maildir::new(accept_new)|Mail::Box::Maildir/"METHODS">,
-and L<Mail::Box::Maildir::acceptMessages()|Mail::Box::Maildir/"Internals">
-
-The messages are moved, and their name is immediately
-extended with flags.  An example:
-
- new/897979431.meteor.42      may become
- cur/897979431.meteor.42:2,FS
-
-The added characters C<':2,'> refer to the "second state of processing",
-where the message has been inspected.  And the characters (which should
-be in alphabetic order) mean
-
- D      => draft
- F      => flagged
- R      => replied  (answered)
- S      => seen
- T      => deleted  (tagged for deletion)
-
-Some maildir clients support
- P      => passed   (resent/forwarded/bounced to someone else)
-
-The flags will immediately change when L<label()|Mail::Message/"Flags"> or L<delete()|Mail::Message/"Flags"> is used,
-which differs from other message implementations: maildir is stateless,
-and should not break when applications crash.
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Maildir/Message.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Maildir/Message.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Maildir.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Maildir.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Maildir.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,404 +0,0 @@
-
-use strict;
-package Mail::Box::Maildir;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::Dir';
-
-use Mail::Box::Maildir::Message;
-
-use Carp;
-use File::Copy     'move';
-use File::Basename 'basename';
-use Sys::Hostname  'hostname';
-use File::Remove   'remove';
-
-# Maildir is only supported on UNIX, because the filenames probably
-# do not work on other platforms.  Since MailBox 2.052, the use of
-# File::Spec to create filenames has been removed: benchmarks showed
-# that catfile() consumed 20% of the time of a folder open().  And
-# '/' file separators work on Windows too!
-
-
-my $default_folder_dir = exists $ENV{HOME} ? "$ENV{HOME}/.maildir" : '.';
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    croak "No locking possible for maildir folders."
-       if exists $args->{locker}
-       || (defined $args->{lock_type} && $args->{lock_type} ne 'NONE');
-
-    $args->{lock_type}   = 'NONE';
-    $args->{folderdir} ||= $default_folder_dir;
-
-    return undef
-        unless $self->SUPER::init($args);
-
-    $self->acceptMessages if $args->{accept_new};
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub create($@)
-{   my ($thingy, $name, %args) = @_;
-    my $class     = ref $thingy      || $thingy;
-    my $folderdir = $args{folderdir} || $default_folder_dir;
-    my $directory = $class->folderToDirectory($name, $folderdir);
-
-    if($class->createDirs($directory))
-    {   $class->log(PROGRESS => "Created folder Maildir $name.");
-        return $class;
-    }
-    else
-    {   $class->log(ERROR => "Cannot create Maildir folder $name.");
-        return undef;
-    }
-}
-
-#-------------------------------------------
-
-sub foundIn($@)
-{   my $class = shift;
-    my $name  = @_ % 2 ? shift : undef;
-    my %args  = @_;
-    my $folderdir = $args{folderdir} || $default_folder_dir;
-    my $directory = $class->folderToDirectory($name, $folderdir);
-
-    -d "$directory/cur";
-}
-
-#-------------------------------------------
-
-sub type() {'maildir'}
-
-#-------------------------------------------
-
-sub listSubFolders(@)
-{   my ($class, %args) = @_;
-    my $dir;
-
-    if(ref $class)
-    {   $dir   = $class->directory;
-        $class = ref $class;
-    }
-    else
-    {   my $folder    = $args{folder}    || '=';
-        my $folderdir = $args{folderdir} || $default_folder_dir;
-        $dir   = $class->folderToDirectory($folder, $folderdir);
-    }
-
-    $args{skip_empty} ||= 0;
-    $args{check}      ||= 0;
-
-    # Read the directories from the directory, to find all folders
-    # stored here.  Some directories have to be removed because they
-    # are created by all kinds of programs, but are no folders.
-
-    return () unless -d $dir && opendir DIR, $dir;
-
-    my @dirs;
-    while(my $d = readdir DIR)
-    {   next if $d =~ m/^(new|tmp|cur|\.\.?)$/;
-
-        my $dir = "$dir/$d";
-        push @dirs, $d if -d $dir && -r _;
-    }
-
-    closedir DIR;
-
-    # Skip empty folders.
-
-    @dirs = grep {!$class->folderIsEmpty("$dir/$_")} @dirs
-        if $args{skip_empty};
-
-    # Check if the files we want to return are really folders.
-
-    @dirs = map { m/(.*)/ && $1 } @dirs;  # untaint
-    return @dirs unless $args{check};
-
-    grep { $class->foundIn("$dir/$_") } @dirs;
-}
-
-#-------------------------------------------
-
-sub openSubFolder($@)
-{   my ($self, $name) = (shift, shift);
-    $self->createDirs($self->nameOfSubFolder($name));
-    $self->SUPER::openSubFolder($name, @_);
-}
-
-#-------------------------------------------
-
-sub topFolderWithMessages() { 1 }
-
-#-------------------------------------------
-
-my $uniq = rand 1000;
-
-
-sub coerce($)
-{   my ($self, $message) = (shift, shift);
-
-    my $is_native = $message->isa('Mail::Box::Maildir::Message');
-    my $coerced   = $self->SUPER::coerce($message, @_);
-
-    my $basename  = $is_native ? basename($message->filename)
-      : ($message->timestamp || time) .'.'. hostname .'.'. $uniq++;
-
-    my $dir = $self->directory;
-    my $tmp = "$dir/tmp/$basename";
-    my $new = "$dir/new/$basename";
-
-    if($coerced->create($tmp) && $coerced->create($new))
-         {$self->log(PROGRESS => "Added Maildir message in $new") }
-    else {$self->log(ERROR    => "Cannot create Maildir message file $new.") }
-
-    $coerced->labelsToFilename unless $is_native;
-    $coerced;
-}
-
-#-------------------------------------------
-
-
-sub createDirs($)
-{   my ($thing, $dir) = @_;
-
-    $thing->log(ERROR => "Cannot create Maildir folder directory $dir: $!"), return
-        unless -d $dir || mkdir $dir;
-
-    my $tmp = "$dir/tmp";
-    $thing->log(ERROR => "Cannot create Maildir folder subdir $tmp: $!"), return
-        unless -d $tmp || mkdir $tmp;
-
-    my $new = "$dir/new";
-    $thing->log(ERROR => "Cannot create Maildir folder subdir $new: $!"), return
-        unless -d $new || mkdir $new;
-
-    my $cur = "$dir/cur";
-    $thing->log(ERROR =>  "Cannot create Maildir folder subdir $cur: $!"), return
-        unless -d $cur || mkdir $cur;
-
-    $thing;
-}
-
-#-------------------------------------------
-
-
-sub folderIsEmpty($)
-{   my ($self, $dir) = @_;
-    return 1 unless -d $dir;
-
-    foreach (qw/tmp new cur/)
-    {   my $subdir = "$dir/$_";
-        next unless -d $subdir;
-
-        opendir DIR, $subdir or return 0;
-        my $first  = readdir DIR;
-        closedir DIR;
-
-        return 0 if defined $first;
-    }
-
-    opendir DIR, $dir or return 1;
-    while(my $entry = readdir DIR)
-    {   next if $entry =~
-           m/^(?:tmp|cur|new|bulletin(?:time|lock)|seriallock|\..?)$/;
-
-        closedir DIR;
-        return 0;
-    }
-
-    closedir DIR;
-    1;
-}
-
-#-------------------------------------------
-
-sub delete(@)
-{   my $self = shift;
-
-    # Subfolders are not nested in the directory structure
-    remove \1, $self->directory;
-}
-
-#-------------------------------------------
-
-sub readMessageFilenames
-{   my ($self, $dirname) = @_;
-
-    opendir DIR, $dirname or return ();
-
-    # unsorted list of untainted filenames.
-    my @files = map { /^(\d[\w.:,=\-]+)$/
-                      && -f "$dirname/$1" ? $1 : () }
-                   readdir DIR;
-    closedir DIR;
-
-    # Sort the names.  Solve the Y2K (actually the 1 billion seconds
-    # since 1970 bug) which hunts Maildir.  The timestamp, which is
-    # the start of the filename will have some 0's in front, so each
-    # timestamp has the same length.
-
-    my %unified;
-    m/^(\d+)/ and $unified{ ('0' x (9-length($1))).$_ } = $_ foreach @files;
-
-    map { "$dirname/$unified{$_}" }
-        sort keys %unified;
-}
-
-#-------------------------------------------
-
-sub readMessages(@)
-{   my ($self, %args) = @_;
-
-    my $directory = $self->directory;
-    return unless -d $directory;
-
-    #
-    # Read all messages
-    #
-
-    my $curdir  = "$directory/cur";
-    my @cur     = map { [$_, 1] } $self->readMessageFilenames($curdir);
-
-    my $newdir  = "$directory/new";
-    my @new     = map { [$_, 0] } $self->readMessageFilenames($newdir);
-    my @log     = $self->logSettings;
-
-    foreach (@cur, @new)
-    {   my ($filename, $accepted) = @$_;
-        my $message = $args{message_type}->new
-         ( head      => $args{head_delayed_type}->new(@log)
-         , filename  => $filename
-         , folder    => $self
-         , fix_header=> $self->{MB_fix_headers}
-         , labels    => [ accepted => $accepted ]
-         );
-
-        my $body    = $args{body_delayed_type}->new(@log, message => $message);
-        $message->storeBody($body) if $body;
-        $self->storeMessage($message);
-    }
-
-    $self;
-}
- 
-#-------------------------------------------
-
-
-sub acceptMessages($)
-{   my ($self, %args) = @_;
-    my @accept = $self->messages('!accepted');
-    $_->accept foreach @accept;
-    @accept;
-}
-
-#-------------------------------------------
-
-sub writeMessages($)
-{   my ($self, $args) = @_;
-
-    # Write each message.  Two things complicate life:
-    #   1 - we may have a huge folder, which should not be on disk twice
-    #   2 - we may have to replace a message, but it is unacceptable
-    #       to remove the original before we are sure that the new version
-    #       is on disk.
-
-    my $writer    = 0;
-
-    my $directory = $self->directory;
-    my @messages  = @{$args->{messages}};
-
-    my $tmpdir    = "$directory/tmp";
-    die "Cannot create directory $tmpdir: $!"
-        unless -d $tmpdir || mkdir $tmpdir;
-
-    foreach my $message (@messages)
-    {   next unless $message->isModified;
-
-        my $filename = $message->filename;
-        my $basename = basename $filename;
-
-        my $newtmp   = "$directory/tmp/$basename";
-        open my $new, '>', $newtmp
-           or croak "Cannot create file $newtmp: $!";
-
-        $message->write($new);
-        close $new;
-
-        unlink $filename;
-        move $newtmp, $filename
-            or warn "Cannot move $newtmp to $filename: $!\n";
-    }
-
-    # Remove an empty folder.  This is done last, because the code before
-    # in this method will have cleared the contents of the directory.
-
-    if(!@messages && $self->{MB_remove_empty})
-    {   # If something is still in the directory, this will fail, but I
-        # don't mind.
-        rmdir "$directory/cur";
-        rmdir "$directory/tmp";
-        rmdir "$directory/new";
-        rmdir $directory;
-    }
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub appendMessages(@)
-{   my $class  = shift;
-    my %args   = @_;
-
-    my @messages = exists $args{message}  ?   $args{message}
-                 : exists $args{messages} ? @{$args{messages}}
-                 : return ();
-
-    my $self     = $class->new(@_, access => 'a');
-    my $directory= $self->directory;
-    return unless -d $directory;
-
-    my $tmpdir   = "$directory/tmp";
-    croak "Cannot create directory $tmpdir: $!", return
-        unless -d $tmpdir || mkdir $tmpdir;
-
-    my $msgtype  = $args{message_type} || 'Mail::Box::Maildir::Message';
-
-    foreach my $message (@messages)
-    {   my $is_native = $message->isa($msgtype);
-        my ($basename, $coerced);
-
-        if($is_native)
-        {   $coerced  = $message;
-            $basename = basename $message->filename;
-        }
-        else
-        {   $coerced  = $self->SUPER::coerce($message);
-            $basename = ($message->timestamp||time).'.'. hostname.'.'.$uniq++;
-        }
-
-       my $dir = $self->directory;
-       my $tmp = "$dir/tmp/$basename";
-       my $new = "$dir/new/$basename";
-
-       if($coerced->create($tmp) && $coerced->create($new))
-            {$self->log(PROGRESS => "Appended Maildir message in $new") }
-       else {$self->log(ERROR    =>
-                "Cannot append Maildir message in $new to folder $self.") }
-    }
- 
-    $self->close;
-
-    @messages;
-}
-
-#-------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Maildir.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Maildir.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Maildir.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Maildir.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Maildir.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,894 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Maildir - handle Maildir folders
-
-
-=head1 INHERITANCE
-
- Mail::Box::Maildir
-   is a Mail::Box::Dir
-   is a Mail::Box
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- use Mail::Box::Maildir;
- my $folder = new Mail::Box::Maildir folder => $ENV{MAIL}, ...;
-
-
-=head1 DESCRIPTION
-
-This documentation describes how Maildir mailboxes work, and what you
-can do with the Maildir folder object C<Mail::Box::Maildir>.
-
-Maildir is B<not supported for Windows>, because it create filenames
-which are not accepted by the Windows system.
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-overload: B<@{}>
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-overload: B<cmp>
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::Maildir-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option             Defined in       Default                                                         
- accept_new                          <false>                                                         
- access             L<Mail::Box>     C<'r'>                                                          
- body_delayed_type  L<Mail::Box>     L<Mail::Message::Body::Delayed|Mail::Message::Body::Delayed>    
- body_type          L<Mail::Box>     L<Mail::Message::Body::Lines|Mail::Message::Body::Lines>        
- coerce_options     L<Mail::Box>     C<[]>                                                           
- create             L<Mail::Box>     <false>                                                         
- directory          L<Mail::Box::Dir>  <derived from folder name>                                      
- extract            L<Mail::Box>     C<10240>                                                        
- field_type         L<Mail::Box>     undef                                                           
- fix_headers        L<Mail::Box>     <false>                                                         
- folder             L<Mail::Box>     C<$ENV{MAIL}>                                                   
- folderdir          L<Mail::Box>     C<$ENV{HOME}/.maildir>                                          
- head_delayed_type  L<Mail::Box>     L<Mail::Message::Head::Delayed|Mail::Message::Head::Delayed>    
- head_type          L<Mail::Box>     L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>  
- keep_dups          L<Mail::Box>     <false>                                                         
- lock_file          L<Mail::Box>     <not used>                                                      
- lock_timeout       L<Mail::Box>     <not used>                                                      
- lock_type          L<Mail::Box>     C<'NONE'> (constant)                                            
- lock_wait          L<Mail::Box>     <not used>                                                      
- locker             L<Mail::Box>     undef                                                           
- log                L<Mail::Reporter>  C<'WARNINGS'>                                                   
- manager            L<Mail::Box>     undef                                                           
- message_type       L<Mail::Box>     L<Mail::Box::Message|Mail::Box::Message>                        
- multipart_type     L<Mail::Box>     L<Mail::Message::Body::Multipart|Mail::Message::Body::Multipart>
- remove_when_empty  L<Mail::Box>     <true>                                                          
- save_on_exit       L<Mail::Box>     <true>                                                          
- trace              L<Mail::Reporter>  C<'WARNINGS'>                                                   
- trusted            L<Mail::Box>     <depends on folder location>                                    
-
-. accept_new BOOLEAN
-
-=over 4
-
-When the folder is open, some messages may be stored in the C<new>
-sub-directory.  By default, these messages are immediately moved to
-the C<cur> directory when the folder is opened.  Otherwise, you have
-to call L<acceptMessages()|Mail::Box::Maildir/"Internals"> or L<Mail::Box::Maildir::Message::accept()|Mail::Box::Maildir::Message/"Internals">.
-
-=back
-
-. access MODE
-
-. body_delayed_type CLASS
-
-. body_type CLASS|CODE
-
-. coerce_options ARRAY
-
-. create BOOLEAN
-
-. directory DIRECTORY
-
-. extract INTEGER | CODE | METHOD | 'LAZY'|'ALWAYS'
-
-. field_type CLASS
-
-. fix_headers BOOLEAN
-
-. folder FOLDERNAME
-
-. folderdir DIRECTORY
-
-. head_delayed_type CLASS
-
-. head_type CLASS
-
-. keep_dups BOOLEAN
-
-. lock_file FILENAME
-
-. lock_timeout SECONDS
-
-. lock_type CLASS|STRING|ARRAY
-
-. lock_wait SECONDS
-
-. locker OBJECT
-
-. log LEVEL
-
-. manager MANAGER
-
-. message_type CLASS
-
-. multipart_type CLASS
-
-. remove_when_empty BOOLEAN
-
-. save_on_exit BOOLEAN
-
-. trace LEVEL
-
-. trusted BOOLEAN
-
-=back
-
-=head2 The folder
-
-
-$obj-E<gt>B<addMessage>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<addMessages>(MESSAGE [, MESSAGE, ...])
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-Mail::Box::Maildir-E<gt>B<appendMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<close>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<copyTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<delete>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<directory>
-
-=over 4
-
-See L<Mail::Box::Dir/"The folder">
-
-=back
-
-$obj-E<gt>B<folderdir>([DIRECTORY])
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<organization>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<type>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<update>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<url>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-=head2 Folder flags
-
-
-$obj-E<gt>B<access>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<writable>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-=head2 The messages
-
-
-$obj-E<gt>B<current>([NUMBER|MESSAGE|MESSAGE-ID])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<find>(MESSAGE-ID)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<findFirstLabeled>(LABEL, [BOOLEAN, [ARRAY-OF-MSGS]])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<message>(INDEX [,MESSAGE])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messageId>(MESSAGE-ID [,MESSAGE])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messageIds>
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messages>(['ALL',RANGE,'ACTIVE','DELETED',LABEL,!LABEL,FILTER])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<nrMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<scanForMessages>(MESSAGE, MESSAGE-IDS, TIMESPAN, WINDOW)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-=head2 Sub-folders
-
-
-$obj-E<gt>B<listSubFolders>(OPTIONS)
-
-Mail::Box::Maildir-E<gt>B<listSubFolders>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<nameOfSubFolder>(SUBNAME, [PARENTNAME])
-
-Mail::Box::Maildir-E<gt>B<nameOfSubFolder>(SUBNAME, [PARENTNAME])
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<openRelatedFolder>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<openSubFolder>(SUBNAME, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<topFolderWithMessages>
-
-Mail::Box::Maildir-E<gt>B<topFolderWithMessages>
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<acceptMessages>
-
-=over 4
-
-Accept all messages which are waiting in the C<new> directory to be
-moved to the C<cur> directory.  This will not rescan the directory
-for newly arrived messages, because that's a task for L<update()|Mail::Box/"The folder">.
-
-=back
-
-Mail::Box::Maildir-E<gt>B<appendMessage>(OPTIONS)
-
-=over 4
-
-=back
-
-$obj-E<gt>B<coerce>(MESSAGE, OPTIONS)
-
-=over 4
-
-=back
-
-$obj-E<gt>B<create>(FOLDERNAME, OPTIONS)
-
-Mail::Box::Maildir-E<gt>B<create>(FOLDERNAME, OPTIONS)
-
-=over 4
-
- Option     Defined in    Default
- folderdir  L<Mail::Box>  undef  
-
-. folderdir DIRECTORY
-
-=back
-
-$obj-E<gt>B<createDirs>(FOLDERDIR)
-
-Mail::Box::Maildir-E<gt>B<createDirs>(FOLDERDIR)
-
-=over 4
-
-The FOLDERDIR contains the absolute path of the location where the
-messages are kept.  Maildir folders contain a C<tmp>, C<new>, and
-C<cur> sub-directory within that folder directory as well.  This
-method will ensure that all directories exist.
-Returns false on failure.
-
-=back
-
-$obj-E<gt>B<determineBodyType>(MESSAGE, HEAD)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<folderIsEmpty>(FOLDERDIR)
-
-Mail::Box::Maildir-E<gt>B<folderIsEmpty>(FOLDERDIR)
-
-=over 4
-
-Checks whether the folder whose directory is specified as absolute FOLDERDIR
-is empty or not.  A folder is empty when the C<tmp>, C<new>, and C<cur>
-subdirectories are empty and some files which are left there by application
-programs.  The maildir spec explicitly states: C<.qmail>, C<bulletintime>,
-C<bulletinlock> and C<seriallock>.  If any other files are found, the
-directory is considered not-empty.
-
-=back
-
-$obj-E<gt>B<folderToDirectory>(FOLDERNAME, FOLDERDIR)
-
-=over 4
-
-See L<Mail::Box::Dir/"Internals">
-
-=back
-
-Mail::Box::Maildir-E<gt>B<foundIn>([FOLDERNAME], OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<lineSeparator>([STRING|'CR'|'LF'|'CRLF'])
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<locker>
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<read>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<readMessageFilenames>(DIRECTORY)
-
-=over 4
-
-See L<Mail::Box::Dir/"Internals">
-
-=back
-
-$obj-E<gt>B<readMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<storeMessage>(MESSAGE)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<toBeThreaded>(MESSAGES)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<toBeUnthreaded>(MESSAGES)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<updateMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<write>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<writeMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-=head2 Other methods
-
-
-$obj-E<gt>B<timespan2seconds>(TIME)
-
-Mail::Box::Maildir-E<gt>B<timespan2seconds>(TIME)
-
-=over 4
-
-See L<Mail::Box/"Other methods">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Maildir-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Maildir-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Maildir-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Box/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot append Maildir message in $new to folder $self.
-
-The message (or messages) could not be stored in the right directories
-for the Maildir folder.
-
-I<Error:> Cannot create Maildir directory $dir: $!
-
-A Maildir folder is represented by a directory, with some sub-directories.  The
-top folder directory could not be created for the reason indicated.
-
-I<Error:> Cannot create Maildir folder $name.
-
-One or more of the directories required to administer a Maildir folder
-could not be created.
-
-I<Error:> Cannot create Maildir message file $new.
-
-A message is converted from some other message format into a Maildir format
-by writing it to a file with a name which contains the status flags of the
-message.  Apparently, creating this file failed.
-
-I<Error:> Cannot create Maildir subdir $dir: $!
-
-Each Maildir folder has three sub-directories for administration: C<new>,
-C<tmp>, and C<cur>.  The mentioned directory could not be created for
-the indicated reason.
-
-I<Warning:> Changes not written to read-only folder $self.
-
-You have opened the folder read-only --which is the default set
-by L<new(access)|Mail::Box/"Constructors">--, made modifications, and now want to close it.
-Set L<close(force)|Mail::Box/"The folder"> if you want to overrule the access mode, or close
-the folder with L<close(write)|Mail::Box/"The folder"> set to C<NEVER>.
-
-I<Error:> Copying failed for one message.
-
-For some reason, for instance disc full, removed by external process, or
-read-protection, it is impossible to copy one of the messages.  Copying will
-proceed for the other messages.
-
-I<Error:> Destination folder $name is not writable.
-
-The folder where the messages are copied to is not opened with write
-access (see L<new(access)|Mail::Box/"Constructors">).  This has no relation with write permission
-to the folder which is controled by your operating system.
-
-I<Warning:> Different messages with id $msgid
-
-The message id is discovered more than once within the same folder, but the
-content of the message seems to be different.  This should not be possible:
-each message must be unique.
-
-I<Error:> Folder $name is opened read-only
-
-You can not write to this folder unless you have opened the folder to
-write or append with L<new(access)|Mail::Box/"Constructors">, or the C<force> option is set true.
-
-I<Error:> Folder $name not deleted: not writable.
-
-The folder must be opened with write access via L<new(access)|Mail::Box/"Constructors">, otherwise
-removing it will be refused.  So, you may have write-access according to
-the operating system, but that will not automatically mean that this
-C<delete> method permits you to.  The reverse remark is valid as well.
-
-I<Error:> Invalid timespan '$timespan' specified.
-
-The string does not follow the strict rules of the time span syntax which
-is permitted as parameter.
-
-I<Warning:> Message-id '$msgid' does not contain a domain.
-
-According to the RFCs, message-ids need to contain a unique random part,
-then an C<@>, and then a domain name.  This is made to avoid the creation
-of two messages with the same id.  The warning emerges when the C<@> is
-missing from the string.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unable to create subfolder $name of $folder.
-
-The copy includes the subfolders, but for some reason it was not possible
-to copy one of these.  Copying will proceed for all other sub-folders.
-
-I<Error:> Writing folder $name failed
-
-For some reason (you probably got more error messages about this problem)
-it is impossible to write the folder, although you should because there
-were changes made.
-
-
-=head1 DETAILS
-
-The explanation is complicated, but for normal use you should bother
-yourself with all details.
-
-=head2 How MAILDIR folders work
-
-Maildir-type folders use a directory to store the messages of one folder.
-Each message is stored in a separate file.  This seems useful, because
-changes in a folder change only a few of these small files, in contrast with
-file-based folders where changes in a folder cause rewrites of huge
-folder-files.
-
-However, Maildir based folders perform very bad if you need header information
-of all messages.  For instance, if you want to have full knowledge about
-all message-threads (see L<Mail::Box::Thread::Manager|Mail::Box::Thread::Manager>) in the folder, it
-requires to read all header lines in all message files.  And usually, reading
-your messages as threads is desired.  Maildir maintains a tiny amount
-of info visible in the filename, which may make it perform just a little
-bit faster than MH.
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Maildir.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Maildir.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Manage/User.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Manage/User.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Manage/User.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,203 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Box::Manage::User;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::Manager';
-
-use Mail::Box::Collection     ();
-
-#-------------------------------------------
-
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    $self->SUPER::init($args) or return ();
-
-    my $identity = $self->{MBMU_id} = $args->{identity};
-    defined $identity or die;
-
-    my $top     = $args->{folder_id_type}  || 'Mail::Box::Identity';
-    my $coltype = $args->{collection_type} || 'Mail::Box::Collection';
-
-    unless(ref $top)
-    {   my $name = $args->{topfolder_name};
-        $name    = '=' unless defined $name;   # MailBox's abbrev to top
-
-        $top     = $top->new
-         ( name        => $name
-         , manager     => $self
-         , location    => scalar($self->folderdir)
-         , folder_type => $self->defaultFolderType
-         , collection_type => $coltype
-         );
-    }
-
-    $self->{MBMU_topfolder} = $top;
-    $self->{MBMU_delim}     = $args->{delimiter} || '/';
-    $self->{MBMU_inbox}     = $args->{inbox};
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub identity() { shift->{MBMU_id} }
-
-#-------------------------------------------
-
-
-sub inbox(;$)
-{   my $self = shift;
-    @_ ? ($self->{MBMU_inbox} = shift) : $self->{MBMU_inbox};
-}
-
-#-------------------------------------------
-
-
-# A lot of work still has to be done here: all moves etc must inform
-# the "existence" administration as well.
-
-#-------------------------------------------
-
-
-sub topfolder() { shift->{MBMU_topfolder} }
-
-#-------------------------------------------
-
-
-sub folder($)
-{   my ($self, $name) = @_;
-    my $top  = $self->topfolder or return ();
-    my @path = split $self->{MBMU_delim}, $name;
-    return () unless shift @path eq $top->name;
-
-    $top->folder(@path);
-}
-
-#-------------------------------------------
-
-
-sub folderCollection($)
-{   my ($self, $name) = @_;
-    my $top  = $self->topfolder or return ();
-
-    my @path = split $self->{MBMU_delim}, $name;
-    unless(shift @path eq $top->name)
-    {   $self->log(ERROR => "Folder name $name not under top.");
-        return ();
-    }
-
-    my $base = pop @path;
-
-    ($top->folder(@path), $base);
-}
-
-#-------------------------------------------
-
-
-# This feature is thoroughly tested in the Mail::Box::Netzwert distribution
-
-sub create($@)
-{   my ($self, $name, %args) = @_;
-    my ($dir, $base) = $self->folderCollection($name);
-
-    unless(defined $dir)
-    {   unless($args{create_supers})
-        {   $self->log(ERROR => "Cannot create $name: higher levels missing");
-            return undef;
-        }
-
-        (my $upper = $name) =~ s!$self->{MBMU_delim}$base!!
-             or die "$name - $base";
-
-        $dir = $self->create($upper, %args, deleted => 1);
-    }
-
-    my $id = $dir->folder($base);
-    if(!defined $id)
-    {   my $idopt= $args{id_options} || [];
-        $id  = $dir->addSubfolder($base, @$idopt, deleted => $args{deleted});
-    }
-    elsif($args{deleted})
-    {   $id->deleted(1);
-        return $id;
-    }
-    elsif($id->deleted)
-    {   # Revive! Raise the death!
-        $id->deleted(0);
-    }
-    else
-    {   # Bumped into existing folder
-        $self->log(ERROR => "Folder $name already exists");
-        return undef;
-    }
-
-    if(!defined $args{create_real} || $args{create_real})
-    {   $self->defaultFolderType->create($id->location, %args)
-           or return undef;
-    }
-
-    $id;
-}
-
-#-------------------------------------------
-                                                                                
-
-sub delete($)
-{   my ($self, $name) = @_;
-    my $id = $self->folder($name) or return ();
-    $id->remove;
-
-    $self->SUPER::delete($name);
-}
-
-#-------------------------------------------
-
-
-sub rename($$@)
-{   my ($self, $oldname, $newname, %args) = @_;
-
-    my $old     = $self->folder($oldname);
-    unless(defined $old)
-    {   $self->log(WARNING
-            => "Source for rename does not exist: $oldname to $newname");
-        return ();
-    }
-
-    my ($newdir, $base) = $self->folderCollection($newname);
-    unless(defined $newdir)
-    {   unless($args{create_supers})
-        {   $self->log(ERROR
-               => "Cannot rename $oldname to $newname: higher levels missing");
-            return ();
-        }
-
-        (my $upper = $newname) =~ s!$self->{MBMU_delim}$base!!
-             or die "$newname - $base";
-
-        $newdir = $self->create($upper, %args, deleted => 1);
-    }
-
-    my $oldlocation = $old->location;
-    my $new         = $old->rename($newdir, $base);
-
-    my $newlocation = $new->location;
-    if($oldlocation ne $newlocation)
-    {   require Carp;
-        croak("Physical folder relocation not yet implemented");
-# this needs a $old->rename(xx,yy) which isn't implemented yet
-    }
-
-    $self->log(PROGRESS => "Renamed folder $oldname to $newname");
-    $new;
-}
-
-#-------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Manage/User.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Manage/User.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Manage/User.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Manage/User.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Manage/User.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,653 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Manage::User - manage the folders of a user
-
-
-=head1 INHERITANCE
-
- Mail::Box::Manage::User
-   is a Mail::Box::Manager
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- use Mail::Box::Manage::User;
- use User::Identity;
-
- my $id      = User::Identity->new(...);
- my $user    = Mail::Box::Manage::User->new
-   ( identity  => $id
-   , folderdir => "$ENV{HOME}/Mail"
-   , inbox     => $ENV{MAIL}
-   );
-
- my $inbox   = $user->open($user->inbox);
- my $top     = $user->topfolder;
-
-
-=head1 DESCRIPTION
-
-Where the L<Mail::Box::Manager|Mail::Box::Manager> takes care of some set of open folder,
-this extension will add knowledge about some related person.  At the
-same time, it will try to cache some information about that person's
-folder files.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::Manage::User-E<gt>B<new>(ARGS)
-
-=over 4
-
-Use L<new(default_folder_type)|Mail::Box::Manager/"METHODS"> to explicitly state which kind of folders
-you use.
-
- Option               Defined in       Default                                       
- autodetect           L<Mail::Box::Manager>  C<undef>                                      
- collection_type                       L<Mail::Box::Collection|Mail::Box::Collection>
- default_folder_type  L<Mail::Box::Manager>  C<'mbox'>                                     
- delimiter                             "/"                                           
- folder_id_type                        L<Mail::Box::Identity|Mail::Box::Identity>    
- folder_types         L<Mail::Box::Manager>  <all standard types>                          
- folderdir            L<Mail::Box::Manager>  C<[ '.' ]>                                    
- folderdirs           L<Mail::Box::Manager>  <synonym for C<folderdir>>                    
- identity                              <required>                                    
- inbox                                 C<undef>                                      
- log                  L<Mail::Reporter>  C<'WARNINGS'>                                 
- topfolder_name                        C<'='>                                        
- trace                L<Mail::Reporter>  C<'WARNINGS'>                                 
-
-. autodetect TYPE|ARRAY-OF-TYPES
-
-. collection_type CLASS
-
-=over 4
-
-Subfolders grouped together.
-
-=back
-
-. default_folder_type NAME|CLASS
-
-. delimiter STRING
-
-=over 4
-
-The separator used in folder names.  This doesn't need to be the
-same as your directory system is using.
-
-=back
-
-. folder_id_type CLASS|OBJECT
-
-. folder_types NEW-TYPE | ARRAY-OF-NEW-TYPES
-
-. folderdir DIRECTORY
-
-. folderdirs [DIRECTORIES]
-
-. identity OBJECT
-
-=over 4
-
-The main difference between the L<Mail::Box::Manager|Mail::Box::Manager> and this class, is
-the concept of some person (or virtual person) who's files are being
-administered by this object.  The OBJECT is an L<User::Identity|User::Identity>.
-
-The smallest identity that will do:
-C<< my $id = User::Identity->new('myname') >>
-
-=back
-
-. inbox NAME
-
-=over 4
-
-The name of the user's inbox.
-
-=back
-
-. log LEVEL
-
-. topfolder_name STRING
-
-. trace LEVEL
-
-=back
-
-=head2 Attributes
-
-
-$obj-E<gt>B<defaultFolderType>
-
-=over 4
-
-See L<Mail::Box::Manager/"Attributes">
-
-=back
-
-$obj-E<gt>B<folderTypes>
-
-=over 4
-
-See L<Mail::Box::Manager/"Attributes">
-
-=back
-
-$obj-E<gt>B<folderdir>
-
-=over 4
-
-See L<Mail::Box::Manager/"Attributes">
-
-=back
-
-$obj-E<gt>B<identity>
-
-=over 4
-
-Returns a L<User::Identity|User::Identity> object.
-
-=back
-
-$obj-E<gt>B<inbox>([NAME])
-
-=over 4
-
-(Set and) get the NAME of the mailbox which is considered the folder
-for incoming mail.  In many protocols, this folder is handled seperately.
-For instance in IMAP this is the only case-insensitive folder name.
-
-=back
-
-$obj-E<gt>B<registerType>(TYPE, CLASS [,OPTIONS])
-
-=over 4
-
-See L<Mail::Box::Manager/"Attributes">
-
-=back
-
-=head2 Manage open folders
-
-
-$obj-E<gt>B<close>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Manager/"Manage open folders">
-
-=back
-
-$obj-E<gt>B<closeAllFolders>(, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Manager/"Manage open folders">
-
-=back
-
-$obj-E<gt>B<isOpenFolder>(FOLDER)
-
-=over 4
-
-See L<Mail::Box::Manager/"Manage open folders">
-
-=back
-
-$obj-E<gt>B<open>([FOLDERNAME], OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Manager/"Manage open folders">
-
-=back
-
-$obj-E<gt>B<openFolders>
-
-=over 4
-
-See L<Mail::Box::Manager/"Manage open folders">
-
-=back
-
-=head2 Manage existing folders
-
-
-$obj-E<gt>B<create>(NAME, OPTIONS)
-
-=over 4
-
-Creates a new folder with the specified name.  An folder's administrative
-structure (L<Mail::Box::Identity|Mail::Box::Identity>) is returned, but the folder is not
-opened.
-
-In the accidental case that the folder already
-exists, a warning will be issued, and an empty list/undef returned.
-
-The OPTIONS are passed to L<Mail::Box::create()|Mail::Box/"Internals"> of your default folder
-type, except for the options intended for this method itself.
-
- Option         Defined in       Default
- create_real                     <true> 
- create_supers                   <false>
- deleted                         <false>
- id_options                      []     
-
-. create_real BOOLEAN
-
-=over 4
-
-When this option is false, the pysical folder will not be created, but
-only the administration is updated.
-
-=back
-
-. create_supers BOOLEAN
-
-=over 4
-
-When you create a folder where upper hierarchy level are missing, they
-will be created as well.
-
-=back
-
-. deleted BOOLEAN
-
-=over 4
-
-The folder starts as deleted.
-
-=back
-
-. id_options ARRAY
-
-=over 4
-
-Values passed to the instantiated L<Mail::Box::Identity|Mail::Box::Identity>.  That object
-is very picky about the initiation values it accepts.
-
-=back
-
-=back
-
-$obj-E<gt>B<delete>(NAME)
-
-=over 4
-
-Remove all signs from the folder on the file-system.  Messages still in
-the folder will be removed.  This method returns a true value when the
-folder has been removed or not found, so "false" means failure.
-
-It is also possible to delete a folder using C<< $folder->delete >>,
-which will call this method here.  OPTIONS, which are used for some
-other folder types, will be ignored here: the user's index contains the
-required details.
-
- Option     Defined in             Default           
- recursive  L<Mail::Box::Manager>  <folder's default>
-
-. recursive BOOLEAN
-
-I<Example:> how to delete a folder
-
-
- print "no xyz (anymore)\n" if $user->delete('xyz');
-
-=back
-
-$obj-E<gt>B<folder>(NAME)
-
-=over 4
-
-Returns the folder description, a L<Mail::Box::Identity|Mail::Box::Identity>.
-
-=back
-
-$obj-E<gt>B<folderCollection>(NAME)
-
-=over 4
-
-Returns a pair: the folder collection (L<Mail::Box::Collection|Mail::Box::Collection>) and
-the base name of NAME.
-
-=back
-
-$obj-E<gt>B<rename>(OLDNAME, NEWNAME, OPTIONS)
-
-=over 4
-
-Rename the folder with name OLDNAME to NEWNAME.  Both names are full
-pathnames.
-
- Option         Defined in  Default
- create_supers              <false>
-
-. create_supers BOOLEAN
-
-=over 4
-
-When you rename a folder to a place where upper hierarchy levels are
-missing, they will get be defined, but with the deleted flag set.
-
-=back
-
-=back
-
-$obj-E<gt>B<topfolder>
-
-=over 4
-
-Returns the top folder of the user's mailbox storage.
-
-=back
-
-=head2 Move messages to folders
-
-
-$obj-E<gt>B<appendMessage>([FOLDER|FOLDERNAME,] MESSAGES, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Manager/"Move messages to folders">
-
-=back
-
-$obj-E<gt>B<copyMessage>([FOLDER|FOLDERNAME,] MESSAGES, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Manager/"Move messages to folders">
-
-=back
-
-$obj-E<gt>B<moveMessage>([FOLDER|FOLDERNAME,] MESSAGES, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Manager/"Move messages to folders">
-
-=back
-
-=head2 Manage message threads
-
-
-$obj-E<gt>B<threads>([FOLDERS], OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Manager/"Manage message threads">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<decodeFolderURL>(URL)
-
-=over 4
-
-See L<Mail::Box::Manager/"Internals">
-
-=back
-
-$obj-E<gt>B<toBeThreaded>(FOLDER, MESSAGES)
-
-=over 4
-
-See L<Mail::Box::Manager/"Internals">
-
-=back
-
-$obj-E<gt>B<toBeUnthreaded>(FOLDER, MESSAGES)
-
-=over 4
-
-See L<Mail::Box::Manager/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Manage::User-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Manage::User-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Manage::User-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot create $name: higher levels missing
-
-Unless you set L<create(create_supers)|Mail::Box::Manage::User/"Manage existing folders">, all higher level folders must
-exist before this new one can be created.
-
-I<Error:> Cannot rename $name to $new: higher levels missing
-
-Unless you set L<create(create_supers)|Mail::Box::Manage::User/"Manage existing folders">, all higher level folders must
-exist before this new one can be created.
-
-I<Error:> Folder $name is already open.
-
-You cannot ask the manager for a folder which is already open. In some
-older releases (before MailBox 2.049), this was permitted, but then
-behaviour changed, because many nasty side-effects are to be expected.
-For instance, an L<Mail::Box::update()|Mail::Box/"The folder"> on one folder handle would
-influence the second, probably unexpectedly.
-
-I<Error:> Folder $name is not a Mail::Box; cannot add a message.
-
-The folder where the message should be appended to is an object which is
-not a folder type which extends L<Mail::Box|Mail::Box>.  Probably, it is not a folder
-at all.
-
-I<Warning:> Folder does not exist, failed opening $type folder $name.
-
-The folder does not exist and creating is not permitted (see
-L<open(create)|Mail::Box::Manager/"Manage open folders">) or did not succeed.  When you do not have sufficient
-access rights to the folder (for instance wrong password for POP3),
-this warning will be produced as well.
-
-The manager tried to open a folder of the specified type.  It may help
-to explicitly state the type of your folder with the C<type> option.
-There will probably be another warning or error message which is related
-to this report and provides more details about its cause.  You may also
-have a look at L<new(autodetect)|Mail::Box::Manager/"METHODS"> and L<new(folder_types)|Mail::Box::Manager/"METHODS">.
-
-I<Warning:> Folder type $type is unknown, using autodetect.
-
-The specified folder type (see L<open(type)|Mail::Box::Manager/"Manage open folders">, possibly derived from
-the folder name when specified as url) is not known to the manager.
-This may mean that you forgot to require the L<Mail::Box|Mail::Box> extension
-which implements this folder type, but probably it is a typo.  Usually,
-the manager is able to figure-out which type to use by itself.
-
-I<Error:> Illegal folder URL '$url'.
-
-The folder name was specified as URL, but not according to the syntax.
-See L<decodeFolderURL()|Mail::Box::Manager/"Internals"> for an description of the syntax.
-
-I<Error:> No foldername specified to open.
-
-C<open()> needs a folder name as first argument (before the list of options),
-or with the C<folder> option within the list.  If no name was found, the
-MAIL environment variable is checked.  When even that does not result in
-a usable folder, then this error is produced.  The error may be caused by
-an accidental odd-length option list.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unable to remove folder $dir
-
-
-I<Error:> Use appendMessage() to add messages which are not in a folder.
-
-You do not need to copy this message into the folder, because you do
-not share the message between folders.
-
-I<Warning:> Use moveMessage() or copyMessage() to move between open folders.
-
-The message is already part of a folder, and now it should be appended
-to a different folder.  You need to decide between copy or move, which
-both will clone the message (not the body, because they are immutable).
-
-I<Warning:> Will never create a folder $name without having write access.
-
-You have set L<open(create)|Mail::Box::Manager/"Manage open folders">, but only want to read the folder.  Create is
-only useful for folders which have write or append access modes
-(see L<Mail::Box::new(access)|Mail::Box/"Constructors">).
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Manage/User.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Manage/User.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Manager.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Manager.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Manager.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,562 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Box::Manager;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Reporter';
-
-use Mail::Box;
-
-use List::Util   'first';
-use Scalar::Util 'weaken';
-
-# failed compilation will not complain a second time
-# so we need to keep track.
-my %require_failed;
-
-#-------------------------------------------
-
-
-my @basic_folder_types =
-  ( [ mbox    => 'Mail::Box::Mbox'    ]
-  , [ mh      => 'Mail::Box::MH'      ]
-  , [ maildir => 'Mail::Box::Maildir' ]
-  , [ pop     => 'Mail::Box::POP3'    ]
-  , [ pop3    => 'Mail::Box::POP3'    ]
-  , [ imap    => 'Mail::Box::IMAP4'   ]
-  , [ imap4   => 'Mail::Box::IMAP4'   ]
-  );
-
-my @managers;  # usually only one, but there may be more around :(
-
-sub init($)
-{   my ($self, $args) = @_;
-    $self->SUPER::init($args);
-
-    # Register all folder-types.  There may be some added later.
-
-    my @new_types;
-    if(exists $args->{folder_types})
-    {   @new_types = ref $args->{folder_types}[0]
-                   ? @{$args->{folder_types}}
-                   : $args->{folder_types};
-    }
-
-    my @basic_types = reverse @basic_folder_types;
-    if(my $basic = $args->{autodetect})
-    {   my %types = map { ( $_ => 1) } (ref $basic ? @$basic : ($basic));
-        @basic_types = grep { $types{$_->[0]} } @basic_types;
-    }
-
-    $self->{MBM_folder_types} = [];
-    $self->registerType(@$_) foreach @new_types, @basic_types;
-
-    $self->{MBM_default_type} = $args->{default_folder_type} || 'mbox';
-
-    # Inventory on existing folder-directories.
-    $self->{MBM_folderdirs} = [ ];
-    if(exists $args->{folderdir})
-    {   my @dirs = $args->{folderdir};
-        @dirs = @{$dirs[0]} if ref $dirs[0];
-        push @{$self->{MBM_folderdirs}}, @dirs;
-    }
-
-    if(exists $args->{folderdirs})
-    {   my @dirs = $args->{folderdirs};
-        @dirs = @{$dirs[0]} if ref $dirs[0];
-        push @{$self->{MBM_folderdirs}}, @dirs;
-    }
-    push @{$self->{MBM_folderdirs}}, '.';
-
-    $self->{MBM_folders} = [];
-    $self->{MBM_threads} = [];
-
-    push @managers, $self;
-    weaken $managers[-1];
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub registerType($$@)
-{   my ($self, $name, $class, @options) = @_;
-    unshift @{$self->{MBM_folder_types}}, [$name, $class, @options];
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub folderdir()
-{   my $dirs = shift->{MBM_folderdirs} or return ();
-    wantarray ? @$dirs : $dirs->[0];
-}
-
-#-------------------------------------------
-
-
-sub folderTypes()
-{   my $self = shift;
-    my %uniq;
-    $uniq{$_->[0]}++ foreach @{$self->{MBM_folder_types}};
-    sort keys %uniq;
-}
-
-#-------------------------------------------
-
-
-sub defaultFolderType()
-{   my $self = shift;
-    my $name = $self->{MBM_default_type};
-    return $name if $name =~ m/\:\:/;  # obviously a class name
-
-    foreach my $def (@{$self->{MBM_folder_types}})
-    {   return $def->[1] if $def->[0] eq $name || $def->[1] eq $name;
-    }
-
-    undef;
-}
-
-#-------------------------------------------
-
-
-sub open(@)
-{   my $self = shift;
-    my $name = @_ % 2 ? shift : undef;
-    my %args = @_;
-    $args{authentication} ||= 'AUTO';
-
-    $name    = defined $args{folder} ? $args{folder} : ($ENV{MAIL} || '')
-        unless defined $name;
-
-    if($name =~ m/^(\w+)\:/ && grep { $_ eq $1 } $self->folderTypes)
-    {   # Complicated folder URL
-        my %decoded = $self->decodeFolderURL($name);
-        if(keys %decoded)
-        {   # accept decoded info
-            @args{keys %decoded} = values %decoded;
-        }
-        else
-        {   $self->log(ERROR => "Illegal folder URL '$name'.");
-            return;
-        }
-    }
-    else
-    {   # Simple folder name
-        $args{folder} = $name;
-    }
-
-    my $type = $args{type};
-    if(defined $type && $type eq 'pop3')
-    {   my $un   = $args{username}    ||= $ENV{USER} || $ENV{LOGIN};
-        my $srv  = $args{server_name} ||= 'localhost';
-        my $port = $args{server_port} ||= 110;
-        $args{folder} = $name = "pop3://$un\@$srv:$port";
-    }
-
-    unless(defined $name && length $name)
-    {   $self->log(ERROR => "No foldername specified to open.");
-        return undef;
-    }
-        
-    $args{folderdir} ||= $self->{MBM_folderdirs}->[0]
-        if $self->{MBM_folderdirs};
-
-    $args{access} ||= 'r';
-
-    if($args{create} && $args{access} !~ m/w|a/)
-    {   $self->log(WARNING
-           => "Will never create a folder $name without having write access.");
-        undef $args{create};
-    }
-
-    # Do not open twice.
-    if(my $folder = $self->isOpenFolder($name))
-    {   $self->log(ERROR => "Folder $name is already open.");
-        return undef;
-    }
-
-    #
-    # Which folder type do we need?
-    #
-
-    my ($folder_type, $class, @defaults);
-    if($type)
-    {   # User-specified foldertype prevails.
-        foreach (@{$self->{MBM_folder_types}})
-        {   (my $abbrev, $class, @defaults) = @$_;
-
-            if($type eq $abbrev || $type eq $class)
-            {   $folder_type = $abbrev;
-                last;
-            }
-        }
-
-        $self->log(ERROR => "Folder type $type is unknown, using autodetect.")
-            unless $folder_type;
-    }
-
-    unless($folder_type)
-    {   # Try to autodetect foldertype.
-        foreach (@{$self->{MBM_folder_types}})
-        {   next unless $_;
-            (my $abbrev, $class, @defaults) = @$_;
-            next if $require_failed{$class};
-
-            eval "require $class";
-            if($@)
-            {   $require_failed{$class}++;
-                next;
-            }
-
-            if($class->foundIn($name, @defaults, %args))
-            {   $folder_type = $abbrev;
-                last;
-            }
-        }
-     }
-
-    unless($folder_type)
-    {   # Use specified default
-        if(my $type = $self->{MBM_default_type})
-        {   foreach (@{$self->{MBM_folder_types}})
-            {   (my $abbrev, $class, @defaults) = @$_;
-                if($type eq $abbrev || $type eq $class)
-                {   $folder_type = $abbrev;
-                    last;
-                }
-            }
-        }
-    }
-
-    unless($folder_type)
-    {   # use first type (last defined)
-        ($folder_type, $class, @defaults) = @{$self->{MBM_folder_types}[0]};
-    }
-    
-    #
-    # Try to open the folder
-    #
-
-    return if $require_failed{$class};
-    eval "require $class";
-    if($@)
-    {   $self->log(ERROR => "Failed for folder default $class: $@");
-        $require_failed{$class}++;
-        return ();
-    }
-
-    push @defaults, manager => $self;
-    my $folder = $class->new(@defaults, %args);
-    unless(defined $folder)
-    {   $self->log(WARNING =>
-           "Folder does not exist, failed opening $folder_type folder $name.")
-           unless $args{access} eq 'd';
-        return;
-    }
-
-    $self->log(PROGRESS => "Opened folder $name ($folder_type).");
-    push @{$self->{MBM_folders}}, $folder;
-    $folder;
-}
-
-#-------------------------------------------
-
-
-sub openFolders() { @{shift->{MBM_folders}} }
-
-#-------------------------------------------
-
-
-sub isOpenFolder($)
-{   my ($self, $name) = @_;
-    first {$name eq $_->name} $self->openFolders;
-}
-
-#-------------------------------------------
-
-
-sub close($@)
-{   my ($self, $folder, %options) = @_;
-    return unless $folder;
-
-    my $name      = $folder->name;
-    my @remaining = grep {$name ne $_->name} @{$self->{MBM_folders}};
-
-    # folder opening failed:
-    return if @{$self->{MBM_folders}} == @remaining;
-
-    $self->{MBM_folders} = [ @remaining ];
-    $_->removeFolder($folder) foreach @{$self->{MBM_threads}};
-
-    $folder->close(close_by_manager => 1, %options)
-       unless $options{close_by_self};
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub closeAllFolders(@)
-{   my ($self, @options) = @_;
-    $_->close(@options) foreach $self->openFolders;
-    $self;
-}
-
-END {map {defined $_ && $_->closeAllFolders} @managers}
-
-#-------------------------------------------
-
-
-sub delete($@)
-{   my ($self, $name, %args) = @_;
-    my $recurse = delete $args{recursive};
-
-    my $folder = $self->open(folder => $name, access => 'd', %args)
-        or return $self;  # still successful
-
-    $folder->delete(recursive => $recurse);
-}
-
-#-------------------------------------------
-
-
-sub appendMessage(@)
-{   my $self     = shift;
-    my @appended = $self->appendMessages(@_);
-    wantarray ? @appended : $appended[0];
-}
-
-sub appendMessages(@)
-{   my $self = shift;
-    my $folder;
-    $folder  = shift if !ref $_[0] || $_[0]->isa('Mail::Box');
-
-    my @messages;
-    push @messages, shift while @_ && ref $_[0];
-
-    my %options = @_;
-    $folder ||= $options{folder};
-
-    # Try to resolve filenames into opened-files.
-    $folder = $self->isOpenFolder($folder) || $folder
-        unless ref $folder;
-
-    if(ref $folder)
-    {   # An open file.
-        unless($folder->isa('Mail::Box'))
-        {   $self->log(ERROR =>
-                "Folder $folder is not a Mail::Box; cannot add a message.\n");
-            return ();
-        }
-
-        foreach (@messages)
-        {   next unless $_->isa('Mail::Box::Message') && $_->folder;
-            $self->log(WARNING =>
-               "Use moveMessage() or copyMessage() to move between open folders.");
-        }
-
-        return $folder->addMessages(@messages);
-    }
-
-    # Not an open file.
-    # Try to autodetect the folder-type and then add the message.
-
-    my ($name, $class, @gen_options, $found);
-
-    foreach (@{$self->{MBM_folder_types}})
-    {   ($name, $class, @gen_options) = @$_;
-        next if $require_failed{$class};
-        eval "require $class";
-        if($@)
-        {   $require_failed{$class}++;
-            next;
-        }
-
-        if($class->foundIn($folder, @gen_options, access => 'a'))
-        {   $found++;
-            last;
-        }
-    }
- 
-    # The folder was not found at all, so we take the default folder-type.
-    my $type = $self->{MBM_default_type};
-    if(!$found && $type)
-    {   foreach (@{$self->{MBM_folder_types}})
-        {   ($name, $class, @gen_options) = @$_;
-            if($type eq $name || $type eq $class)
-            {   $found++;
-                last;
-            }
-        }
-    }
-
-    # Even the default foldertype was not found (or nor defined).
-    ($name, $class, @gen_options) = @{$self->{MBM_folder_types}[0]}
-        unless $found;
-
-    $class->appendMessages
-      ( type     => $name
-      , messages => \@messages
-      , @gen_options
-      , %options
-      , folder   => $folder
-      );
-}
-
-#-------------------------------------------
-
-
-sub copyMessage(@)
-{   my $self   = shift;
-    my $folder;
-    $folder    = shift if !ref $_[0] || $_[0]->isa('Mail::Box');
-
-    my @messages;
-    while(@_ && ref $_[0])
-    {   my $message = shift;
-        $self->log(ERROR =>
-            "Use appendMessage() to add messages which are not in a folder.")
-                unless $message->isa('Mail::Box::Message');
-        push @messages, $message;
-    }
-
-    my %args = @_;
-    $folder ||= $args{folder};
-    my $share   = exists $args{share} ? $args{share} : $args{_delete};
-
-    # Try to resolve filenames into opened-files.
-    $folder = $self->isOpenFolder($folder) || $folder
-        unless ref $folder;
-
-    my @coerced
-     = ref $folder
-     ? map {$_->copyTo($folder, share => $args{share})} @messages
-     : $self->appendMessages(@messages, %args, folder => $folder);
-
-    # hidden option, do not use it: it's designed to optimize moveMessage
-    if($args{_delete})
-    {   $_->label(deleted => 1) foreach @messages;
-    }
-
-    @coerced;
-}
-
-#-------------------------------------------
-
-
-sub moveMessage(@)
-{   my $self = shift;
-    $self->copyMessage(@_, _delete => 1);
-}
-
-#-------------------------------------------
-
-
-#-------------------------------------------
-
-
-sub threads(@)
-{   my $self    = shift;
-    my @folders;
-    push @folders, shift
-       while @_ && ref $_[0] && $_[0]->isa('Mail::Box');
-    my %args    = @_;
-
-    my $base    = 'Mail::Box::Thread::Manager';
-    my $type    = $args{threader_type} || $base;
-
-    my $folders = delete $args{folder} || delete $args{folders};
-    push @folders
-     , ( !$folders               ? ()
-       : ref $folders eq 'ARRAY' ? @$folders
-       :                           $folders
-       );
-
-    $self->log(INTERNAL => "No folders specified.")
-       unless @folders;
-
-    my $threads;
-    if(ref $type)
-    {   # Already prepared object.
-        $self->log(INTERNAL => "You need to pass a $base derived")
-            unless $type->isa($base);
-        $threads = $type;
-    }
-    else
-    {   # Create an object.  The code is compiled, which safes us the
-        # need to compile Mail::Box::Thread::Manager when no threads are needed.
-        eval "require $type";
-        $self->log(INTERNAL => "Unusable threader $type: $@") if $@;
-
-        $self->log(INTERNAL => "You need to pass a $base derived")
-            unless $type->isa($base);
-
-        $threads = $type->new(manager => $self, %args);
-    }
-
-    $threads->includeFolder($_) foreach @folders;
-    push @{$self->{MBM_threads}}, $threads;
-    $threads;
-}
-
-#-------------------------------------------
-
-
-sub toBeThreaded($@)
-{   my $self = shift;
-    $_->toBeThreaded(@_) foreach @{$self->{MBM_threads}};
-}
-
-#-------------------------------------------
-
-
-sub toBeUnthreaded($@)
-{   my $self = shift;
-    $_->toBeUnthreaded(@_) foreach @{$self->{MBM_threads}};
-}
-
-#-------------------------------------------
-
-
-sub decodeFolderURL($)
-{   my ($self, $name) = @_;
-
-    return unless
-       my ($type, $username, $password, $hostname, $port, $path)
-          = $name =~ m!^(\w+)\:             # protocol
-                       (?://
-                          (?:([^:@./]*)     # username
-                            (?:\:([^@/]*))? # password
-                           \@)?
-                           ([\w.-]+)?       # hostname
-                           (?:\:(\d+))?     # port number
-                        )?
-                        (.*)                # foldername
-                      !x;
-
-    $username ||= $ENV{USER} || $ENV{LOGNAME};
-
-    $password ||= '';        # decode password from url
-    $password   =~ s/\+/ /g;
-    $password   =~ s/\%([A-Fa-f0-9]{2})/chr hex $1/ge;
-
-    $hostname ||= 'localhost';
-
-    $path     ||= '=';
-
-    ( type        => $type,     folder      => $path
-    , username    => $username, password    => $password
-    , server_name => $hostname, server_port => $port
-    );
-}
-
-#-------------------------------------------
-
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Manager.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Manager.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Manager.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Manager.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Manager.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,807 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Manager - manage a set of folders
-
-
-=head1 INHERITANCE
-
- Mail::Box::Manager
-   is a Mail::Reporter
-
- Mail::Box::Manager is extended by
-   Mail::Box::Manage::User
-
-
-=head1 SYNOPSIS
-
- use Mail::Box::Manager;
- my $mgr     = new Mail::Box::Manager;
-
- # Create folder objects.
- my $folder   = $mgr->open(folder => $ENV{MAIL});
- my $message1 = $folder->message(0);
- $mgr->copyMessage('Draft', $message);
-
- my @messages = $folder->message(0,3);
- $mgr->moveMessage('Outbox', @messages, create => 1 );
- $mgr->close($folder);
-
- # Create thread-detectors (see Mail::Box::Thread::Manager)
- my $t       = $mgr->threads($inbox, $outbox);
-
- my $threads = $mgr->threads(folder => $folder);
- foreach my $thread ($threads->all)
- {   $thread->print;
- }
-
- $mgr->registerType(mbox => 'Mail::Box::MyType');
-
-
-=head1 DESCRIPTION
-
-The manager keeps track on a set of open folders and a set of message-thread
-supporting objects.  You are not obliged to use this object (you can
-directly create a L<Mail::Box::Mbox|Mail::Box::Mbox> if you prefer), but you will create
-more portable and safer code if you do use it.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::Manager-E<gt>B<new>(ARGS)
-
-=over 4
-
- Option               Defined in       Default                   
- autodetect                            C<undef>                  
- default_folder_type                   C<'mbox'>                 
- folder_types                          <all standard types>      
- folderdir                             C<[ '.' ]>                
- folderdirs                            <synonym for C<folderdir>>
- log                  L<Mail::Reporter>  C<'WARNINGS'>             
- trace                L<Mail::Reporter>  C<'WARNINGS'>             
-
-. autodetect TYPE|ARRAY-OF-TYPES
-
-=over 4
-
-Select only a subset of the folder types which are implemented by MailBox
-to be detected automatically.  This may improve the auto-detection of
-folder types.  Normally, all folder types will be tried when a folder's
-name is incorrect, but this option limits the types which are checked
-and therefore may respond faster.
-
-=back
-
-. default_folder_type NAME|CLASS
-
-=over 4
-
-Specifies the default folder type for newly created folders.  If this
-option is not specified, the most recently registered type is used (see
-L<registerType()|Mail::Box::Manager/"Attributes"> and the L<new(folder_types)|Mail::Box::Manager/"METHODS"> option.
-
-=back
-
-. folder_types NEW-TYPE | ARRAY-OF-NEW-TYPES
-
-=over 4
-
-Add one or more new folder types to the list of known types.  The order is
-important: when you open a file without specifying its type, the
-manager will start trying the last added list of types, in order.
-
-Each TYPE is specified as an array which contains name, class, and
-defaults for options which overrule the usual defaults.  You may specify
-folder-specific defaults as OPTIONS.  They override the settings of
-the manager.
-
-=back
-
-. folderdir DIRECTORY
-
-=over 4
-
-The default directory, or directories, where folders are
-located. The C<Mail::Box::Manager> can autodetect the existing folder-types.
-There may be different kinds of folders opened at the same time, and
-messages can be moved between those types, although that may result in
-a loss of information depending on the folder types.
-
-=back
-
-. folderdirs [DIRECTORIES]
-
-. log LEVEL
-
-. trace LEVEL
-
-=back
-
-=head2 Attributes
-
-
-$obj-E<gt>B<defaultFolderType>
-
-=over 4
-
-Returns the default folder type, some class name.
-
-=back
-
-$obj-E<gt>B<folderTypes>
-
-=over 4
-
-Returns the list of currently defined folder types.
-
-I<Example:> 
-
- print join("\n", $manager->folderTypes), "\n";
-
-=back
-
-$obj-E<gt>B<folderdir>
-
-=over 4
-
-In list context, this returns all folderdirs specified.  In SCALAR
-context only the first.
-
-=back
-
-$obj-E<gt>B<registerType>(TYPE, CLASS [,OPTIONS])
-
-=over 4
-
-With C<registerType> you can register one TYPE of folders.  The CLASS
-is compiled automatically, so you do not need to C<use> them in your own
-modules.  The TYPE is just an arbitrary name.
-
-The added types are prepended to the list of known types, so they are
-checked first when a folder is opened in autodetect mode.
-
-I<Example:> 
-
- $manager->registerType(mbox => 'Mail::Box::Mbox',
-     save_on_exit => 0, folderdir => '/tmp');
-
-=back
-
-=head2 Manage open folders
-
-
-$obj-E<gt>B<close>(FOLDER, OPTIONS)
-
-=over 4
-
-C<close> removes the specified folder from the list of open folders.
-Indirectly it will update the files on disk if needed (depends on
-the L<Mail::Box::new(save_on_exit)|Mail::Box/"Constructors"> flag for each folder). OPTIONS are
-passed to L<Mail::Box::close()|Mail::Box/"The folder"> of the folder.
-
-The folder's messages will also be withdrawn from the known message threads.
-You may also close the folder directly. The manager will be informed
-about this event and take appropriate actions.
-
- Option         Defined in  Default
- close_by_self              <false>
-
-. close_by_self BOOLEAN
-
-=over 4
-
-Used internally to avoid confusion about how the close was started.  Do
-not change this.
-
-=back
-
-I<Example:> 
-
- my $inbox = $mgr->open('inbox');
- $mgr->close($inbox);
- $inbox->close;        # alternative
-
-=back
-
-$obj-E<gt>B<closeAllFolders>(, OPTIONS)
-
-=over 4
-
-C<closeAllFolders> calls close() for each folder managed by
-this object.  It is called just before the program stops (before global
-cleanup).
-
-=back
-
-$obj-E<gt>B<isOpenFolder>(FOLDER)
-
-=over 4
-
-Returns true if the FOLDER is currently open.
-
-I<Example:> 
-
- print "Yes\n" if $mgr->isOpenFolder('Inbox');
-
-=back
-
-$obj-E<gt>B<open>([FOLDERNAME], OPTIONS)
-
-=over 4
-
-Open a folder which name is specified as first parameter or with
-the option flag C<folder>.  The folder type is autodetected unless
-the C<type> is specified.
-
-C<open> carries options for the manager which are described here, but
-may also have additional options for the folder type.  For a
-description of the folder options, see the options to the constructor
-L<Mail::Box::new()|Mail::Box/"Constructors"> for each type of mail box.
-
- Option        Defined in       Default                 
- authenticate                   C<'AUTO'>               
- create                         <false>                 
- folder                         C<$ENV{MAIL}>           
- folderdir                      C<'.'>                  
- type                           <first, usually C<mbox>>
-
-. authenticate TYPE|ARRAY-OF-TYPES|'AUTO'
-
-=over 4
-
-The TYPE of authentication to be used, or a list of TYPES which the
-client prefers.  The server may provide preferences as well, and that
-order will be kept.  This option is only supported by a small subset of
-folder types, especially by POP and IMAP.
-
-=back
-
-. create BOOLEAN
-
-=over 4
-
-Create the folder if it does not exist. By default, this is not done.
-The C<type> option specifies which type of folder is created.
-
-=back
-
-. folder NAME|URL
-
-=over 4
-
-Which folder to open, specified by NAME or special URL.
-The URL format is composed as
-
- type://username:password@hostname:port/foldername
-
-Like real URLs, all fields are optional and have smart defaults, as long
-as the string starts with a known folder type.  Far
-from all folder types support all these options, but at least they are
-always split-out.  Be warned that special characters in the password should
-be properly url-encoded.
-
-When you specify anything which does not match the URL format, it is
-passed directly to the C<new> method of the folder which is opened.
-
-=back
-
-. folderdir DIRECTORY
-
-=over 4
-
-The directory where the folders are usually stored.
-
-=back
-
-. type FOLDERTYPENAME|FOLDERTYPE
-
-=over 4
-
-Specify the type of the folder.  If you do not specify this option while
-opening a folder for reading, the manager checks all registered folder
-types in order for the ability to open the folder. If you open a new
-folder for writing, then the default will be the most recently registered
-type. (If you add more than one type at once, the first of the list is
-used.)
-
-=back
-
-I<Example:> opening folders via the manager
-
-
- my $jack  = $manager->open(folder => '=jack',
-    type => 'mbox');
-
- my $rcvd  = $manager->open('myMail',
-    type => 'Mail::Box::Mbox', access => 'rw');
-
- my $inbox = $manager->open('Inbox')
-    or die "Cannot open Inbox.\n";
-
- my $pop   = 'pop3://myself:secret@pop3.server.com:120/x';
- my $send  = $manager->open($url);
-
- my $send  = $manager->open(folder => '/x',
-   type => 'pop3', username => 'myself', password => 'secret'
-   server_name => 'pop3.server.com', server_port => '120');
-
-=back
-
-$obj-E<gt>B<openFolders>
-
-=over 4
-
-Returns a list of all open folders.
-
-=back
-
-=head2 Manage existing folders
-
-
-$obj-E<gt>B<delete>(FOLDERNAME, OPTIONS)
-
-=over 4
-
-Remove the named folder.  The OPTIONS are the same as those for L<open()|Mail::Box::Manager/"Manage open folders">.
-
-The deletion of a folder can take some time.  Dependent on the type of
-folder, the folder must be read first.  For some folder-types this will
-be fast.
-
- Option     Defined in  Default           
- recursive              <folder's default>
-
-. recursive BOOLEAN
-
-=over 4
-
-Some folder can only be recursively deleted, other have more flexibility.
-
-=back
-
-=back
-
-=head2 Move messages to folders
-
-
-$obj-E<gt>B<appendMessage>([FOLDER|FOLDERNAME,] MESSAGES, OPTIONS)
-
-=over 4
-
-Append one or more messages to a folder (therefore, an C<appendMessages()>
-is defined as well). You may specify a FOLDERNAME or an opened folder
-as the first argument. When the name is that of an open folder, it is
-treated as if the folder-object was specified, and not directly access
-the folder-files.  You may also specify the foldername as part of the
-options list.
-
-If a message is added to an already opened folder, it is only added to
-the structure internally in the program.  The data will not be written to
-disk until a write of that folder takes place.  When the name of an
-unopened folder is given, the folder is opened, the messages stored on
-disk, and then the folder is closed.
-
-A message must be an instance of a L<Mail::Message|Mail::Message>.  The actual message
-type does not have to match the folder type--the folder will try to
-resolve the differences with minimal loss of information.  The coerced
-messages (how the were actually written) are returned as list.
-
-The OPTIONS is a list of key/values, which are added to (overriding)
-the default options for the detected folder type.
-
-I<Example:> 
-
- $mgr->appendMessage('=send', $message, folderdir => '/');
- $mgr->appendMessage($received, $inbox->messages);
-
- my @appended = $mgr->appendMessages($inbox->messages,
-    folder => 'Drafts');
- $_->label(seen => 1) foreach @appended;
-
-=back
-
-$obj-E<gt>B<copyMessage>([FOLDER|FOLDERNAME,] MESSAGES, OPTIONS)
-
-=over 4
-
-Copy a message from one folder into another folder.  If the destination
-folder is already opened, L<Mail::Box::copyTo()|Mail::Box/"The folder"> is used.  Otherwise,
-L<Mail::Box::appendMessages()|Mail::Box/"The folder"> is called.
-
-You need to specify a folder's name or folder object as the first
-argument, or in the options list.  The options are the same as those
-which can be specified when opening a folder.
-
- Option  Defined in  Default
- share               <false>
-
-. share BOOLEAN
-
-=over 4
-
-Try to share the physical storage of the messages.  The folder types
-may be different, but it all depends on the actual folder where the
-message is copied to.  Silently ignored when not possible to share.
-
-=back
-
-I<Example:> 
-
- my $drafts = $mgr->open(folder => 'Drafts');
- my $outbox = $mgr->open(folder => 'Outbox');
- $mgr->copyMessage($outbox, $drafts->message(0));
-
- my @messages = $drafts->message(1,2);
- $mgr->copyMessage('=Trash', @messages,
-    folderdir => '/tmp', create => 1);
-
- $mgr->copyMessage($drafts->message(1),
-    folder => '=Drafts' folderdir => '/tmp',
-    create => 1);
-
-=back
-
-$obj-E<gt>B<moveMessage>([FOLDER|FOLDERNAME,] MESSAGES, OPTIONS)
-
-=over 4
-
-Move a message from one folder to another.  Be warned that removals from
-a folder only take place when the folder is closed, so the message is only
-flagged to be deleted in the opened source folder.
-
- $mgr->moveMessage($received, $inbox->message(1))
-
-is equivalent to
-
- $mgr->copyMessage($received, $inbox->message(1), share => 1);
- $inbox->message(1)->delete;
-
- Option  Defined in  Default
- share               <true> 
-
-. share BOOLEAN
-
-=back
-
-=head2 Manage message threads
-
-
-$obj-E<gt>B<threads>([FOLDERS], OPTIONS)
-
-=over 4
-
-Create a new object which keeps track of message threads.  You can
-read about the possible options in L<Mail::Box::Thread::Manager|Mail::Box::Thread::Manager>.
-As OPTIONS specify one folder or an array of FOLDERS.
-It is also permitted to specify folders before the options.
-
-I<Example:> 
-
- my $t1 = $mgr->threads(folders => [ $inbox, $send ]);
- my $t2 = $mgr->threads($inbox);
- my $t3 = $mgr->threads($inbox, $send);
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<decodeFolderURL>(URL)
-
-=over 4
-
-Try to decompose a folder name which is specified as URL (see open())
-into separate options.
-
-=back
-
-$obj-E<gt>B<toBeThreaded>(FOLDER, MESSAGES)
-
-=over 4
-
-Signal to the manager that all thread managers which are using the
-specified folder must be informed that new messages are
-coming in.
-
-=back
-
-$obj-E<gt>B<toBeUnthreaded>(FOLDER, MESSAGES)
-
-=over 4
-
-Signal to the manager that all thread managers which are using the
-specified folder must be informed that new messages are
-or going out.
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Manager-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Manager-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Manager-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Folder $name is already open.
-
-You cannot ask the manager for a folder which is already open. In some
-older releases (before MailBox 2.049), this was permitted, but then
-behaviour changed, because many nasty side-effects are to be expected.
-For instance, an L<Mail::Box::update()|Mail::Box/"The folder"> on one folder handle would
-influence the second, probably unexpectedly.
-
-I<Error:> Folder $name is not a Mail::Box; cannot add a message.
-
-The folder where the message should be appended to is an object which is
-not a folder type which extends L<Mail::Box|Mail::Box>.  Probably, it is not a folder
-at all.
-
-I<Warning:> Folder does not exist, failed opening $type folder $name.
-
-The folder does not exist and creating is not permitted (see
-L<open(create)|Mail::Box::Manager/"Manage open folders">) or did not succeed.  When you do not have sufficient
-access rights to the folder (for instance wrong password for POP3),
-this warning will be produced as well.
-
-The manager tried to open a folder of the specified type.  It may help
-to explicitly state the type of your folder with the C<type> option.
-There will probably be another warning or error message which is related
-to this report and provides more details about its cause.  You may also
-have a look at L<new(autodetect)|Mail::Box::Manager/"METHODS"> and L<new(folder_types)|Mail::Box::Manager/"METHODS">.
-
-I<Warning:> Folder type $type is unknown, using autodetect.
-
-The specified folder type (see L<open(type)|Mail::Box::Manager/"Manage open folders">, possibly derived from
-the folder name when specified as url) is not known to the manager.
-This may mean that you forgot to require the L<Mail::Box|Mail::Box> extension
-which implements this folder type, but probably it is a typo.  Usually,
-the manager is able to figure-out which type to use by itself.
-
-I<Error:> Illegal folder URL '$url'.
-
-The folder name was specified as URL, but not according to the syntax.
-See L<decodeFolderURL()|Mail::Box::Manager/"Internals"> for an description of the syntax.
-
-I<Error:> No foldername specified to open.
-
-C<open()> needs a folder name as first argument (before the list of options),
-or with the C<folder> option within the list.  If no name was found, the
-MAIL environment variable is checked.  When even that does not result in
-a usable folder, then this error is produced.  The error may be caused by
-an accidental odd-length option list.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Use appendMessage() to add messages which are not in a folder.
-
-You do not need to copy this message into the folder, because you do
-not share the message between folders.
-
-I<Warning:> Use moveMessage() or copyMessage() to move between open folders.
-
-The message is already part of a folder, and now it should be appended
-to a different folder.  You need to decide between copy or move, which
-both will clone the message (not the body, because they are immutable).
-
-I<Warning:> Will never create a folder $name without having write access.
-
-You have set L<open(create)|Mail::Box::Manager/"Manage open folders">, but only want to read the folder.  Create is
-only useful for folders which have write or append access modes
-(see L<Mail::Box::new(access)|Mail::Box/"Constructors">).
-
-
-=head1 DETAILS
-
-On many places in the documentation you can read that it is useful to
-have a manager object.  There are two of them: the L<Mail::Box::Manager|Mail::Box::Manager>,
-which maintains a set of open folders, and an extension of it: the
-L<Mail::Box::Manage::User|Mail::Box::Manage::User>.
-
-=head2 Managing open folders
-
-It is useful to start your program by creating a folder manager object,
-an L<Mail::Box::Manager|Mail::Box::Manager>.  The object takes a few burdons from your neck:
-
-=over 4
-
-=item * autodetect the type of folder which is used.
-
-This means that your application can be fully folder type independent.
-
-=item * autoload the required modules
-
-There are so many modules involved in MailBox, that it is useful to
-have some lazy autoloading of code.  The manager knows which modules
-belong to which type of folder.
-
-=item * avoid double openings
-
-Your programming mistakes may cause the same folder to be opened twice.
-The result of that could be very destructive.  Therefore, the manager
-keeps track on all open folders and avoids the same folder to be opened
-for the second time.
-
-=item * close folders at clean-up
-
-When the program is ending, the manager will cleanly close all folders
-which are still open.  This is required, because the autodestruct
-sequence of Perl works in an unpredicatable order.
-
-=item * message thread detection
-
-MailBox can discover message threads which span multiple folders. Any set
-of open folders may be grouped in a tree of replies on replies on replies.
-When a folder is closed, it will automatically be removed from the threads,
-
-and a new folder can dynamically be added to the structure.
-=back
-
-The manager is really simplifying things, and should therefore be the
-base of all programs. However, it is possible to write useful programs
-without it.
-
-=head2 Managing a user
-
-One step further is the L<Mail::Box::Manage::User|Mail::Box::Manage::User> object (since MailBox
-v2.057), which not only keeps track on open folders, but also collects
-information about not-open folders.
-
-The user class is, as the name says, targeted on managing one single user.
-Where the L<Mail::Box::Manager|Mail::Box::Manager> will open any set of folder files, probably
-from multiple users, the user class want one root folder directory.
-
-In many aspects, the user manager simplifies the task for user-based servers
-and other user-centric applications by setting smart defaults.
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Manager.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Manager.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Mbox/Message.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Mbox/Message.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Mbox/Message.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,42 +0,0 @@
-
-use strict;
-package Mail::Box::Mbox::Message;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::File::Message';
-
-
-#-------------------------------------------
-
-sub head(;$$)
-{   my $self  = shift;
-    return $self->SUPER::head unless @_;
-
-    my ($head, $labels) = @_;
-    $self->SUPER::head($head, $labels);
-
-    $self->statusToLabels if $head && !$head->isDelayed;
-    $head;
-}
-
-#-------------------------------------------
-
-sub label(@)
-{   my $self   = shift;
-    $self->loadHead;    # be sure the status fields have been read
-    my $return = $self->SUPER::label(@_);
-    $return;
-}
-
-#-------------------------------------------
-
-sub labels(@)
-{   my $self   = shift;
-    $self->loadHead;    # be sure the status fields have been read
-    $self->SUPER::labels(@_);
-}
-
-#------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Mbox/Message.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Mbox/Message.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Mbox/Message.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Mbox/Message.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Mbox/Message.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,913 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Mbox::Message - one message in a Mbox folder
-
-
-=head1 INHERITANCE
-
- Mail::Box::Mbox::Message
-   is a Mail::Box::File::Message
-   is a Mail::Box::Message
-   is a Mail::Message
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my $folder  = new Mail::Box::Mbox folder => $ENV{MAIL}, ...;
- my $message = $folder->message(0);
-
-
-=head1 DESCRIPTION
-
-Maintain one message in an L<Mail::Box::Mbox|Mail::Box::Mbox> folder.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"Constructors">
-
-=back
-
-Mail::Box::Mbox::Message-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box::File::Message/"METHODS">
-
-=back
-
-=head2 Constructing a message
-
-
-$obj-E<gt>B<bounce>([RG-OBJECT|OPTIONS])
-
-=over 4
-
-See L<Mail::Message::Construct::Bounce/"Constructing a message">
-
-=back
-
-Mail::Box::Mbox::Message-E<gt>B<build>([MESSAGE|PART|BODY], CONTENT)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-Mail::Box::Mbox::Message-E<gt>B<buildFromBody>(BODY, [HEAD], HEADERS)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forward>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardAttach>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardEncapsulate>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardInline>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardNo>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPostlude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPrelude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardSubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-Mail::Box::Mbox::Message-E<gt>B<read>(FILEHANDLE|SCALAR|REF-SCALAR|ARRAY-OF-LINES, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Read/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<rebuild>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<reply>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replyPrelude>([STRING|FIELD|ADDRESS|ARRAY-OF-THINGS])
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replySubject>(STRING)
-
-Mail::Box::Mbox::Message-E<gt>B<replySubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-=head2 The message
-
-
-$obj-E<gt>B<container>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<copyTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<folder>([FOLDER])
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<fromLine>([LINE])
-
-=over 4
-
-See L<Mail::Box::File::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isDummy>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isPart>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<messageId>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<moveTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<send>([MAILER], OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<seqnr>([INTEGER])
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<toplevel>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<write>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Box::File::Message/"METHODS">
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<bcc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<cc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<date>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<destinations>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<from>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<get>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<guessTimestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<head>([HEAD])
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<sender>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<study>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<subject>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<timestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<to>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-=head2 The body
-
-
-$obj-E<gt>B<body>([BODY])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<decoded>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<encode>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isNested>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<parts>(['ALL'|'ACTIVE'|'DELETED'|'RECURSE'|FILTER])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-=head2 Flags
-
-
-$obj-E<gt>B<delete>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<deleted>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isDeleted>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<label>(LABEL|PAIRS)
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<labels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<labelsToStatus>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<statusToLabels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-=head2 The whole message as text
-
-
-$obj-E<gt>B<file>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<lines>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<printStructure>([FILEHANDLE|undef],[INDENT])
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<clonedFrom>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-Mail::Box::Mbox::Message-E<gt>B<coerce>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<diskDelete>
-
-=over 4
-
-See L<Mail::Box::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<fileLocation>
-
-=over 4
-
-See L<Mail::Box::File::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<loadBody>
-
-=over 4
-
-See L<Mail::Box::File::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<moveLocation>(DISTANCE)
-
-=over 4
-
-See L<Mail::Box::File::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readBody>(PARSER, HEAD [, BODYTYPE])
-
-=over 4
-
-See L<Mail::Box::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readFromParser>(PARSER)
-
-=over 4
-
-See L<Mail::Box::File::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readHead>(PARSER [,CLASS])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<recursiveRebuildPart>(PART, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Internals">
-
-=back
-
-$obj-E<gt>B<storeBody>(BODY)
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<takeMessageId>([STRING])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Message::Construct/"METHODS">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Mbox::Message-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Mbox::Message-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Mbox::Message-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortSize>([VALUE])
-
-Mail::Box::Mbox::Message-E<gt>B<shortSize>([VALUE])
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortString>
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<destruct>
-
-=over 4
-
-See L<Mail::Box::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot include forward source as $include.
-
-Unknown alternative for the L<forward(include)|Mail::Message::Construct::Forward/"Constructing a message">.  Valid choices are
-C<NO>, C<INLINE>, C<ATTACH>, and C<ENCAPSULATE>.
-
-I<Error:> Cannot include reply source as $include.
-
-Unknown alternative for the C<include> option of L<reply()|Mail::Message::Construct::Reply/"Constructing a message">.  Valid
-choices are C<NO>, C<INLINE>, and C<ATTACH>.
-
-I<Error:> No address to create forwarded to.
-
-If a forward message is created, a destination address must be specified.
-
-I<Error:> No default mailer found to send message.
-
-The message L<send()|Mail::Message/"The message"> mechanism had not enough information to automatically
-find a mail transfer agent to sent this message.  Specify a mailer
-explicitly using the C<via> options.
-
-I<Error:> Only build() Mail::Message's; they are not in a folder yet
-
-You may wish to construct a message to be stored in a some kind
-of folder, but you need to do that in two steps.  First, create a
-normal L<Mail::Message|Mail::Message>, and then add it to the folder.  During this
-L<Mail::Box::addMessage()|Mail::Box/"The folder"> process, the message will get L<coerce()|Mail::Message/"Internals">-d
-into the right message type, adding storage information and the like.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unable to read delayed body.
-
-
-I<Error:> bounce requires To, Cc, or Bcc
-
-The message L<bounce()|Mail::Message::Construct::Bounce/"Constructing a message"> method forwards a received message off to someone
-else without modification; you must specified it's new destination.
-If you have the urge not to specify any destination, you probably
-are looking for L<reply()|Mail::Message::Construct::Reply/"Constructing a message">. When you wish to modify the content, use
-L<forward()|Mail::Message::Construct::Forward/"Constructing a message">.
-
-I<Error:> forwardAttach requires a preamble object
-
-
-I<Error:> forwardEncapsulate requires a preamble object
-
-
-I<Error:> no rebuild rule $name defined.
-
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Mbox/Message.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Mbox/Message.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Mbox.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Mbox.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Mbox.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,195 +0,0 @@
-
-use strict;
-package Mail::Box::Mbox;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::File';
-
-use Mail::Box::Mbox::Message;
-
-
-our $default_folder_dir    = exists $ENV{HOME} ? $ENV{HOME} . '/Mail' : '.';
-our $default_sub_extension = '.d';
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    $self->{MBM_sub_ext}    # required during init
-        = $args->{subfolder_extension} || $default_sub_extension;
-
-    $self->SUPER::init($args);
-}
-
-#-------------------------------------------
-
-
-sub create($@)
-{   my ($thingy, $name, %args) = @_;
-    my $class = ref $thingy    || $thingy;
-    $args{folderdir}           ||= $default_folder_dir;
-    $args{subfolder_extension} ||= $default_sub_extension;
-
-    $class->SUPER::create($name, %args);
-}
-
-#-------------------------------------------
-
-
-sub foundIn($@)
-{   my $class = shift;
-    my $name  = @_ % 2 ? shift : undef;
-    my %args  = @_;
-    $name   ||= $args{folder} or return;
-
-    my $folderdir = $args{folderdir} || $default_folder_dir;
-    my $extension = $args{subfolder_extension} || $default_sub_extension;
-    my $filename  = $class->folderToFilename($name, $folderdir, $extension);
-
-    if(-d $filename)      # fake empty folder, with sub-folders
-    {   return 1 unless -f File::Spec->catfile($filename, '1')   # MH
-                     || -d File::Spec->catdir($filename, 'cur'); # Maildir
-    }
-
-    return 0 unless -f $filename;
-    return 1 if -z $filename;               # empty folder is ok
-
-    open my $file, '<', $filename or return 0;
-    local $_;
-    while(<$file>)
-    {   next if /^\s*$/;                    # skip empty lines
-        $file->close;
-        return substr($_, 0, 5) eq 'From '; # found Mbox separator?
-    }
-
-    return 1;
-}
-
-#-------------------------------------------
-
-sub delete(@)
-{   my $self = shift;
-    $self->SUPER::delete(@_);
-
-    my $subfdir = $self->filename . $default_sub_extension;
-    rmdir $subfdir;   # may fail, when there are still subfolders (no recurse)
-}
-
-#-------------------------------------------
-
-sub writeMessages($)
-{   my ($self, $args) = @_;
-
-    $self->SUPER::writeMessages($args) or return;
-
-    if($self->{MB_remove_empty})
-    {   # Can the sub-folder directory be removed?  Don't mind if this
-        # doesn't work: probably no subdir or still something in it.  This
-        # is a rather blunt approach...
-        rmdir $self->filename . $self->{MBM_sub_ext};
-    }
-
-    $self;
-}
-
-#-------------------------------------------
-
-sub type() {'mbox'}
-
-#-------------------------------------------
-
-
-sub listSubFolders(@)
-{   my ($thingy, %args)  = @_;
-    my $class      = ref $thingy || $thingy;
-
-    my $skip_empty = $args{skip_empty} || 0;
-    my $check      = $args{check}      || 0;
-
-    my $folder     = exists $args{folder} ? $args{folder} : '=';
-    my $folderdir  = exists $args{folderdir}
-                   ? $args{folderdir}
-                   : $default_folder_dir;
-
-    my $extension  = $args{subfolder_extension};
-    my $dir;
-    if(ref $thingy)   # Mail::Box::Mbox
-    {    $extension ||= $thingy->{MBM_sub_ext};
-         $dir = $thingy->filename;
-    }
-    else
-    {    $extension ||= $default_sub_extension;
-         $dir = $class->folderToFilename($folder, $folderdir, $extension);
-    }
-
-    my $real       = -d $dir ? $dir : "$dir$extension";
-    return () unless opendir DIR, $real;
-
-    # Some files have to be removed because they are created by all
-    # kinds of programs, but are no folders.
-
-    my @entries = grep { ! m/\.lo?ck$/ && ! m/^\./ } readdir DIR;
-    closedir DIR;
-
-    # Look for files in the folderdir.  They should be readable to
-    # avoid warnings for usage later.  Furthermore, if we check on
-    # the size too, we avoid a syscall especially to get the size
-    # of the file by performing that check immediately.
-
-    my %folders;  # hash to immediately un-double names.
-
-    foreach (@entries)
-    {   my $entry = File::Spec->catfile($real, $_);
-        next unless -r $entry;
-        if( -f _ )
-        {   next if $args{skip_empty} && ! -s _;
-            next if $args{check} && !$class->foundIn($entry);
-            $folders{$_}++;
-        }
-        elsif( -d _ )
-        {   # Directories may create fake folders.
-            if($args{skip_empty})
-            {   opendir DIR, $entry or next;
-                my @sub = grep !/^\./, readdir DIR;
-                closedir DIR;
-                next unless @sub;
-            }
-
-            (my $folder = $_) =~ s/$extension$//;
-            $folders{$folder}++;
-        }
-    }
-
-    map { m/(.*)/ && $1 } keys %folders;   # untained names
-}
-
-#-------------------------------------------
-
-
-sub folderToFilename($$;$)
-{   my ($thingy, $name, $folderdir, $extension) = @_;
-
-    $extension ||=
-          ref $thingy ? $thingy->{MBM_sub_ext} : $default_sub_extension;
-
-    $name     =~ s#^=#$folderdir/#;
-    my @parts = split m!/!, $name;
-
-    my $real  = shift @parts;
-    $real     = '/' if $real eq '';
-
-    if(@parts)
-    {   my $file  = pop @parts;
-
-        $real = File::Spec->catdir($real.(-d $real ? '' : $extension), $_) 
-           foreach @parts;
-
-        $real = File::Spec->catfile($real.(-d $real ? '' : $extension), $file);
-    }
-
-    $real;
-}
-
-#-------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Mbox.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Mbox.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Mbox.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Mbox.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Mbox.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,944 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Mbox - handle folders in Mbox format
-
-
-=head1 INHERITANCE
-
- Mail::Box::Mbox
-   is a Mail::Box::File
-   is a Mail::Box
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- use Mail::Box::Mbox;
- my $folder = Mail::Box::Mbox->new(folder => $ENV{MAIL}, ...);
-
-
-=head1 DESCRIPTION
-
-This documentation describes how Mbox mailboxes work, and also describes
-what you can do with the Mbox folder object Mail::Box::Mbox.
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-overload: B<@{}>
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-overload: B<cmp>
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::Mbox-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option               Defined in       Default                                                         
- access               L<Mail::Box>     C<'r'>                                                          
- body_delayed_type    L<Mail::Box>     L<Mail::Message::Body::Delayed|Mail::Message::Body::Delayed>    
- body_type            L<Mail::Box::File>  <see description>                                               
- coerce_options       L<Mail::Box>     C<[]>                                                           
- create               L<Mail::Box>     <false>                                                         
- extract              L<Mail::Box>     C<10240>                                                        
- field_type           L<Mail::Box>     undef                                                           
- fix_headers          L<Mail::Box>     <false>                                                         
- folder               L<Mail::Box>     C<$ENV{MAIL}>                                                   
- folderdir            L<Mail::Box>     C<$ENV{HOME}.'/Mail'>                                           
- head_delayed_type    L<Mail::Box>     L<Mail::Message::Head::Delayed|Mail::Message::Head::Delayed>    
- head_type            L<Mail::Box>     L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>  
- keep_dups            L<Mail::Box>     <false>                                                         
- lock_extension       L<Mail::Box::File>  C<'.lock'>                                                      
- lock_file            L<Mail::Box>     <foldername><lock-extension>                                    
- lock_timeout         L<Mail::Box>     1 hour                                                          
- lock_type            L<Mail::Box>     L<Mail::Box::Locker::DotLock|Mail::Box::Locker::DotLock>        
- lock_wait            L<Mail::Box>     10 seconds                                                      
- locker               L<Mail::Box>     undef                                                           
- log                  L<Mail::Reporter>  C<'WARNINGS'>                                                   
- manager              L<Mail::Box>     undef                                                           
- message_type         L<Mail::Box>     L<Mail::Box::Mbox::Message|Mail::Box::Mbox::Message>            
- multipart_type       L<Mail::Box>     L<Mail::Message::Body::Multipart|Mail::Message::Body::Multipart>
- remove_when_empty    L<Mail::Box>     <true>                                                          
- save_on_exit         L<Mail::Box>     <true>                                                          
- subfolder_extension                   C<'.d'>                                                         
- trace                L<Mail::Reporter>  C<'WARNINGS'>                                                   
- trusted              L<Mail::Box>     <depends on folder location>                                    
- write_policy         L<Mail::Box::File>  undef                                                           
-
-. access MODE
-
-. body_delayed_type CLASS
-
-. body_type CLASS|CODE
-
-. coerce_options ARRAY
-
-. create BOOLEAN
-
-. extract INTEGER | CODE | METHOD | 'LAZY'|'ALWAYS'
-
-. field_type CLASS
-
-. fix_headers BOOLEAN
-
-. folder FOLDERNAME
-
-. folderdir DIRECTORY
-
-. head_delayed_type CLASS
-
-. head_type CLASS
-
-. keep_dups BOOLEAN
-
-. lock_extension FILENAME|STRING
-
-. lock_file FILENAME
-
-. lock_timeout SECONDS
-
-. lock_type CLASS|STRING|ARRAY
-
-. lock_wait SECONDS
-
-. locker OBJECT
-
-. log LEVEL
-
-. manager MANAGER
-
-. message_type CLASS
-
-. multipart_type CLASS
-
-. remove_when_empty BOOLEAN
-
-. save_on_exit BOOLEAN
-
-. subfolder_extension STRING
-
-=over 4
-
-Mbox folders do not support sub-folders.  However, this module can
-simulate sub-directories if the user wants it to.  When a subfolder of
-folder C<xyz> is created, we create a directory which is called C<xyz.d>
-to contain them.  This extension C<.d> can be changed using this option.
-
-=back
-
-. trace LEVEL
-
-. trusted BOOLEAN
-
-. write_policy 'REPLACE'|'INPLACE'|undef
-
-=back
-
-=head2 The folder
-
-
-$obj-E<gt>B<addMessage>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<addMessages>(MESSAGE [, MESSAGE, ...])
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-Mail::Box::Mbox-E<gt>B<appendMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box::File/"METHODS">
-
-=back
-
-$obj-E<gt>B<close>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<copyTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<delete>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<filename>
-
-=over 4
-
-See L<Mail::Box::File/"The folder">
-
-=back
-
-$obj-E<gt>B<folderdir>([DIRECTORY])
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<organization>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<type>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<update>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<url>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-=head2 Folder flags
-
-
-$obj-E<gt>B<access>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<writable>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-=head2 The messages
-
-
-$obj-E<gt>B<current>([NUMBER|MESSAGE|MESSAGE-ID])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<find>(MESSAGE-ID)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<findFirstLabeled>(LABEL, [BOOLEAN, [ARRAY-OF-MSGS]])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<message>(INDEX [,MESSAGE])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messageId>(MESSAGE-ID [,MESSAGE])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messageIds>
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messages>(['ALL',RANGE,'ACTIVE','DELETED',LABEL,!LABEL,FILTER])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<nrMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<scanForMessages>(MESSAGE, MESSAGE-IDS, TIMESPAN, WINDOW)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-=head2 Sub-folders
-
-
-$obj-E<gt>B<listSubFolders>(OPTIONS)
-
-Mail::Box::Mbox-E<gt>B<listSubFolders>(OPTIONS)
-
-=over 4
-
- Option               Defined in       Default              
- check                L<Mail::Box>     <false>              
- folder               L<Mail::Box>     <from calling object>
- folderdir            L<Mail::Box>     <from folder>        
- skip_empty           L<Mail::Box>     <false>              
- subfolder_extension                   <from object>        
-
-. check BOOLEAN
-
-. folder FOLDERNAME
-
-. folderdir DIRECTORY
-
-. skip_empty BOOL
-
-. subfolder_extension STRING
-
-=over 4
-
-When the method is called on an open folder, the extension defined by it is
-used to detect sub-folders by default.  Otherwise, C<'.d'> is taken.
-
-=back
-
-=back
-
-$obj-E<gt>B<nameOfSubFolder>(SUBNAME, [PARENTNAME])
-
-Mail::Box::Mbox-E<gt>B<nameOfSubFolder>(SUBNAME, [PARENTNAME])
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<openRelatedFolder>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<openSubFolder>(SUBNAME, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<topFolderWithMessages>
-
-Mail::Box::Mbox-E<gt>B<topFolderWithMessages>
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<coerce>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<create>(FOLDERNAME, OPTIONS)
-
-Mail::Box::Mbox-E<gt>B<create>(FOLDERNAME, OPTIONS)
-
-=over 4
-
- Option               Defined in       Default
- folderdir            L<Mail::Box>     undef  
- subfolder_extension                   undef  
-
-. folderdir DIRECTORY
-
-. subfolder_extension STRING
-
-=over 4
-
-If a directory is found on the location of the folder to be created, this
-STRING is used to extend that directory name with.  This will cause the
-directory to be seen as sub-folder for the created folder.  This argument
-is passed to L<folderToFilename()|Mail::Box::Mbox/"Internals">.
-
-=back
-
-=back
-
-$obj-E<gt>B<determineBodyType>(MESSAGE, HEAD)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<folderToFilename>(FOLDERNAME, FOLDERDIR, [EXTENSION])
-
-Mail::Box::Mbox-E<gt>B<folderToFilename>(FOLDERNAME, FOLDERDIR, [EXTENSION])
-
-=over 4
-
-Translate a folder name into a filename, using the
-FOLDERDIR value to replace a leading C<=>.  If no EXTENSION is specified and
-this method is called as instance method, new(subfolder_extension) is used.
-Otherwise, the extension default to C<'.d'>.
-
-=back
-
-Mail::Box::Mbox-E<gt>B<foundIn>([FOLDERNAME], [OPTIONS])
-
-=over 4
-
-If no FOLDERNAME is specified, then the value of the C<folder> option
-is taken.  A mbox folder is a file which starts with a separator
-line: a line with C<'From '> as first characters.  Blank lines which
-start the file are ignored, which is not for all MUA's acceptable.
-
- Option               Defined in       Default      
- folder                                undef        
- folderdir            L<Mail::Box>     undef        
- subfolder_extension                   <from object>
-
-. folder FOLDERNAME
-
-. folderdir DIRECTORY
-
-. subfolder_extension STRING
-
-=back
-
-$obj-E<gt>B<lineSeparator>([STRING|'CR'|'LF'|'CRLF'])
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<locker>
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<messageCreateOptions>([TYPE, CONFIG])
-
-=over 4
-
-See L<Mail::Box::File/"Internals">
-
-=back
-
-$obj-E<gt>B<moveAwaySubFolder>(DIRECTORY, EXTENSION)
-
-=over 4
-
-See L<Mail::Box::File/"Internals">
-
-=back
-
-$obj-E<gt>B<parser>
-
-=over 4
-
-See L<Mail::Box::File/"Internals">
-
-=back
-
-$obj-E<gt>B<read>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<readMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<storeMessage>(MESSAGE)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<toBeThreaded>(MESSAGES)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<toBeUnthreaded>(MESSAGES)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<updateMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box::File/"Internals">
-
-=back
-
-$obj-E<gt>B<write>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box::File/"Internals">
-
-=back
-
-$obj-E<gt>B<writeMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-=head3 File based folders
-
-
-=head2 Other methods
-
-
-$obj-E<gt>B<timespan2seconds>(TIME)
-
-Mail::Box::Mbox-E<gt>B<timespan2seconds>(TIME)
-
-=over 4
-
-See L<Mail::Box/"Other methods">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Mbox-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Mbox-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Mbox-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Box/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot append messages to folder file $filename: $!
-
-Appending messages to a not-opened file-organized folder may fail when the
-operating system does not allow write access to the file at hand.
-
-I<Error:> Cannot move away sub-folder $dir
-
-
-I<Warning:> Cannot remove folder $name file $filename: $!
-
-Writing an empty folder will usually cause that folder to be removed,
-which fails for the indicated reason.  L<new(remove_when_empty)|Mail::Box/"Constructors">
-
-I<Warning:> Cannot remove folder $name file $filename: $!
-
-Writing an empty folder will usually cause that folder to be removed,
-which fails for the indicated reason.  L<new(remove_when_empty)|Mail::Box/"Constructors">
-controls whether the empty folder will removed; setting it to false
-(C<0>) may be needed to avoid this message.
-
-I<Error:> Cannot replace $filename by $tempname, to update folder $name: $!
-
-The replace policy wrote a new folder file to update the existing, but
-was unable to give the final touch: replacing the old version of the
-folder file for the indicated reason.
-
-I<Warning:> Changes not written to read-only folder $self.
-
-You have opened the folder read-only --which is the default set
-by L<new(access)|Mail::Box/"Constructors">--, made modifications, and now want to close it.
-Set L<close(force)|Mail::Box/"The folder"> if you want to overrule the access mode, or close
-the folder with L<close(write)|Mail::Box/"The folder"> set to C<NEVER>.
-
-I<Error:> Copying failed for one message.
-
-For some reason, for instance disc full, removed by external process, or
-read-protection, it is impossible to copy one of the messages.  Copying will
-proceed for the other messages.
-
-I<Error:> Destination folder $name is not writable.
-
-The folder where the messages are copied to is not opened with write
-access (see L<new(access)|Mail::Box/"Constructors">).  This has no relation with write permission
-to the folder which is controled by your operating system.
-
-I<Warning:> Different messages with id $msgid
-
-The message id is discovered more than once within the same folder, but the
-content of the message seems to be different.  This should not be possible:
-each message must be unique.
-
-I<Error:> File too short to get write message $nr ($size, $need)
-
-Mail::Box is lazy: it tries to leave messages in the folders until they
-are used, which saves time and memory usage.  When this message appears,
-something is terribly wrong: some lazy message are needed for updating the
-folder, but they cannot be retreived from the original file anymore.  In
-this case, messages can be lost.
-
-This message does appear regularly on Windows systems when using the
-'replace' write policy.  Please help to find the cause, probably something
-to do with Windows incorrectly handling multiple filehandles open in the
-same file.
-
-I<Error:> Folder $name not deleted: not writable.
-
-The folder must be opened with write access via L<new(access)|Mail::Box/"Constructors">, otherwise
-removing it will be refused.  So, you may have write-access according to
-the operating system, but that will not automatically mean that this
-C<delete> method permits you to.  The reverse remark is valid as well.
-
-I<Error:> Invalid timespan '$timespan' specified.
-
-The string does not follow the strict rules of the time span syntax which
-is permitted as parameter.
-
-I<Warning:> Message-id '$msgid' does not contain a domain.
-
-According to the RFCs, message-ids need to contain a unique random part,
-then an C<@>, and then a domain name.  This is made to avoid the creation
-of two messages with the same id.  The warning emerges when the C<@> is
-missing from the string.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unable to create subfolder $name of $folder.
-
-The copy includes the subfolders, but for some reason it was not possible
-to copy one of these.  Copying will proceed for all other sub-folders.
-
-I<Error:> Unable to update folder $self.
-
-When a folder is to be written, both replace and inplace write policies are
-tried,  If both fail, the whole update fails.  You may see other, related,
-error messages to indicate the real problem.
-
-
-=head1 DETAILS
-
-
-=head2 How MBOX folders work
-
-MBOX folders store many messages in one file.  Each message begins with a
-line which starts with the string C<From >.  Lines inside a message which
-accidentally start with C<From> are, in the file, preceded by `E<gt>'. This
-character is stripped when the message is read.
-
-In this respect must be noted that the format of the MBOX files is not
-strictly defined.  The exact content of the separator lines differ between
-Mail User Agents (MUA's).  Besides, some MUAs (like mutt) forget to encode
-the C<From > lines within message bodies, breaking other parsers....
-
-=head2 Simulation of sub-folders
-
-MBOX folders do not have a sub-folder concept as directory based folders
-do, but this MBOX module tries to simulate them.  In this implementation
-a directory like
-
- Mail/subject1/
-
-is taken as an empty folder C<Mail/subject1>, with the folders in that
-directory as sub-folders for it.  You may also use
-
- Mail/subject1
- Mail/subject1.d/
-
-where C<Mail/subject1> is the folder, and the folders in the
-C<Mail/subject1.d> directory are used as sub-folders.  If your situation
-is similar to the first example and you want to put messages in that empty
-folder, the directory is automatically (and transparently) renamed, so
-that the second situation is reached.
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Mbox.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Mbox.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Message/Destructed.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Message/Destructed.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Message/Destructed.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,104 +0,0 @@
-
-use strict;
-
-package Mail::Box::Message::Destructed;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::Message';
-
-use Carp;
-
-
-sub new(@)
-{   my $class = shift;
-    $class->log(ERROR => 'You cannot instantiate a destructed message');
-    undef;
-}
- 
-#-------------------------------------------
-
-sub isDummy()    { 1 }
-
-#-------------------------------------------
-
-
-sub head(;$)
-{    my $self = shift;
-     return undef if @_ && !defined(shift);
-
-     $self->log(ERROR => "You cannot take the head of a destructed message");
-     undef;
-}
-
-#-------------------------------------------
-
-
-sub body(;$)
-{    my $self = shift;
-     return undef if @_ && !defined(shift);
-
-     $self->log(ERROR => "You cannot take the body of a destructed message");
-     undef;
-}
-
-#-------------------------------------------
-
-
-sub coerce($)
-{  my ($class, $message) = @_;
-
-   unless($message->isa('Mail::Box::Message'))
-   {  $class->log(ERROR=>"Cannot coerce a ",ref($message), " into destruction");
-      return ();
-   }
-
-   $message->body(undef);
-   $message->head(undef);
-   $message->modified(0);
-
-   bless $message, $class;
-}
-
-#-------------------------------------------
-
-sub modified(;$)
-{  my $self = shift;
-
-   $self->log(ERROR => 'Do not set the modified flag on a destructed message')
-      if @_ && $_[0];
-
-   0;
-}
-
-sub isModified() { 0 }
-
-#-------------------------------------------
-
-
-sub label($;@)
-{  my $self = shift;
-
-   if(@_==1)
-   {   my $label = shift;
-       return $self->SUPER::label('deleted') if $label eq 'deleted';
-       $self->log(ERROR => "Destructed message has no labels except 'deleted', requested is $label");
-       return 0;
-   }
-
-   my %flags = @_;
-   unless(keys %flags==1 && exists $flags{deleted})
-   {   $self->log(ERROR => "Destructed message has no labels except 'deleted', trying to set @{[ keys %flags ]}");
-       return;
-   }
-
-   $self->log(ERROR => "Destructed messages can not be undeleted")
-      unless $flags{deleted};
-
-   1;
-}
-
-#-------------------------------------------
-
-sub labels() { wantarray ? ('deleted') : { deleted => 1 } }
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Message/Destructed.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Message/Destructed.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Message/Destructed.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Message/Destructed.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Message/Destructed.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,973 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Message::Destructed - a destructed message
-
-
-=head1 INHERITANCE
-
- Mail::Box::Message::Destructed
-   is a Mail::Box::Message
-   is a Mail::Message
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- $folder->message(3)->destruct;
-
-
-=head1 DESCRIPTION
-
-When a message folder is read, each message will be parsed into Perl
-structures.  Especially the header structure can consume a huge amount
-of memory (message bodies can be moved to external temporary files).
-Destructed messages have forcefully cleaned-up all header and body
-information, and are therefore much smaller.  Some useful information
-is still in the object.
-
-BE WARNED: once a message is destructed, it cannot be revived.  Destructing
-enforces irreversable deletion from the folder.  If you have a folder opened
-for read-only, the message will stay in that folder, but otherwise it may
-be deleted.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"Constructors">
-
-=back
-
-Mail::Box::Message::Destructed-E<gt>B<new>(MESSAGE-ID, OPTIONS)
-
-=over 4
-
-You cannot instantiate a destructed message object.  Destruction is
-done by calling L<Mail::Box::Message::destruct()|Mail::Box::Message/"Cleanup">.
-
- Option      Defined in       Default                                                       
- body        L<Mail::Message>  undef                                                         
- body_type   L<Mail::Box::Message>  <from folder>                                                 
- deleted     L<Mail::Message>  <false>                                                       
- field_type  L<Mail::Message>  undef                                                         
- folder      L<Mail::Box::Message>  <required>                                                    
- head        L<Mail::Message>  undef                                                         
- head_type   L<Mail::Message>  L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>
- labels      L<Mail::Message>  {}                                                            
- log         L<Mail::Reporter>  C<'WARNINGS'>                                                 
- messageId   L<Mail::Message>  undef                                                         
- modified    L<Mail::Message>  <false>                                                       
- size        L<Mail::Box::Message>  undef                                                         
- trace       L<Mail::Reporter>  C<'WARNINGS'>                                                 
- trusted     L<Mail::Message>  <false>                                                       
-
-. body OBJECT
-
-. body_type CODE|CLASS
-
-. deleted BOOLEAN
-
-. field_type CLASS
-
-. folder FOLDER
-
-. head OBJECT
-
-. head_type CLASS
-
-. labels ARRAY|HASH
-
-. log LEVEL
-
-. messageId STRING
-
-. modified BOOLEAN
-
-. size INTEGER
-
-. trace LEVEL
-
-. trusted BOOLEAN
-
-=back
-
-=head2 Constructing a message
-
-
-$obj-E<gt>B<bounce>([RG-OBJECT|OPTIONS])
-
-=over 4
-
-See L<Mail::Message::Construct::Bounce/"Constructing a message">
-
-=back
-
-Mail::Box::Message::Destructed-E<gt>B<build>([MESSAGE|PART|BODY], CONTENT)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-Mail::Box::Message::Destructed-E<gt>B<buildFromBody>(BODY, [HEAD], HEADERS)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forward>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardAttach>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardEncapsulate>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardInline>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardNo>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPostlude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPrelude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardSubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-Mail::Box::Message::Destructed-E<gt>B<read>(FILEHANDLE|SCALAR|REF-SCALAR|ARRAY-OF-LINES, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Read/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<rebuild>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<reply>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replyPrelude>([STRING|FIELD|ADDRESS|ARRAY-OF-THINGS])
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replySubject>(STRING)
-
-Mail::Box::Message::Destructed-E<gt>B<replySubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-=head2 The message
-
-
-$obj-E<gt>B<container>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<copyTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<folder>([FOLDER])
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isDummy>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isPart>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<messageId>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<moveTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<send>([MAILER], OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<seqnr>([INTEGER])
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<toplevel>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<write>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<bcc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<cc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<date>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<destinations>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<from>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<get>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<guessTimestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<head>([HEAD])
-
-=over 4
-
-When C<undef> is specified for HEAD, no change has to take place and
-the method returns silently.  In all other cases, this method will
-complain that the header has been removed.
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<sender>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<study>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<subject>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<timestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<to>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-=head2 The body
-
-
-$obj-E<gt>B<body>([BODY])
-
-=over 4
-
-When C<undef> is specified for BODY, no change has to take place and
-the method returns silently.  In all other cases, this method will
-complain that the body data has been removed.
-
-=back
-
-$obj-E<gt>B<decoded>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<encode>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isNested>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<parts>(['ALL'|'ACTIVE'|'DELETED'|'RECURSE'|FILTER])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-=head2 Flags
-
-
-$obj-E<gt>B<delete>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<deleted>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isDeleted>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<label>(LABEL|PAIRS)
-
-=over 4
-
-It is possible to delete a destructed message, but not to undelete it.
-
-=back
-
-$obj-E<gt>B<labels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<labelsToStatus>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<statusToLabels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-=head2 The whole message as text
-
-
-$obj-E<gt>B<file>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<lines>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<printStructure>([FILEHANDLE|undef],[INDENT])
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<clonedFrom>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-Mail::Box::Message::Destructed-E<gt>B<coerce>(MESSAGE)
-
-=over 4
-
-Coerce a L<Mail::Box::Message|Mail::Box::Message> into destruction.
-
-I<Example:> of coercion to death
-
-
- Mail::Box::Message::Destructed->coerce($folder->message(1));
- $folder->message(1)->destruct;  # same
-
- my $msg = $folder->message(1);
- Mail::Box::Message::Destructed->coerce($msg);
- $msg->destruct;                 # same
-
-=back
-
-$obj-E<gt>B<diskDelete>
-
-=over 4
-
-See L<Mail::Box::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readBody>(PARSER, HEAD [, BODYTYPE])
-
-=over 4
-
-See L<Mail::Box::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readFromParser>(PARSER, [BODYTYPE])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readHead>(PARSER [,CLASS])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<recursiveRebuildPart>(PART, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Internals">
-
-=back
-
-$obj-E<gt>B<storeBody>(BODY)
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<takeMessageId>([STRING])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Message::Construct/"METHODS">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Message::Destructed-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Message::Destructed-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Message::Destructed-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortSize>([VALUE])
-
-Mail::Box::Message::Destructed-E<gt>B<shortSize>([VALUE])
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortString>
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<destruct>
-
-=over 4
-
-See L<Mail::Box::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot coerce a (class) into destruction
-
-Only real L<Mail::Box::Message|Mail::Box::Message> objects can get destructed into
-L<Mail::Box::Message::Destructed|Mail::Box::Message::Destructed> objects.  L<Mail::Message|Mail::Message> free
-their memory immediately when the last reference is lost.
-
-I<Error:> Cannot include forward source as $include.
-
-Unknown alternative for the L<forward(include)|Mail::Message::Construct::Forward/"Constructing a message">.  Valid choices are
-C<NO>, C<INLINE>, C<ATTACH>, and C<ENCAPSULATE>.
-
-I<Error:> Cannot include reply source as $include.
-
-Unknown alternative for the C<include> option of L<reply()|Mail::Message::Construct::Reply/"Constructing a message">.  Valid
-choices are C<NO>, C<INLINE>, and C<ATTACH>.
-
-I<Error:> Destructed message has no labels except 'deleted'
-
-
-I<Error:> Destructed messages can not be undeleted
-
-Once a message is destructed, it can not be revived.  Destruction is an
-optimization in memory usage: if you need an undelete functionality, then
-you can not use L<Mail::Box::Message::destruct()|Mail::Box::Message/"Cleanup">.
-
-I<Error:> No address to create forwarded to.
-
-If a forward message is created, a destination address must be specified.
-
-I<Error:> No default mailer found to send message.
-
-The message L<send()|Mail::Message/"The message"> mechanism had not enough information to automatically
-find a mail transfer agent to sent this message.  Specify a mailer
-explicitly using the C<via> options.
-
-I<Error:> Only build() Mail::Message's; they are not in a folder yet
-
-You may wish to construct a message to be stored in a some kind
-of folder, but you need to do that in two steps.  First, create a
-normal L<Mail::Message|Mail::Message>, and then add it to the folder.  During this
-L<Mail::Box::addMessage()|Mail::Box/"The folder"> process, the message will get L<coerce()|Mail::Box::Message::Destructed/"METHODS">-d
-into the right message type, adding storage information and the like.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> You cannot instantiate a destructed message
-
-You cannot instantiate a destructed message object directly.  Destruction
-is done by calling L<Mail::Box::Message::destruct()|Mail::Box::Message/"Cleanup"> on any existing
-folder message.
-
-I<Error:> You cannot take the head/body of a destructed message
-
-The message originated from a folder, but its memory has been freed-up
-forcefully by means of L<Mail::Box::Message::destruct()|Mail::Box::Message/"Cleanup">.  Apparently,
-your program still tries to get to the header or body data after this
-destruction, which is not possible.
-
-I<Error:> bounce requires To, Cc, or Bcc
-
-The message L<bounce()|Mail::Message::Construct::Bounce/"Constructing a message"> method forwards a received message off to someone
-else without modification; you must specified it's new destination.
-If you have the urge not to specify any destination, you probably
-are looking for L<reply()|Mail::Message::Construct::Reply/"Constructing a message">. When you wish to modify the content, use
-L<forward()|Mail::Message::Construct::Forward/"Constructing a message">.
-
-I<Error:> forwardAttach requires a preamble object
-
-
-I<Error:> forwardEncapsulate requires a preamble object
-
-
-I<Error:> no rebuild rule $name defined.
-
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Message/Destructed.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Message/Destructed.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Message.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Message.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Message.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,138 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Box::Message;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message';
-
-use Date::Parse;
-use Scalar::Util 'weaken';
-
-
-#-------------------------------------------
-
-
-sub init($)
-{   my ($self, $args) = @_;
-    $self->SUPER::init($args);
-
-    $self->{MBM_body_type} = $args->{body_type};
-    $self->{MBM_folder}    = $args->{folder};
-    weaken($self->{MBM_folder});
-
-    return $self if $self->isDummy;
-    $self;
-}
-
-#-------------------------------------------
-
-sub head(;$)
-{   my $self  = shift;
-    return $self->SUPER::head unless @_;
-
-    my $new   = shift;
-    my $old   = $self->head;
-    $self->SUPER::head($new);
-
-    return unless defined $new || defined $old;
-
-    my $folder = $self->folder
-        or return $new;
-
-    if(!defined $new && defined $old && !$old->isDelayed)
-    {   $folder->messageId($self->messageId, undef);
-        $folder->toBeUnthreaded($self);
-    }
-    elsif(defined $new && !$new->isDelayed)
-    {   $folder->messageId($self->messageId, $self);
-        $folder->toBeThreaded($self);
-    }
-
-    $new || $old;
-}
-
-#-------------------------------------------
-
-
-sub folder(;$)
-{   my $self = shift;
-    if(@_)
-    {   $self->{MBM_folder} = shift;
-        weaken($self->{MBM_folder});
-        $self->modified(1);
-    }
-    $self->{MBM_folder};
-}
-
-#-------------------------------------------
-
-
-sub seqnr(;$)
-{   my $self = shift;
-    @_ ? $self->{MBM_seqnr} = shift : $self->{MBM_seqnr};
-}
-
-#-------------------------------------------
-
-
-sub copyTo($@)
-{   my ($self, $folder) = (shift, shift);
-    my $clone = $self->clone(@_);
-
-    $folder->addMessage($clone);
-}
-
-#-------------------------------------------
-
-
-sub moveTo($@)
-{   my ($self, $folder, %args) = @_;
-
-    $args{share} = 1
-        unless exists $args{share} || exists $args{shallow_body};
-
-    my $added = $folder->copyTo($folder, %args);
-    $self->label(deleted => 1);
-    $added;
-}
-
-#-------------------------------------------
-
-
-sub readBody($$;$)
-{   my ($self, $parser, $head, $getbodytype) = @_;
-
-    unless($getbodytype)
-    {   my $folder   = $self->{MBM_folder};
-        $getbodytype = sub {$folder->determineBodyType(@_)} if defined $folder;
-    }
-
-    $self->SUPER::readBody($parser, $head, $getbodytype);
-}
-
-#-------------------------------------------
-
-
-sub diskDelete() { shift }
-
-#-------------------------------------------
-
-sub forceLoad() {   # compatibility
-   my $self = shift;
-   $self->loadBody(@_);
-   $self;
-}
-
-#-------------------------------------------
-
-
-sub destruct()
-{   require Mail::Box::Message::Destructed;
-    Mail::Box::Message::Destructed->coerce(shift);
-}
-
-#-------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Message.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Message.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Message.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Message.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Message.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,1057 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Message - manage one message within a mail-folder
-
-
-=head1 INHERITANCE
-
- Mail::Box::Message
-   is a Mail::Message
-   is a Mail::Reporter
-
- Mail::Box::Message is extended by
-   Mail::Box::Dir::Message
-   Mail::Box::File::Message
-   Mail::Box::Message::Destructed
-   Mail::Box::Net::Message
-
-
-=head1 SYNOPSIS
-
- # Usually these message objects are created indirectly
- use Mail::Box::Manager;
- my $manager = Mail::Box::Manager->new;
- my $folder  = $manager->open(folder => 'Mail/Drafts');
- my $msg     = $folder->message(1);
- $msg->delete;
- $msg->size;   # and much more
-
-
-=head1 DESCRIPTION
-
-These pages do only describe methods which relate to folders.  If you
-access the knowledge of a message, then read L<Mail::Message|Mail::Message>.
-
-During its life, a message will pass through certain stages.  These
-stages were introduced to reduce the access-time to the folder.  Changing
-from stage, the message's body and head objects may change.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"Constructors">
-
-=back
-
-Mail::Box::Message-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option      Defined in       Default                                                       
- body        L<Mail::Message>  undef                                                         
- body_type                    <from folder>                                                 
- deleted     L<Mail::Message>  <false>                                                       
- field_type  L<Mail::Message>  undef                                                         
- folder                       <required>                                                    
- head        L<Mail::Message>  undef                                                         
- head_type   L<Mail::Message>  L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>
- labels      L<Mail::Message>  {}                                                            
- log         L<Mail::Reporter>  C<'WARNINGS'>                                                 
- messageId   L<Mail::Message>  undef                                                         
- modified    L<Mail::Message>  <false>                                                       
- size                         undef                                                         
- trace       L<Mail::Reporter>  C<'WARNINGS'>                                                 
- trusted     L<Mail::Message>  <false>                                                       
-
-. body OBJECT
-
-. body_type CODE|CLASS
-
-=over 4
-
-If the body of a message is used delay-loaded, the message must what type
-of message to become when it finally gets parsed.  The folder which is
-delaying the load must specify the algorithm to determine that type.
-
-=back
-
-. deleted BOOLEAN
-
-. field_type CLASS
-
-. folder FOLDER
-
-=over 4
-
-The folder where this message appeared in.  The argument is
-an instance of (a sub-class of) a L<Mail::Box|Mail::Box>.
-
-=back
-
-. head OBJECT
-
-. head_type CLASS
-
-. labels ARRAY|HASH
-
-. log LEVEL
-
-. messageId STRING
-
-. modified BOOLEAN
-
-. size INTEGER
-
-=over 4
-
-The size of the message, which includes head and body, but without the
-message separators which may be used by the folder type.
-
-=back
-
-. trace LEVEL
-
-. trusted BOOLEAN
-
-=back
-
-=head2 Constructing a message
-
-
-$obj-E<gt>B<bounce>([RG-OBJECT|OPTIONS])
-
-=over 4
-
-See L<Mail::Message::Construct::Bounce/"Constructing a message">
-
-=back
-
-Mail::Box::Message-E<gt>B<build>([MESSAGE|PART|BODY], CONTENT)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-Mail::Box::Message-E<gt>B<buildFromBody>(BODY, [HEAD], HEADERS)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forward>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardAttach>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardEncapsulate>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardInline>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardNo>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPostlude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPrelude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardSubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-Mail::Box::Message-E<gt>B<read>(FILEHANDLE|SCALAR|REF-SCALAR|ARRAY-OF-LINES, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Read/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<rebuild>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<reply>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replyPrelude>([STRING|FIELD|ADDRESS|ARRAY-OF-THINGS])
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replySubject>(STRING)
-
-Mail::Box::Message-E<gt>B<replySubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-=head2 The message
-
-
-$obj-E<gt>B<container>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<copyTo>(FOLDER, OPTIONS)
-
-=over 4
-
-Copy the message to the indicated opened FOLDER, without deleting the
-original.  The coerced message (the clone in the destination folder)
-is returned.
-
- Option        Defined in       Default
- shallow                        <false>
- shallow_body                   <false>
- shallow_head                   <false>
- share                          <false>
-
-. shallow BOOLEAN
-
-=over 4
-
-Used for L<clone(shallow)|Mail::Message/"Constructors">.
-
-=back
-
-. shallow_body BOOLEAN
-
-=over 4
-
-Used for L<clone(shallow_body)|Mail::Message/"Constructors">.
-
-=back
-
-. shallow_head BOOLEAN
-
-=over 4
-
-Used for L<clone(shallow_head)|Mail::Message/"Constructors">.
-
-=back
-
-. share BOOLEAN
-
-=over 4
-
-Try to share the physical storage of the message between the two folders.
-Sometimes, they even may be of different types.  When not possible, this
-options will be silently ignored.
-
-=back
-
-I<Example:> 
-
- my $draft = $mgr->open(folder => 'Draft');
- $message->copyTo($draft, share => 1);
-
-=back
-
-$obj-E<gt>B<folder>([FOLDER])
-
-=over 4
-
-In with folder did we detect this message/dummy?  This is a reference
-to the folder-object.
-
-=back
-
-$obj-E<gt>B<isDummy>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isPart>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<messageId>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<moveTo>(FOLDER, OPTIONS)
-
-=over 4
-
-Move the message from this folder to the FOLDER specified.  This will
-create a copy using L<clone()|Mail::Message/"Constructors"> first.  Then, this original message is
-flagged to get deleted.  So until the source folder is closed, two copies
-of the message may stay in memory.
-
-The newly created message clone (part of the destination folder)
-is returned.  All OPTIONS are passed to L<copyTo()|Mail::Box::Message/"The message">
-
- Option        Defined in       Default                          
- shallow_body                   <undef>                          
- share                          <true unless shallow_body exists>
-
-. shallow_body BOOLEAN
-
-=over 4
-
-Only create a shallow body, which means that the header can not be
-reused.  A message can therefore not be shared in storage unless
-explicitly stated.
-
-=back
-
-. share BOOLEAN
-
-=over 4
-
-When there is a chance that the original message can be undeleted, then
-this must be set to false.  Otherwise a shallow clone will be made, which
-will share the header which can be modified in the undeleted message.
-
-=back
-
-I<Example:> of moving a message
-
-
- my $t = $msg->moveTo('trash');
-
-is equivalent to
-
- my $t = $msg->copyTo('trash', share => 1);
- $msg->delete;
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<send>([MAILER], OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<seqnr>([INTEGER])
-
-=over 4
-
-Get the number of this message is the current folder.  It starts counting
-from zero.  Do not change the number.
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<toplevel>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<write>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<bcc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<cc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<date>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<destinations>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<from>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<get>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<guessTimestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<head>([HEAD])
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<sender>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<study>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<subject>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<timestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<to>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-=head2 The body
-
-
-$obj-E<gt>B<body>([BODY])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<decoded>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<encode>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isNested>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<parts>(['ALL'|'ACTIVE'|'DELETED'|'RECURSE'|FILTER])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-=head2 Flags
-
-
-$obj-E<gt>B<delete>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<deleted>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isDeleted>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<label>(LABEL|PAIRS)
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<labels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<labelsToStatus>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<statusToLabels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-=head2 The whole message as text
-
-
-$obj-E<gt>B<file>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<lines>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<printStructure>([FILEHANDLE|undef],[INDENT])
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<clonedFrom>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-Mail::Box::Message-E<gt>B<coerce>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<diskDelete>
-
-=over 4
-
-Remove a message from disk.  This is not from the folder, but everything
-else, like parts of the message which are stored outside from the
-folder.
-
-=back
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readBody>(PARSER, HEAD [, BODYTYPE])
-
-=over 4
-
-Read the body of one message.  The PARSER gives access to the folder file.
-The HEAD has been read with L<readHead()|Mail::Message/"Internals">.  The optional BODYTYPE supplies
-the class name of the body to be created, or a code reference to a
-routine which can produce a body type based on the head (passed as
-first argument).
-
-By default, the BODYTYPE will call L<Mail::Box::determineBodyType()|Mail::Box/"Internals">
-where the message will be added to.
-
-=back
-
-$obj-E<gt>B<readFromParser>(PARSER, [BODYTYPE])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readHead>(PARSER [,CLASS])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<recursiveRebuildPart>(PART, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Internals">
-
-=back
-
-$obj-E<gt>B<storeBody>(BODY)
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<takeMessageId>([STRING])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Message::Construct/"METHODS">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Message-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Message-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Message-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortSize>([VALUE])
-
-Mail::Box::Message-E<gt>B<shortSize>([VALUE])
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortString>
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<destruct>
-
-=over 4
-
-Removes most of the memory occupied by the message by detaching the header
-and body.  Then, the object changes into a L<Mail::Box::Message::Destructed|Mail::Box::Message::Destructed>
-which will catch all attempts to access the header and body.  Be careful
-with the usage of this method.
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot include forward source as $include.
-
-Unknown alternative for the L<forward(include)|Mail::Message::Construct::Forward/"Constructing a message">.  Valid choices are
-C<NO>, C<INLINE>, C<ATTACH>, and C<ENCAPSULATE>.
-
-I<Error:> Cannot include reply source as $include.
-
-Unknown alternative for the C<include> option of L<reply()|Mail::Message::Construct::Reply/"Constructing a message">.  Valid
-choices are C<NO>, C<INLINE>, and C<ATTACH>.
-
-I<Error:> No address to create forwarded to.
-
-If a forward message is created, a destination address must be specified.
-
-I<Error:> No default mailer found to send message.
-
-The message L<send()|Mail::Message/"The message"> mechanism had not enough information to automatically
-find a mail transfer agent to sent this message.  Specify a mailer
-explicitly using the C<via> options.
-
-I<Error:> Only build() Mail::Message's; they are not in a folder yet
-
-You may wish to construct a message to be stored in a some kind
-of folder, but you need to do that in two steps.  First, create a
-normal L<Mail::Message|Mail::Message>, and then add it to the folder.  During this
-L<Mail::Box::addMessage()|Mail::Box/"The folder"> process, the message will get L<coerce()|Mail::Message/"Internals">-d
-into the right message type, adding storage information and the like.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> bounce requires To, Cc, or Bcc
-
-The message L<bounce()|Mail::Message::Construct::Bounce/"Constructing a message"> method forwards a received message off to someone
-else without modification; you must specified it's new destination.
-If you have the urge not to specify any destination, you probably
-are looking for L<reply()|Mail::Message::Construct::Reply/"Constructing a message">. When you wish to modify the content, use
-L<forward()|Mail::Message::Construct::Forward/"Constructing a message">.
-
-I<Error:> forwardAttach requires a preamble object
-
-
-I<Error:> forwardEncapsulate requires a preamble object
-
-
-I<Error:> no rebuild rule $name defined.
-
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Message.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Message.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Net/Message.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Net/Message.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Net/Message.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,93 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Box::Net::Message;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::Message';
-
-use File::Copy;
-use Carp;
-
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    $self->SUPER::init($args);
-
-    $self->unique($args->{unique});
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub unique(;$)
-{   my $self = shift;
-    @_ ? $self->{MBNM_unique} = shift : $self->{MBNM_unique};
-}
-
-#-------------------------------------------
-
-
-#-------------------------------------------
-
-sub loadHead()
-{   my $self     = shift;
-    my $head     = $self->head;
-    return $head unless $head->isDelayed;
-
-    my $folder   = $self->folder;
-    $folder->lazyPermitted(1);
-
-    my $parser   = $self->parser or return;
-    $self->readFromParser($parser);
-
-    $folder->lazyPermitted(0);
-
-    $self->log(PROGRESS => 'Loaded delayed head.');
-    $self->head;
-}
-
-#-------------------------------------------
-
-
-sub loadBody()
-{   my $self     = shift;
-
-    my $body     = $self->body;
-    return $body unless $body->isDelayed;
-
-    my $head     = $self->head;
-    my $parser   = $self->parser or return;
-
-    if($head->isDelayed)
-    {   $head = $self->readHead($parser);
-        if(defined $head)
-        {   $self->log(PROGRESS => 'Loaded delayed head.');
-            $self->head($head);
-        }
-        else
-        {   $self->log(ERROR => 'Unable to read delayed head.');
-            return;
-        }
-    }
-    else
-    {   my ($begin, $end) = $body->fileLocation;
-        $parser->filePosition($begin);
-    }
-
-    my $newbody  = $self->readBody($parser, $head);
-    unless(defined $newbody)
-    {   $self->log(ERROR => 'Unable to read delayed body.');
-        return;
-    }
-
-    $self->log(PROGRESS => 'Loaded delayed body.');
-    $self->storeBody($newbody->contentInfoFrom($head));
-}
-
-#-------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Net/Message.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Net/Message.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Net/Message.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Net/Message.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Net/Message.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,956 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Net::Message - one message from a distant folder
-
-
-=head1 INHERITANCE
-
- Mail::Box::Net::Message
-   is a Mail::Box::Message
-   is a Mail::Message
-   is a Mail::Reporter
-
- Mail::Box::Net::Message is extended by
-   Mail::Box::IMAP4::Message
-   Mail::Box::POP3::Message
-
-
-=head1 SYNOPSIS
-
- my $folder = new Mail::Box::POP3 ...
- my $message = $folder->message(10);
-
-
-=head1 DESCRIPTION
-
-A L<Mail::Box::Net::Message|Mail::Box::Net::Message> represents one message in a folder which
-can only be accessed via some kind of protocol.  On this moment, only
-a POP3 client is available.  IMAP, DBI, and NNTP are other candidates.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"Constructors">
-
-=back
-
-Mail::Box::Net::Message-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option      Defined in       Default                                                       
- body        L<Mail::Message>  undef                                                         
- body_type   L<Mail::Box::Message>  <from folder>                                                 
- deleted     L<Mail::Message>  <false>                                                       
- field_type  L<Mail::Message>  undef                                                         
- folder      L<Mail::Box::Message>  <required>                                                    
- head        L<Mail::Message>  undef                                                         
- head_type   L<Mail::Message>  L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>
- labels      L<Mail::Message>  {}                                                            
- log         L<Mail::Reporter>  C<'WARNINGS'>                                                 
- messageId   L<Mail::Message>  undef                                                         
- modified    L<Mail::Message>  <false>                                                       
- size        L<Mail::Box::Message>  undef                                                         
- trace       L<Mail::Reporter>  C<'WARNINGS'>                                                 
- trusted     L<Mail::Message>  <false>                                                       
- unique                       <unique string>                                               
-
-. body OBJECT
-
-. body_type CODE|CLASS
-
-. deleted BOOLEAN
-
-. field_type CLASS
-
-. folder FOLDER
-
-. head OBJECT
-
-. head_type CLASS
-
-. labels ARRAY|HASH
-
-. log LEVEL
-
-. messageId STRING
-
-. modified BOOLEAN
-
-. size INTEGER
-
-. trace LEVEL
-
-. trusted BOOLEAN
-
-. unique STRING
-
-=over 4
-
-The unique keys which identifies this message on the remote server.
-
-=back
-
-=back
-
-=head2 Constructing a message
-
-
-$obj-E<gt>B<bounce>([RG-OBJECT|OPTIONS])
-
-=over 4
-
-See L<Mail::Message::Construct::Bounce/"Constructing a message">
-
-=back
-
-Mail::Box::Net::Message-E<gt>B<build>([MESSAGE|PART|BODY], CONTENT)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-Mail::Box::Net::Message-E<gt>B<buildFromBody>(BODY, [HEAD], HEADERS)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forward>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardAttach>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardEncapsulate>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardInline>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardNo>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPostlude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPrelude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardSubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-Mail::Box::Net::Message-E<gt>B<read>(FILEHANDLE|SCALAR|REF-SCALAR|ARRAY-OF-LINES, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Read/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<rebuild>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<reply>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replyPrelude>([STRING|FIELD|ADDRESS|ARRAY-OF-THINGS])
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replySubject>(STRING)
-
-Mail::Box::Net::Message-E<gt>B<replySubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-=head2 The message
-
-
-$obj-E<gt>B<container>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<copyTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<folder>([FOLDER])
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isDummy>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isPart>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<messageId>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<moveTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<send>([MAILER], OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<seqnr>([INTEGER])
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<toplevel>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<unique>([STRING|undef])
-
-=over 4
-
-Returns the name of the file in which this message is actually stored.  This
-will return C<undef> when the message is not stored in a file.  When a STRING
-is specified, a new identifier is stored first.
-
-=back
-
-$obj-E<gt>B<write>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<bcc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<cc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<date>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<destinations>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<from>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<get>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<guessTimestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<head>([HEAD])
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<sender>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<study>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<subject>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<timestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<to>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-=head2 The body
-
-
-$obj-E<gt>B<body>([BODY])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<decoded>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<encode>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isNested>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<parts>(['ALL'|'ACTIVE'|'DELETED'|'RECURSE'|FILTER])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-=head2 Flags
-
-
-$obj-E<gt>B<delete>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<deleted>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isDeleted>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<label>(LABEL|PAIRS)
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<labels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<labelsToStatus>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<statusToLabels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-=head2 The whole message as text
-
-
-$obj-E<gt>B<file>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<lines>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<printStructure>([FILEHANDLE|undef],[INDENT])
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<clonedFrom>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-Mail::Box::Net::Message-E<gt>B<coerce>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<diskDelete>
-
-=over 4
-
-See L<Mail::Box::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<loadBody>
-
-=over 4
-
-=back
-
-$obj-E<gt>B<readBody>(PARSER, HEAD [, BODYTYPE])
-
-=over 4
-
-See L<Mail::Box::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readFromParser>(PARSER, [BODYTYPE])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readHead>(PARSER [,CLASS])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<recursiveRebuildPart>(PART, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Internals">
-
-=back
-
-$obj-E<gt>B<storeBody>(BODY)
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<takeMessageId>([STRING])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Message::Construct/"METHODS">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Net::Message-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Net::Message-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Net::Message-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortSize>([VALUE])
-
-Mail::Box::Net::Message-E<gt>B<shortSize>([VALUE])
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortString>
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<destruct>
-
-=over 4
-
-See L<Mail::Box::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot include forward source as $include.
-
-Unknown alternative for the L<forward(include)|Mail::Message::Construct::Forward/"Constructing a message">.  Valid choices are
-C<NO>, C<INLINE>, C<ATTACH>, and C<ENCAPSULATE>.
-
-I<Error:> Cannot include reply source as $include.
-
-Unknown alternative for the C<include> option of L<reply()|Mail::Message::Construct::Reply/"Constructing a message">.  Valid
-choices are C<NO>, C<INLINE>, and C<ATTACH>.
-
-I<Error:> No address to create forwarded to.
-
-If a forward message is created, a destination address must be specified.
-
-I<Error:> No default mailer found to send message.
-
-The message L<send()|Mail::Message/"The message"> mechanism had not enough information to automatically
-find a mail transfer agent to sent this message.  Specify a mailer
-explicitly using the C<via> options.
-
-I<Error:> Only build() Mail::Message's; they are not in a folder yet
-
-You may wish to construct a message to be stored in a some kind
-of folder, but you need to do that in two steps.  First, create a
-normal L<Mail::Message|Mail::Message>, and then add it to the folder.  During this
-L<Mail::Box::addMessage()|Mail::Box/"The folder"> process, the message will get L<coerce()|Mail::Message/"Internals">-d
-into the right message type, adding storage information and the like.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unable to read delayed body.
-
-
-I<Error:> Unable to read delayed head.
-
-
-I<Error:> bounce requires To, Cc, or Bcc
-
-The message L<bounce()|Mail::Message::Construct::Bounce/"Constructing a message"> method forwards a received message off to someone
-else without modification; you must specified it's new destination.
-If you have the urge not to specify any destination, you probably
-are looking for L<reply()|Mail::Message::Construct::Reply/"Constructing a message">. When you wish to modify the content, use
-L<forward()|Mail::Message::Construct::Forward/"Constructing a message">.
-
-I<Error:> forwardAttach requires a preamble object
-
-
-I<Error:> forwardEncapsulate requires a preamble object
-
-
-I<Error:> no rebuild rule $name defined.
-
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Net/Message.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Net/Message.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Net.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Net.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Net.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,88 +0,0 @@
-
-use strict;
-package Mail::Box::Net;
-use vars '$VERSION';
-$VERSION = '2.062';
-
-use base 'Mail::Box';
-
-use Mail::Box::Net::Message;
-
-use Mail::Message::Body::Lines;
-use Mail::Message::Body::File;
-use Mail::Message::Body::Delayed;
-use Mail::Message::Body::Multipart;
-
-use Mail::Message::Head;
-use Mail::Message::Head::Delayed;
-
-use Carp;
-use File::Copy;
-use File::Spec;
-use File::Basename;
-
-
-sub init($)
-{   my ($self, $args)     = @_;
-
-    $args->{lock_type}  ||= 'NONE';
-    $args->{body_type}  ||= 'Mail::Message::Body::Lines';
-    $args->{folder}     ||= '/';
-    $args->{trusted}    ||= 0;
-
-    $self->SUPER::init($args);
-
-    $self->{MBN_username} = $args->{username};
-    $self->{MBN_password} = $args->{password};
-    $self->{MBN_hostname} = $args->{server_name};
-    $self->{MBN_port}     = $args->{server_port};
-
-    $self->log(WARNING => "The term 'hostname' is confusing wrt folder. You probably need 'server_name'")
-         if exists $args->{hostname};
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub create(@) {shift->notImplemented}
-
-#-------------------------------------------
-
-
-sub folderdir(;$) { undef }
-
-#-------------------------------------------
-
-sub organization() { 'REMOTE' }
-
-#-------------------------------------------
-
-sub url()
-{   my $self = shift;
-
-    my ($user, $pass, $host, $port)
-       = @$self{ qw/MBN_username MBN_password MBN_hostname MBN_port/ };
-
-    my $perm = '';
-    $perm    = $user if defined $user;
-    if(defined $pass)
-    {   $pass  =~ s/(\W)/sprintf "%%%02X", ord $1/ge;
-        $perm .= ':'.$pass;
-    }
-
-    $perm   .= '@'       if length $perm;
-
-    my $loc  = $host;
-    $loc    .= ':'.$port if length $port;
-
-    my $name = $self->name;
-    $loc    .= '/'.$name if $name ne '/';
-    
-    $self->type . '://' . $perm . $loc;
-}
-
-#-------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Net.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Net.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Net.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Net.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Net.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,816 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Net - handle folders which are stored remote.
-
-
-=head1 INHERITANCE
-
- Mail::Box::Net
-   is a Mail::Box
-   is a Mail::Reporter
-
- Mail::Box::Net is extended by
-   Mail::Box::IMAP4
-   Mail::Box::POP3
-
-
-=head1 SYNOPSIS
-
- # Do not instantiate this object directly
-
-
-=head1 DESCRIPTION
-
-At the moment, this object is extended by
-
-=over 4
-
-=item * L<Mail::Box::POP3|Mail::Box::POP3>
-
-Implements the POP3 protocol.
-
-=item * L<Mail::Box::IMAP4|Mail::Box::IMAP4>
-
-Implements the IMAP4 protocol.  B<UNDER DEVELOPMENT>
-
-=back
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-overload: B<@{}>
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-overload: B<cmp>
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::Net-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option             Defined in       Default                                                         
- access             L<Mail::Box>     C<'r'>                                                          
- body_delayed_type  L<Mail::Box>     L<Mail::Message::Body::Delayed|Mail::Message::Body::Delayed>    
- body_type          L<Mail::Box>     L<Mail::Message::Body::Lines|Mail::Message::Body::Lines>        
- coerce_options     L<Mail::Box>     C<[]>                                                           
- create             L<Mail::Box>     <false>                                                         
- extract            L<Mail::Box>     C<10240>                                                        
- field_type         L<Mail::Box>     undef                                                           
- fix_headers        L<Mail::Box>     <false>                                                         
- folder             L<Mail::Box>     C<'/'>                                                          
- folderdir          L<Mail::Box>     <not used>                                                      
- head_delayed_type  L<Mail::Box>     L<Mail::Message::Head::Delayed|Mail::Message::Head::Delayed>    
- head_type          L<Mail::Box>     L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>  
- keep_dups          L<Mail::Box>     <false>                                                         
- lock_file          L<Mail::Box>     undef                                                           
- lock_timeout       L<Mail::Box>     1 hour                                                          
- lock_type          L<Mail::Box>     C<'NONE'>                                                       
- lock_wait          L<Mail::Box>     10 seconds                                                      
- locker             L<Mail::Box>     undef                                                           
- log                L<Mail::Reporter>  C<'WARNINGS'>                                                   
- manager            L<Mail::Box>     undef                                                           
- message_type       L<Mail::Box>     L<Mail::Box::Message|Mail::Box::Message>                        
- multipart_type     L<Mail::Box>     L<Mail::Message::Body::Multipart|Mail::Message::Body::Multipart>
- password                            undef                                                           
- remove_when_empty  L<Mail::Box>     <false>                                                         
- save_on_exit       L<Mail::Box>     <true>                                                          
- server_name                         undef                                                           
- server_port                         undef                                                           
- trace              L<Mail::Reporter>  C<'WARNINGS'>                                                   
- trusted            L<Mail::Box>     <false>                                                         
- username                            undef                                                           
-
-. access MODE
-
-. body_delayed_type CLASS
-
-. body_type CLASS|CODE
-
-. coerce_options ARRAY
-
-. create BOOLEAN
-
-. extract INTEGER | CODE | METHOD | 'LAZY'|'ALWAYS'
-
-. field_type CLASS
-
-. fix_headers BOOLEAN
-
-. folder FOLDERNAME
-
-. folderdir DIRECTORY
-
-. head_delayed_type CLASS
-
-. head_type CLASS
-
-. keep_dups BOOLEAN
-
-. lock_file FILENAME
-
-. lock_timeout SECONDS
-
-. lock_type CLASS|STRING|ARRAY
-
-. lock_wait SECONDS
-
-. locker OBJECT
-
-. log LEVEL
-
-. manager MANAGER
-
-. message_type CLASS
-
-. multipart_type CLASS
-
-. password STRING
-
-=over 4
-
-The password which is required to contact the remote server.
-
-=back
-
-. remove_when_empty BOOLEAN
-
-. save_on_exit BOOLEAN
-
-. server_name HOSTNAME
-
-=over 4
-
-The name of the host which contains the remote mail server.
-
-=back
-
-. server_port INTEGER
-
-=over 4
-
-Port number in use by the server application.
-
-=back
-
-. trace LEVEL
-
-. trusted BOOLEAN
-
-. username STRING
-
-=over 4
-
-The username which is to be used for the remote server.
-
-=back
-
-=back
-
-=head2 The folder
-
-
-$obj-E<gt>B<addMessage>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<addMessages>(MESSAGE [, MESSAGE, ...])
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-Mail::Box::Net-E<gt>B<appendMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<close>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<copyTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<delete>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<folderdir>([DIRECTORY])
-
-=over 4
-
-Not applicatable for folders on a remote server, so will always return
-the C<undef>.
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<organization>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<type>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<update>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<url>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-=head2 Folder flags
-
-
-$obj-E<gt>B<access>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<writable>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-=head2 The messages
-
-
-$obj-E<gt>B<current>([NUMBER|MESSAGE|MESSAGE-ID])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<find>(MESSAGE-ID)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<findFirstLabeled>(LABEL, [BOOLEAN, [ARRAY-OF-MSGS]])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<message>(INDEX [,MESSAGE])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messageId>(MESSAGE-ID [,MESSAGE])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messageIds>
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messages>(['ALL',RANGE,'ACTIVE','DELETED',LABEL,!LABEL,FILTER])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<nrMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<scanForMessages>(MESSAGE, MESSAGE-IDS, TIMESPAN, WINDOW)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-=head2 Sub-folders
-
-
-$obj-E<gt>B<listSubFolders>(OPTIONS)
-
-Mail::Box::Net-E<gt>B<listSubFolders>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<nameOfSubFolder>(SUBNAME, [PARENTNAME])
-
-Mail::Box::Net-E<gt>B<nameOfSubFolder>(SUBNAME, [PARENTNAME])
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<openRelatedFolder>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<openSubFolder>(SUBNAME, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<topFolderWithMessages>
-
-Mail::Box::Net-E<gt>B<topFolderWithMessages>
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<coerce>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<create>(FOLDER, OPTIONS)
-
-Mail::Box::Net-E<gt>B<create>(FOLDER, OPTIONS)
-
-=over 4
-
-Create a new folder on the remote server.
-
- Option     Defined in    Default   
- folderdir  L<Mail::Box>  <not used>
-
-. folderdir DIRECTORY
-
-=back
-
-$obj-E<gt>B<determineBodyType>(MESSAGE, HEAD)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-Mail::Box::Net-E<gt>B<foundIn>([FOLDERNAME], OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<lineSeparator>([STRING|'CR'|'LF'|'CRLF'])
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<locker>
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<read>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<readMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<storeMessage>(MESSAGE)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<toBeThreaded>(MESSAGES)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<toBeUnthreaded>(MESSAGES)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<updateMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<write>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<writeMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-=head2 Other methods
-
-
-$obj-E<gt>B<timespan2seconds>(TIME)
-
-Mail::Box::Net-E<gt>B<timespan2seconds>(TIME)
-
-=over 4
-
-See L<Mail::Box/"Other methods">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Net-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Net-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Net-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Box/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> Changes not written to read-only folder $self.
-
-You have opened the folder read-only --which is the default set
-by L<new(access)|Mail::Box/"Constructors">--, made modifications, and now want to close it.
-Set L<close(force)|Mail::Box/"The folder"> if you want to overrule the access mode, or close
-the folder with L<close(write)|Mail::Box/"The folder"> set to C<NEVER>.
-
-I<Error:> Copying failed for one message.
-
-For some reason, for instance disc full, removed by external process, or
-read-protection, it is impossible to copy one of the messages.  Copying will
-proceed for the other messages.
-
-I<Error:> Destination folder $name is not writable.
-
-The folder where the messages are copied to is not opened with write
-access (see L<new(access)|Mail::Box/"Constructors">).  This has no relation with write permission
-to the folder which is controled by your operating system.
-
-I<Warning:> Different messages with id $msgid
-
-The message id is discovered more than once within the same folder, but the
-content of the message seems to be different.  This should not be possible:
-each message must be unique.
-
-I<Error:> Folder $name is opened read-only
-
-You can not write to this folder unless you have opened the folder to
-write or append with L<new(access)|Mail::Box/"Constructors">, or the C<force> option is set true.
-
-I<Error:> Folder $name not deleted: not writable.
-
-The folder must be opened with write access via L<new(access)|Mail::Box/"Constructors">, otherwise
-removing it will be refused.  So, you may have write-access according to
-the operating system, but that will not automatically mean that this
-C<delete> method permits you to.  The reverse remark is valid as well.
-
-I<Error:> Invalid timespan '$timespan' specified.
-
-The string does not follow the strict rules of the time span syntax which
-is permitted as parameter.
-
-I<Warning:> Message-id '$msgid' does not contain a domain.
-
-According to the RFCs, message-ids need to contain a unique random part,
-then an C<@>, and then a domain name.  This is made to avoid the creation
-of two messages with the same id.  The warning emerges when the C<@> is
-missing from the string.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unable to create subfolder $name of $folder.
-
-The copy includes the subfolders, but for some reason it was not possible
-to copy one of these.  Copying will proceed for all other sub-folders.
-
-I<Error:> Writing folder $name failed
-
-For some reason (you probably got more error messages about this problem)
-it is impossible to write the folder, although you should because there
-were changes made.
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Net.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Net.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/POP3/Message.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/POP3/Message.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/POP3/Message.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,91 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Box::POP3::Message;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::Net::Message';
-
-use File::Copy;
-use Carp;
-
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    $args->{body_type} ||= 'Mail::Message::Body::Lines';
-
-    $self->SUPER::init($args);
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub size($)
-{   my $self = shift;
-    
-    return $self->SUPER::size
-        unless $self->isDelayed;
-
-    $self->folder->popClient->messageSize($self->unique);
-}
-
-#-------------------------------------------
-
-sub label(@)
-{   my $self = shift;
-    $self->loadHead;              # be sure the labels are read
-    return $self->SUPER::label(@_) if @_==1;
-
-    # POP3 can only set 'deleted' in the source folder.  Don't forget
-    my $olddel = $self->label('deleted') ? 1 : 0;
-    my $ret    = $self->SUPER::label(@_);
-    my $newdel = $self->label('deleted') ? 1 : 0;
-
-    $self->folder->popClient->deleted($newdel, $self->unique)
-        if $newdel != $olddel;
-
-    $ret;
-}
-
-#-------------------------------------------
-
-sub labels(@)
-{   my $self = shift;
-    $self->loadHead;              # be sure the labels are read
-    $self->SUPER::labels(@_);
-}
-
-#-------------------------------------------
-
-
-sub loadHead()
-{   my $self     = shift;
-    my $head     = $self->head;
-    return $head unless $head->isDelayed;
-
-    $head        = $self->folder->getHead($self);
-    $self->head($head);
-
-    $self->statusToLabels;  # not supported by al POP3 servers
-    $head;
-}
-
-#-------------------------------------------
-
-sub loadBody()
-{   my $self     = shift;
-
-    my $body     = $self->body;
-    return $body unless $body->isDelayed;
-
-    (my $head, $body) = $self->folder->getHeadAndBody($self);
-    $self->head($head) if $head->isDelayed;
-    $self->storeBody($body);
-}
-
-#-------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/POP3/Message.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/POP3/Message.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/POP3/Message.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/POP3/Message.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/POP3/Message.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,951 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::POP3::Message - one message on a POP3 server
-
-
-=head1 INHERITANCE
-
- Mail::Box::POP3::Message
-   is a Mail::Box::Net::Message
-   is a Mail::Box::Message
-   is a Mail::Message
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my $folder = new Mail::Box::POP3 ...
- my $message = $folder->message(10);
-
-
-=head1 DESCRIPTION
-
-A C<Mail::Box::POP3::Message> represents one message on a POP3 server,
-maintained by a L<Mail::Box::POP3|Mail::Box::POP3> folder. Each message is stored as
-separate entity on the server, and maybe temporarily in your program
-as well.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"Constructors">
-
-=back
-
-Mail::Box::POP3::Message-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option      Defined in       Default                                                       
- body        L<Mail::Message>  undef                                                         
- body_type   L<Mail::Box::Message>  L<Mail::Message::Body::Lines|Mail::Message::Body::Lines>      
- deleted     L<Mail::Message>  <false>                                                       
- field_type  L<Mail::Message>  undef                                                         
- folder      L<Mail::Box::Message>  <required>                                                    
- head        L<Mail::Message>  undef                                                         
- head_type   L<Mail::Message>  L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>
- labels      L<Mail::Message>  {}                                                            
- log         L<Mail::Reporter>  C<'WARNINGS'>                                                 
- messageId   L<Mail::Message>  undef                                                         
- modified    L<Mail::Message>  <false>                                                       
- size        L<Mail::Box::Message>  undef                                                         
- trace       L<Mail::Reporter>  C<'WARNINGS'>                                                 
- trusted     L<Mail::Message>  <false>                                                       
- unique      L<Mail::Box::Net::Message>  <unique string>                                               
-
-. body OBJECT
-
-. body_type CODE|CLASS
-
-. deleted BOOLEAN
-
-. field_type CLASS
-
-. folder FOLDER
-
-. head OBJECT
-
-. head_type CLASS
-
-. labels ARRAY|HASH
-
-. log LEVEL
-
-. messageId STRING
-
-. modified BOOLEAN
-
-. size INTEGER
-
-. trace LEVEL
-
-. trusted BOOLEAN
-
-. unique STRING
-
-=back
-
-=head2 Constructing a message
-
-
-$obj-E<gt>B<bounce>([RG-OBJECT|OPTIONS])
-
-=over 4
-
-See L<Mail::Message::Construct::Bounce/"Constructing a message">
-
-=back
-
-Mail::Box::POP3::Message-E<gt>B<build>([MESSAGE|PART|BODY], CONTENT)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-Mail::Box::POP3::Message-E<gt>B<buildFromBody>(BODY, [HEAD], HEADERS)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forward>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardAttach>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardEncapsulate>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardInline>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardNo>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPostlude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPrelude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardSubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-Mail::Box::POP3::Message-E<gt>B<read>(FILEHANDLE|SCALAR|REF-SCALAR|ARRAY-OF-LINES, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Read/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<rebuild>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<reply>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replyPrelude>([STRING|FIELD|ADDRESS|ARRAY-OF-THINGS])
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replySubject>(STRING)
-
-Mail::Box::POP3::Message-E<gt>B<replySubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-=head2 The message
-
-
-$obj-E<gt>B<container>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<copyTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<folder>([FOLDER])
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isDummy>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isPart>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<messageId>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<moveTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<send>([MAILER], OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<seqnr>([INTEGER])
-
-=over 4
-
-See L<Mail::Box::Message/"The message">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-Returns the size of this message.  If the message is still on the remote
-server, POP is used to ask for the size.  When the message is already loaded
-onto the local system, the size of the parsed message is taken.  These
-sizes can differ because the difference in line-ending representation.
-
-=back
-
-$obj-E<gt>B<toplevel>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<unique>([STRING|undef])
-
-=over 4
-
-See L<Mail::Box::Net::Message/"The message">
-
-=back
-
-$obj-E<gt>B<write>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<bcc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<cc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<date>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<destinations>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<from>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<get>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<guessTimestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<head>([HEAD])
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<sender>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<study>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<subject>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<timestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<to>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-=head2 The body
-
-
-$obj-E<gt>B<body>([BODY])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<decoded>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<encode>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isNested>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<parts>(['ALL'|'ACTIVE'|'DELETED'|'RECURSE'|FILTER])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-=head2 Flags
-
-
-$obj-E<gt>B<delete>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<deleted>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isDeleted>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<label>(LABEL|PAIRS)
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<labels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<labelsToStatus>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<statusToLabels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-=head2 The whole message as text
-
-
-$obj-E<gt>B<file>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<lines>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<printStructure>([FILEHANDLE|undef],[INDENT])
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<clonedFrom>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-Mail::Box::POP3::Message-E<gt>B<coerce>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<diskDelete>
-
-=over 4
-
-See L<Mail::Box::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<loadBody>
-
-=over 4
-
-See L<Mail::Box::Net::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readBody>(PARSER, HEAD [, BODYTYPE])
-
-=over 4
-
-See L<Mail::Box::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readFromParser>(PARSER, [BODYTYPE])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readHead>(PARSER [,CLASS])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<recursiveRebuildPart>(PART, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Internals">
-
-=back
-
-$obj-E<gt>B<storeBody>(BODY)
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<takeMessageId>([STRING])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Message::Construct/"METHODS">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::POP3::Message-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::POP3::Message-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::POP3::Message-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortSize>([VALUE])
-
-Mail::Box::POP3::Message-E<gt>B<shortSize>([VALUE])
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortString>
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<destruct>
-
-=over 4
-
-See L<Mail::Box::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot include forward source as $include.
-
-Unknown alternative for the L<forward(include)|Mail::Message::Construct::Forward/"Constructing a message">.  Valid choices are
-C<NO>, C<INLINE>, C<ATTACH>, and C<ENCAPSULATE>.
-
-I<Error:> Cannot include reply source as $include.
-
-Unknown alternative for the C<include> option of L<reply()|Mail::Message::Construct::Reply/"Constructing a message">.  Valid
-choices are C<NO>, C<INLINE>, and C<ATTACH>.
-
-I<Error:> No address to create forwarded to.
-
-If a forward message is created, a destination address must be specified.
-
-I<Error:> No default mailer found to send message.
-
-The message L<send()|Mail::Message/"The message"> mechanism had not enough information to automatically
-find a mail transfer agent to sent this message.  Specify a mailer
-explicitly using the C<via> options.
-
-I<Error:> Only build() Mail::Message's; they are not in a folder yet
-
-You may wish to construct a message to be stored in a some kind
-of folder, but you need to do that in two steps.  First, create a
-normal L<Mail::Message|Mail::Message>, and then add it to the folder.  During this
-L<Mail::Box::addMessage()|Mail::Box/"The folder"> process, the message will get L<coerce()|Mail::Message/"Internals">-d
-into the right message type, adding storage information and the like.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unable to read delayed body.
-
-
-I<Error:> Unable to read delayed head.
-
-
-I<Error:> bounce requires To, Cc, or Bcc
-
-The message L<bounce()|Mail::Message::Construct::Bounce/"Constructing a message"> method forwards a received message off to someone
-else without modification; you must specified it's new destination.
-If you have the urge not to specify any destination, you probably
-are looking for L<reply()|Mail::Message::Construct::Reply/"Constructing a message">. When you wish to modify the content, use
-L<forward()|Mail::Message::Construct::Forward/"Constructing a message">.
-
-I<Error:> forwardAttach requires a preamble object
-
-
-I<Error:> forwardEncapsulate requires a preamble object
-
-
-I<Error:> no rebuild rule $name defined.
-
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/POP3/Message.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/POP3/Message.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/POP3.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/POP3.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/POP3.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,262 +0,0 @@
-
-package Mail::Box::POP3;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::Net';
-
-use strict;
-use warnings;
-
-use Mail::Box::POP3::Message;
-use Mail::Box::Parser::Perl;
-use Mail::Box::FastScalar;
-
-use File::Spec;
-use File::Basename;
-use Carp;
-
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    $args->{server_port} ||= 110;
-    $args->{folder}      ||= 'inbox';
-
-    $self->SUPER::init($args);
-
-    $self->{MBP_client}    = $args->{pop_client}; 
-    $self->{MBP_auth}      = $args->{authenticate} || 'AUTO';
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub create($@) { undef }         # fails
-
-#-------------------------------------------
-
-sub foundIn(@)
-{   my $self = shift;
-    unshift @_, 'folder' if @_ % 2;
-    my %options = @_;
-
-       (exists $options{type}   && lc $options{type} eq 'pop3')
-    || (exists $options{folder} && $options{folder} =~ m/^pop/);
-}
-
-#-------------------------------------------
-
-
-sub addMessage($)
-{   my ($self, $message) = @_;
-
-    $self->log(ERROR => "You cannot write a message to a pop server (yet)")
-       if defined $message;
-
-    undef;
-}
-
-#-------------------------------------------
-
-
-sub addMessages(@)
-{   my $self = shift;
-
-    # error message described in addMessage()
-    $self->log(ERROR => "You cannot write messages to a pop server (yet)")
-        if @_;
-
-    ();
-}
-
-#-------------------------------------------
-
-sub type() {'pop3'}
-
-#-------------------------------------------
-
-sub close(@)
-{   my $self = shift;
-
-    $self->SUPER::close(@_);
-
-    my $pop = delete $self->{MBP_client};
-    $pop->disconnect if defined $pop;
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub delete(@)
-{   my $self = shift;
-    $self->log(WARNING => "POP3 folders cannot be deleted.");
-    undef;
-}
-
-#-------------------------------------------
-
-
-sub listSubFolders(@) { () }     # no
-
-#-------------------------------------------
-
-
-sub openSubFolder($@) { undef }  # fails
-
-#-------------------------------------------
-
-sub topFolderWithMessages() { 1 }  # Yes: only top folder
-
-#-------------------------------------------
-
-
-sub update() {shift->notImplemented}
-
-#-------------------------------------------
-
-
-sub popClient()
-{   my $self = shift;
-
-    return $self->{MBP_client}
-        if defined $self->{MBP_client};
-
-    my $auth = $self->{auth};
-
-    require Mail::Transport::POP3;
-    my $client  = Mail::Transport::POP3->new
-      ( username     => $self->{MBN_username}
-      , password     => $self->{MBN_password}
-      , hostname     => $self->{MBN_hostname}
-      , port         => $self->{MBN_port}
-      , authenticate => $self->{MBP_auth}
-      );
-
-    $self->log(ERROR => "Cannot create POP3 client for $self.")
-       unless defined $client;
-
-    $self->{MBP_client} = $client;
-}
-
-#-------------------------------------------
-
-sub readMessages(@)
-{   my ($self, %args) = @_;
-
-    my $pop   = $self->popClient or return;
-    my @log   = $self->logSettings;
-    my $seqnr = 0;
-
-    foreach my $id ($pop->ids)
-    {   my $message = $args{message_type}->new
-         ( head      => $args{head_delayed_type}->new(@log)
-         , unique    => $id
-         , folder    => $self
-         , seqnr     => $seqnr++
-         );
-
-        my $body    = $args{body_delayed_type}->new(@log, message => $message);
-        $message->storeBody($body);
-
-        $self->storeMessage($message);
-    }
-
-    $self;
-}
- 
-#-------------------------------------------
-
-
-sub getHead($)
-{   my ($self, $message) = @_;
-    my $pop   = $self->popClient or return;
-
-    my $uidl  = $message->unique;
-    my $lines = $pop->header($uidl);
-
-    unless(defined $lines)
-    {   $lines = [];
-        $self->log(WARNING  => "Message $uidl disappeared from POP3 server $self.");
-    }
-
-    my $text   = join '', @$lines;
-    my $parser = Mail::Box::Parser::Perl->new   # not parseable by C parser
-     ( filename  => "$pop"
-     , file      => Mail::Box::FastScalar->new(\$text)
-     , fix_headers => $self->{MB_fix_headers}
-     );
-
-    $self->lazyPermitted(1);
-
-    my $head     = $message->readHead($parser);
-    $parser->stop;
-
-    $self->lazyPermitted(0);
-
-    $self->log(PROGRESS => "Loaded head of $uidl.");
-    $head;
-}
-
-#-------------------------------------------
-
-
-sub getHeadAndBody($)
-{   my ($self, $message) = @_;
-    my $pop   = $self->popClient or return;
-
-    my $uidl  = $message->unique;
-    my $lines = $pop->message($uidl);
-
-    unless(defined $lines)
-    {   $lines = [];
-        $self->log(WARNING  => "Message $uidl disappeared from POP3 server $self.");
-     }
-
-    my $parser = Mail::Box::Parser::Perl->new   # not parseable by C parser
-     ( filename  => "$pop"
-     , file      => IO::ScalarArray->new($lines)
-     );
-
-    my $head = $message->readHead($parser);
-    unless(defined $head)
-    {   $self->log(ERROR => "Cannot find head back for $uidl on POP3 server $self.");
-        $parser->stop;
-        return undef;
-    }
-
-    my $body = $message->readBody($parser, $head);
-    unless(defined $body)
-    {   $self->log(ERROR => "Cannot read body for $uidl on POP3 server $self.");
-        $parser->stop;
-        return undef;
-    }
-
-    $parser->stop;
-
-    $self->log(PROGRESS => "Loaded message $uidl.");
-    ($head, $body);
-}
-
-#-------------------------------------------
-
-
-sub writeMessages($@)
-{   my ($self, $args) = @_;
-
-    if(my $modifications = grep {$_->isModified} @{$args->{messages}})
-    {   $self->log(WARNING =>
-           "Update of $modifications messages ignored for POP3 folder $self.");
-    }
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/POP3.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/POP3.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/POP3.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/POP3.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/POP3.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,934 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::POP3 - handle POP3 folders as client
-
-
-=head1 INHERITANCE
-
- Mail::Box::POP3
-   is a Mail::Box::Net
-   is a Mail::Box
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- use Mail::Box::POP3;
- my $folder = new Mail::Box::POP3 folder => $ENV{MAIL}, ...;
-
-
-=head1 DESCRIPTION
-
-Maintain a folder which has its messages stored on a remote server.  The
-communication between the client application and the server is implemented
-using the POP3 protocol.  This class uses L<Mail::Transport::POP3|Mail::Transport::POP3> to
-hide the transport of information, and focusses solely on the correct
-handling of messages within a POP3 folder.
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-overload: B<@{}>
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-overload: B<cmp>
-
-=over 4
-
-See L<Mail::Box/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::POP3-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-For authentications, you have three choices: specify a foldername which
-resembles an URL, or specify a pop-client object, or separate options
-for user, password, pop-server and server-port.
-
- Option             Defined in       Default                                                         
- access             L<Mail::Box>     C<'r'>                                                          
- authenticate                        C<'AUTO'>                                                       
- body_delayed_type  L<Mail::Box>     L<Mail::Message::Body::Delayed|Mail::Message::Body::Delayed>    
- body_type          L<Mail::Box>     L<Mail::Message::Body::Lines|Mail::Message::Body::Lines>        
- coerce_options     L<Mail::Box>     C<[]>                                                           
- create             L<Mail::Box>     <not applicable>                                                
- extract            L<Mail::Box>     C<10240>                                                        
- field_type         L<Mail::Box>     undef                                                           
- fix_headers        L<Mail::Box>     <false>                                                         
- folder             L<Mail::Box>     <not applicable>                                                
- folderdir          L<Mail::Box>     <not used>                                                      
- head_delayed_type  L<Mail::Box>     L<Mail::Message::Head::Delayed|Mail::Message::Head::Delayed>    
- head_type          L<Mail::Box>     L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>  
- keep_dups          L<Mail::Box>     <false>                                                         
- lock_file          L<Mail::Box>     undef                                                           
- lock_timeout       L<Mail::Box>     1 hour                                                          
- lock_type          L<Mail::Box>     C<'NONE'>                                                       
- lock_wait          L<Mail::Box>     10 seconds                                                      
- locker             L<Mail::Box>     undef                                                           
- log                L<Mail::Reporter>  C<'WARNINGS'>                                                   
- manager            L<Mail::Box>     undef                                                           
- message_type       L<Mail::Box>     L<Mail::Box::POP3::Message|Mail::Box::POP3::Message>            
- multipart_type     L<Mail::Box>     L<Mail::Message::Body::Multipart|Mail::Message::Body::Multipart>
- password           L<Mail::Box::Net>  undef                                                           
- pop_client                          undef                                                           
- remove_when_empty  L<Mail::Box>     <false>                                                         
- save_on_exit       L<Mail::Box>     <true>                                                          
- server_name        L<Mail::Box::Net>  undef                                                           
- server_port        L<Mail::Box::Net>  110                                                             
- trace              L<Mail::Reporter>  C<'WARNINGS'>                                                   
- trusted            L<Mail::Box>     <false>                                                         
- username           L<Mail::Box::Net>  undef                                                           
-
-. access MODE
-
-. authenticate 'LOGIN'|'APOP'|'AUTO'
-
-=over 4
-
-POP3 can use two methods of authentication: the old LOGIN protocol, which
-transmits a username and password in plain text, and the newer APOP
-protocol which uses MD5 encryption.  APOP is therefore much better, however
-not always supported by the server.  With AUTO, first APOP is tried and
-if that fails LOGIN.
-
-=back
-
-. body_delayed_type CLASS
-
-. body_type CLASS|CODE
-
-. coerce_options ARRAY
-
-. create BOOLEAN
-
-. extract INTEGER | CODE | METHOD | 'LAZY'|'ALWAYS'
-
-. field_type CLASS
-
-. fix_headers BOOLEAN
-
-. folder FOLDERNAME
-
-. folderdir DIRECTORY
-
-. head_delayed_type CLASS
-
-. head_type CLASS
-
-. keep_dups BOOLEAN
-
-. lock_file FILENAME
-
-. lock_timeout SECONDS
-
-. lock_type CLASS|STRING|ARRAY
-
-. lock_wait SECONDS
-
-. locker OBJECT
-
-. log LEVEL
-
-. manager MANAGER
-
-. message_type CLASS
-
-. multipart_type CLASS
-
-. password STRING
-
-. pop_client OBJECT
-
-=over 4
-
-You may want to specify your own pop-client object.  The object
-which is passed must extend L<Mail::Transport::POP3|Mail::Transport::POP3>.
-
-=back
-
-. remove_when_empty BOOLEAN
-
-. save_on_exit BOOLEAN
-
-. server_name HOSTNAME
-
-. server_port INTEGER
-
-. trace LEVEL
-
-. trusted BOOLEAN
-
-. username STRING
-
-I<Example:> 
-
- my $url = 'pop3://user:password@pop.xs4all.nl'
- my $pop = Mail::Box::POP3->new($url);
-
- my $pop = $mgr->open(type => 'pop3',
-    username => 'myname', password => 'mypassword',
-    server_name => 'pop.xs4all.nl');
-
-=back
-
-=head2 The folder
-
-
-$obj-E<gt>B<addMessage>(MESSAGE)
-
-=over 4
-
-It is impossible to write messages to the average POP3 server.  There are
-extensions to the protocol which do permit it, however these are not
-implemented (yet, patches welcome).
-
-C<undef> is returned, and an error displayed.  However, no complaint is
-given when the MESSAGE is C<undef> itself.
-
- Option  Defined in    Default   
- share   L<Mail::Box>  <not used>
-
-. share BOOLEAN
-
-=back
-
-$obj-E<gt>B<addMessages>(MESSAGES)
-
-=over 4
-
-As useless as L<addMessage()|Mail::Box::POP3/"METHODS">.  The only acceptable call to this method
-is without any message.
-
-=back
-
-Mail::Box::POP3-E<gt>B<appendMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<close>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<copyTo>(FOLDER, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<delete>(OPTIONS)
-
-=over 4
-
-It is not possible to delete a POP3 folder remotely: the best we can do
-is remove all the messages in it... which is the action implemented here.
-A notice is logged about this.
-
- Option     Defined in    Default   
- recursive  L<Mail::Box>  <not used>
-
-. recursive BOOLEAN
-
-=back
-
-$obj-E<gt>B<folderdir>([DIRECTORY])
-
-=over 4
-
-See L<Mail::Box::Net/"METHODS">
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<organization>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<type>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-$obj-E<gt>B<update>
-
-=over 4
-
-NOT IMPLEMENTED YET
-
-=back
-
-$obj-E<gt>B<url>
-
-=over 4
-
-See L<Mail::Box/"The folder">
-
-=back
-
-=head2 Folder flags
-
-
-$obj-E<gt>B<access>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-$obj-E<gt>B<writable>
-
-=over 4
-
-See L<Mail::Box/"Folder flags">
-
-=back
-
-=head2 The messages
-
-
-$obj-E<gt>B<current>([NUMBER|MESSAGE|MESSAGE-ID])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<find>(MESSAGE-ID)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<findFirstLabeled>(LABEL, [BOOLEAN, [ARRAY-OF-MSGS]])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<message>(INDEX [,MESSAGE])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messageId>(MESSAGE-ID [,MESSAGE])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messageIds>
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<messages>(['ALL',RANGE,'ACTIVE','DELETED',LABEL,!LABEL,FILTER])
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<nrMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-$obj-E<gt>B<scanForMessages>(MESSAGE, MESSAGE-IDS, TIMESPAN, WINDOW)
-
-=over 4
-
-See L<Mail::Box/"The messages">
-
-=back
-
-=head2 Sub-folders
-
-
-$obj-E<gt>B<listSubFolders>(OPTIONS)
-
-Mail::Box::POP3-E<gt>B<listSubFolders>(OPTIONS)
-
-=over 4
-
-The standard POP3 protocol does not support sub-folders, so an
-empty list will be returned in any case.
-
- Option      Defined in       Default              
- check       L<Mail::Box>     <false>              
- folder      L<Mail::Box>     <from calling object>
- folderdir   L<Mail::Box>     <from folder>        
- skip_empty  L<Mail::Box>     <false>              
-
-. check BOOLEAN
-
-. folder FOLDERNAME
-
-. folderdir DIRECTORY
-
-. skip_empty BOOL
-
-=back
-
-$obj-E<gt>B<nameOfSubFolder>(SUBNAME, [PARENTNAME])
-
-Mail::Box::POP3-E<gt>B<nameOfSubFolder>(SUBNAME, [PARENTNAME])
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<openRelatedFolder>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-$obj-E<gt>B<openSubFolder>(OPTIONS)
-
-=over 4
-
-It is not possible to open a sub-folder for a POP3 folder, because that
-is not supported by the official POP3 protocol. In any case, C<undef>
-is returned to indicate a failure.
-
-=back
-
-$obj-E<gt>B<topFolderWithMessages>
-
-Mail::Box::POP3-E<gt>B<topFolderWithMessages>
-
-=over 4
-
-See L<Mail::Box/"Sub-folders">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<coerce>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<create>(FOLDER, OPTIONS)
-
-Mail::Box::POP3-E<gt>B<create>(FOLDER, OPTIONS)
-
-=over 4
-
-It is not possible to create a new folder on a POP3 server.  This method
-will always return C<false>.
-
- Option     Defined in    Default   
- folderdir  L<Mail::Box>  <not used>
-
-. folderdir DIRECTORY
-
-=back
-
-$obj-E<gt>B<determineBodyType>(MESSAGE, HEAD)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-Mail::Box::POP3-E<gt>B<foundIn>([FOLDERNAME], OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<getHead>(MESSAGE)
-
-=over 4
-
-Read the header for the specified message from the remote server.
-
-=back
-
-$obj-E<gt>B<getHeadAndBody>(MESSAGE)
-
-=over 4
-
-Read all data for the specified message from the remote server.
-
-=back
-
-$obj-E<gt>B<lineSeparator>([STRING|'CR'|'LF'|'CRLF'])
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<locker>
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<popClient>
-
-=over 4
-
-Returns the pop client object.  This does not establish the connection.
-
-=back
-
-$obj-E<gt>B<read>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<readMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<storeMessage>(MESSAGE)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<toBeThreaded>(MESSAGES)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<toBeUnthreaded>(MESSAGES)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<updateMessages>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<write>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box/"Internals">
-
-=back
-
-$obj-E<gt>B<writeMessages>(OPTIONS)
-
-=over 4
-
- Option    Defined in    Default   
- messages  L<Mail::Box>  <required>
-
-. messages ARRAY
-
-=back
-
-=head2 Other methods
-
-
-$obj-E<gt>B<timespan2seconds>(TIME)
-
-Mail::Box::POP3-E<gt>B<timespan2seconds>(TIME)
-
-=over 4
-
-See L<Mail::Box/"Other methods">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::POP3-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::POP3-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::POP3-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Box/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot create POP3 client for $name.
-
-The connection to the POP3 server cannot be established.  You may see
-more, related, error messages about the failure.
-
-I<Error:> Cannot find head back for $uidl on POP3 server $name.
-
-The server told to have this message, but when asked for its headers, no
-single line was returned.  Did the message get destroyed?
-
-I<Error:> Cannot read body for $uidl on POP3 server $name.
-
-The message's headers are retreived from the server, but the body seems
-to be lost.  Did the message get destroyed between reading the header
-and reading the body?
-
-I<Warning:> Changes not written to read-only folder $self.
-
-You have opened the folder read-only --which is the default set
-by L<new(access)|Mail::Box/"Constructors">--, made modifications, and now want to close it.
-Set L<close(force)|Mail::Box/"The folder"> if you want to overrule the access mode, or close
-the folder with L<close(write)|Mail::Box/"The folder"> set to C<NEVER>.
-
-I<Error:> Copying failed for one message.
-
-For some reason, for instance disc full, removed by external process, or
-read-protection, it is impossible to copy one of the messages.  Copying will
-proceed for the other messages.
-
-I<Error:> Destination folder $name is not writable.
-
-The folder where the messages are copied to is not opened with write
-access (see L<new(access)|Mail::Box/"Constructors">).  This has no relation with write permission
-to the folder which is controled by your operating system.
-
-I<Warning:> Different messages with id $msgid
-
-The message id is discovered more than once within the same folder, but the
-content of the message seems to be different.  This should not be possible:
-each message must be unique.
-
-I<Error:> Folder $name is opened read-only
-
-You can not write to this folder unless you have opened the folder to
-write or append with L<new(access)|Mail::Box/"Constructors">, or the C<force> option is set true.
-
-I<Error:> Invalid timespan '$timespan' specified.
-
-The string does not follow the strict rules of the time span syntax which
-is permitted as parameter.
-
-I<Warning:> Message $uidl on POP3 server $name disappeared.
-
-The server indicated the existence of this message before, however it
-has no information about the message anymore.
-
-I<Warning:> Message-id '$msgid' does not contain a domain.
-
-According to the RFCs, message-ids need to contain a unique random part,
-then an C<@>, and then a domain name.  This is made to avoid the creation
-of two messages with the same id.  The warning emerges when the C<@> is
-missing from the string.
-
-I<Warning:> POP3 folders cannot be deleted.
-
-Each user has only one POP3 folder on a server.  This folder is created and
-deleted by the server's administrator only.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unable to create subfolder $name of $folder.
-
-The copy includes the subfolders, but for some reason it was not possible
-to copy one of these.  Copying will proceed for all other sub-folders.
-
-I<Error:> Update of $nr messages ignored for POP3 folder $name.
-
-The standard POP3 implementation does not support writing from client back
-to the server.  Therefore, modifications may be lost.
-
-I<Error:> Writing folder $name failed
-
-For some reason (you probably got more error messages about this problem)
-it is impossible to write the folder, although you should because there
-were changes made.
-
-I<Error:> You cannot write a message to a pop server (yet)
-
-Some extensions to the POP3 protocol do permit writing messages to the server,
-but the standard protocol only implements retreival.  Feel invited to extend our
-implementation with writing.
-
-
-=head1 DETAILS
-
-
-=head2 How POP3 folders work
-
-Rfc1939 defines how POP3 works.  POP3 is a really simple protocol to
-receive messages from a server to a user's client.  POP3 is also
-really limited: it can only be used to fetch messages, but has not
-many ways to limit the amount of network traffic, like the IMAP4
-protocol has.
-
-One POP3 account represents only one folder: there is no way of
-sub-folders in POP3.  POP3 doesn't support writing (except for
-some message status flags).
-
-=head2 This implementation
-
-The protocol specifics are implemented in L<Mail::Transport::POP3|Mail::Transport::POP3>,
-written by Liz Mattijsen.  That module does not use any of the
-other POP3 modules available on CPAN for the reason that MailBox
-tries to be smarter: it is capable of re-establishing broken POP3
-connection when the server supports UIDs.
-
-The implementation has shown to work with many different POP servers.
-In the test directory of the distribution, you will find a small
-server implementation, which is used to test the client.
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/POP3.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/POP3.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Parser/Perl.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Parser/Perl.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Parser/Perl.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,349 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Box::Parser::Perl;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::Parser';
-
-use Mail::Message::Field;
-use List::Util 'sum';
-use IO::File;
-
-
-sub init(@)
-{   my ($self, $args) = @_;
-
-    $self->SUPER::init($args) or return;
-
-    $self->{MBPP_trusted} = $args->{trusted};
-    $self->{MBPP_fix}     = $args->{fix_header_errors};
-    $self;
-}
-
-#------------------------------------------
-
-sub pushSeparator($)
-{   my ($self, $sep) = @_;
-    unshift @{$self->{MBPP_separators}}, $sep;
-    $self->{MBPP_strip_gt}++ if $sep eq 'From ';
-    $self;
-}
-
-#------------------------------------------
-
-sub popSeparator()
-{   my $self = shift;
-    my $sep  = shift @{$self->{MBPP_separators}};
-    $self->{MBPP_strip_gt}-- if $sep eq 'From ';
-    $sep;
-}
-    
-#------------------------------------------
-
-sub filePosition(;$)
-{   my $self = shift;
-    @_ ? $self->{MBPP_file}->seek(shift, 0) : $self->{MBPP_file}->tell;
-}
-
-my $empty = qr/^[\015\012]*$/;
-
-#------------------------------------------
-
-
-sub readHeader()
-{   my $self  = shift;
-    my $file  = $self->{MBPP_file};
-
-    my $start = $file->tell;
-    my @ret   = ($start, undef);
-    my $line  = $file->getline;
-
-LINE:
-    while(defined $line)
-    {   last if $line =~ $empty;
-        my ($name, $body) = split /\s*\:\s*/, $line, 2;
-
-        unless(defined $body)
-        {   $self->log(WARNING =>
-                "Unexpected end of header in ".$self->filename.":\n $line");
-
-            if(@ret && $self->fixHeaderErrors)
-            {   $ret[-1][1] .= ' '.$line;  # glue erroneous line to previous field
-                $line = $file->getline;
-                next LINE;
-            }
-            else
-            {   $file->seek(-length $line, 1);
-                last LINE;
-            }
-        }
-
-        $body = "\n" unless length $body;
-
-        # Collect folded lines
-        while($line = $file->getline)
-        {   $line =~ m!^[ \t]! ? ($body .= $line) : last;
-        }
-
-        $body =~ s/\015//g;
-        push @ret, [ $name, $body ];
-    }
-
-    $ret[1]  = $file->tell;
-    @ret;
-}
-
-#------------------------------------------
-
-sub _is_good_end($)
-{   my ($self, $where) = @_;
-
-    # No seps, then when have to trust it.
-    my $sep = $self->{MBPP_separators}[0];
-    return 1 unless defined $sep;
-
-    my $file = $self->{MBPP_file};
-    my $here = $file->tell;
-    $file->seek($where, 0) or return 0;
-
-    # Find first non-empty line on specified location.
-    my $line = $file->getline;
-    $line    = $file->getline while defined $line && $line =~ $empty;
-
-    # Check completed, return to old spot.
-    $file->seek($here, 0);
-    return 1 unless defined $line;
-
-        substr($line, 0, length $sep) eq $sep
-    && ($sep ne 'From ' || $line =~ m/ (19[789]|20[01])\d\b/ );
-}
-
-#------------------------------------------
-
-sub readSeparator()
-{   my $self = shift;
-
-    my $sep   = $self->{MBPP_separators}[0];
-    return () unless defined $sep;
-
-    my $file  = $self->{MBPP_file};
-    my $start = $file->tell;
-
-    my $line  = $file->getline;
-    while(defined $line && $line =~ $empty)
-    {   $start   = $file->tell;
-        $line    = $file->getline;
-    }
-
-    return () unless defined $line;
-
-    $line     =~ s/[\012\015\n]+$/\n/g;
-    return ($start, $line)
-        if substr($line, 0, length $sep) eq $sep;
-
-    $file->seek($start, 0);
-    ();
-}
-
-#------------------------------------------
-
-sub _read_stripped_lines(;$$)
-{   my ($self, $exp_chars, $exp_lines) = @_;
-    $exp_lines  = -1 unless defined $exp_lines;
-    my @seps    = @{$self->{MBPP_separators}};
-
-    my $file    = $self->{MBPP_file};
-    my $lines   = [];
-
-    if(@seps && $self->{MBPP_trusted})
-    {   my $sep  = $seps[0];
-        my $l    = length $sep;
-
-        while(1)
-        {   my $where = $file->tell;
-            my $line  = $file->getline or last;
-
-            if(   substr($line, 0, $l) eq $sep
-               && ($sep ne 'From ' || $line =~ m/ (?:19[789]\d|20[01]\d)/)
-               )
-            {   $file->seek($where, 0);
-                last;
-            }
-
-            push @$lines, $line;
-        }
-    }
-    elsif(@seps)
-    {   
-
-  LINE: while(1)
-        {   my $where = $file->getpos;
-            my $line  = $file->getline or last;
-
-            foreach my $sep (@seps)
-            {   next if substr($line, 0, length $sep) ne $sep;
-                next if $sep eq 'From ' && $line !~ m/ (?:19[789]\d|20[01]\d)/;
-
-                $file->setpos($where);
-                last LINE;
-            }
-
-            $line =~ s/\015$//;
-            push @$lines, $line;
-        }
-    }
-    else # File without separators.
-    {   $lines = ref $file eq 'Mail::Box::FastScalar' ? $file->getlines : [ $file->getlines ];
-    }
-
-    my $end = $file->tell;
-    if($exp_lines > 0 )
-    {    while(@$lines > $exp_lines && $lines->[-1] =~ $empty)
-         {   $end -= length $lines->[-1];
-             pop @$lines;
-         }
-    }
-    elsif(@seps && @$lines && $lines->[-1] =~ $empty)
-    {   # blank line should be in place before a separator.  Only that
-        # line is removed.
-        $end -= length $lines->[-1];
-        pop @$lines;
-    }
-
-    map { s/^\>(\>*From\s)/$1/ } @$lines
-        if $self->{MBPP_strip_gt};
-
-    $end, $lines;
-}
-
-#------------------------------------------
-
-sub _take_scalar($$)
-{   my ($self, $begin, $end) = @_;
-    my $file = $self->{MBPP_file};
-    $file->seek($begin, 0);
-
-    my $return;
-    $file->read($return, $end-$begin);
-    $return =~ s/\015//g;
-    $return;
-}
-
-#------------------------------------------
-
-sub bodyAsString(;$$)
-{   my ($self, $exp_chars, $exp_lines) = @_;
-    my $file  = $self->{MBPP_file};
-    my $begin = $file->tell;
-
-    if(defined $exp_chars && $exp_chars>=0)
-    {   # Get at once may be successful
-        my $end = $begin + $exp_chars;
-
-        if($self->_is_good_end($end))
-        {   my $body = $self->_take_scalar($begin, $end);
-            $body =~ s/^\>(\>*From\s)/$1/gm if $self->{MBPP_strip_gt};
-            return ($begin, $file->tell, $body);
-        }
-    }
-
-    my ($end, $lines) = $self->_read_stripped_lines($exp_chars, $exp_lines);
-    return ($begin, $end, join('', @$lines));
-}
-
-#------------------------------------------
-
-sub bodyAsList(;$$)
-{   my ($self, $exp_chars, $exp_lines) = @_;
-    my $file  = $self->{MBPP_file};
-    my $begin = $file->tell;
-
-    my ($end, $lines) = $self->_read_stripped_lines($exp_chars, $exp_lines);
-    ($begin, $end, $lines);
-}
-
-#------------------------------------------
-
-sub bodyAsFile($;$$)
-{   my ($self, $out, $exp_chars, $exp_lines) = @_;
-    my $file  = $self->{MBPP_file};
-    my $begin = $file->tell;
-
-    my ($end, $lines) = $self->_read_stripped_lines($exp_chars, $exp_lines);
-
-    $out->print($_) foreach @$lines;
-    ($begin, $end, scalar @$lines);
-}
-
-#------------------------------------------
-
-sub bodyDelayed(;$$)
-{   my ($self, $exp_chars, $exp_lines) = @_;
-    my $file  = $self->{MBPP_file};
-    my $begin = $file->tell;
-
-    if(defined $exp_chars)
-    {   my $end = $begin + $exp_chars;
-
-        if($self->_is_good_end($end))
-        {   $file->seek($end, 0);
-            return ($begin, $end, $exp_chars, $exp_lines);
-        }
-    }
-
-    my ($end, $lines) = $self->_read_stripped_lines($exp_chars, $exp_lines);
-    my $chars = sum(map {length} @$lines);
-    ($begin, $end, $chars, scalar @$lines);
-}
-
-#------------------------------------------
-
-sub openFile($)
-{   my ($self, $args) = @_;
-    my $fh = $args->{file} || IO::File->new($args->{filename}, $args->{mode});
-
-    return unless $fh;
-    $self->{MBPP_file}       = $fh;
-
-    binmode $fh, ':raw'
-       if ref($fh) eq 'GLOB' || $fh->can('BINMODE');
-
-    $self->{MBPP_separators} = [];
-
-    # Prepare the first line.
-    $self->{MBPP_start_line} = 0;
-
-    my $line  = $fh->getline || return $self;
-
-    $line     =~ s/[\012\015]+$/\n/;
-    $self->{MBP_linesep}     = $1;
-    $fh->seek(0, 0);
-
-#   binmode $fh, ':crlf' if $] < 5.007;  # problem with perlIO
-    $self;
-}
-
-#------------------------------------------
-
-sub closeFile()
-{   my $self = shift;
-
-    delete $self->{MBPP_separators};
-    delete $self->{MBPP_strip_gt};
-
-    my $file = delete $self->{MBPP_file} or return;
-    $file->close;
-    $self;
-}
-#------------------------------------------
-
-
-sub fixHeaderErrors(;$)
-{   my $self = shift;
-    @_ ? ($self->{MBPP_fix} = shift) : $self->{MBPP_fix};
-}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Parser/Perl.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Parser/Perl.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Parser/Perl.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Parser/Perl.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Parser/Perl.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,434 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Parser::Perl - reading messages from file using Perl
-
-
-=head1 INHERITANCE
-
- Mail::Box::Parser::Perl
-   is a Mail::Box::Parser
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
-
-
-=head1 DESCRIPTION
-
-The C<Mail::Box::Parser::Perl> implements parsing of messages
-in Perl.  This may be a little slower than the C<C> based parser
-Mail::Box::Parser::C, but will also work on platforms where no C
-compiler is available.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::Parser::Perl-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option             Defined in       Default      
- file               L<Mail::Box::Parser>  undef        
- filename           L<Mail::Box::Parser>  <required>   
- fix_header_errors                   <false>      
- log                L<Mail::Reporter>  C<'WARNINGS'>
- mode               L<Mail::Box::Parser>  C<'r'>       
- trace              L<Mail::Reporter>  C<'WARNINGS'>
- trusted                             <false>      
-
-. file FILE-HANDLE
-
-. filename FILENAME
-
-. fix_header_errors BOOLEAN
-
-=over 4
-
-When header errors are detected, the parsing of the header will
-be stopped.  Other header lines will become part of the body of
-the message.  Set this flag to have the erroneous line added to
-the previous header line.
-
-=back
-
-. log LEVEL
-
-. mode OPENMODE
-
-. trace LEVEL
-
-. trusted BOOLEAN
-
-=over 4
-
-Is the input from the file to be trusted, or does it require extra
-tests.  Related to L<Mail::Box::new(trusted)|Mail::Box/"Constructors">.
-
-=back
-
-=back
-
-=head2 The parser
-
-
-$obj-E<gt>B<fileChanged>
-
-=over 4
-
-See L<Mail::Box::Parser/"The parser">
-
-=back
-
-$obj-E<gt>B<filename>
-
-=over 4
-
-See L<Mail::Box::Parser/"The parser">
-
-=back
-
-$obj-E<gt>B<fixHeaderErrors>([BOOLEAN])
-
-=over 4
-
-If set to C<true>, parsing of a header will not stop on an error, but
-attempt to add the erroneous this line to previous field.  Without BOOLEAN,
-the current setting is returned.
-
-I<Example:> 
-
- $folder->parser->fixHeaderErrors(1);
- my $folder = $mgr->open('folder', fix_header_errors => 1);
-
-=back
-
-$obj-E<gt>B<restart>
-
-=over 4
-
-See L<Mail::Box::Parser/"The parser">
-
-=back
-
-$obj-E<gt>B<start>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Parser/"The parser">
-
-=back
-
-$obj-E<gt>B<stop>
-
-=over 4
-
-See L<Mail::Box::Parser/"The parser">
-
-=back
-
-=head2 Parsing
-
-
-$obj-E<gt>B<bodyAsFile>(FILEHANDLE [,CHARS [,LINES]])
-
-=over 4
-
-See L<Mail::Box::Parser/"Parsing">
-
-=back
-
-$obj-E<gt>B<bodyAsList>([,CHARS [,LINES]])
-
-=over 4
-
-See L<Mail::Box::Parser/"Parsing">
-
-=back
-
-$obj-E<gt>B<bodyAsString>([,CHARS [,LINES]])
-
-=over 4
-
-See L<Mail::Box::Parser/"Parsing">
-
-=back
-
-$obj-E<gt>B<bodyDelayed>([,CHARS [,LINES]])
-
-=over 4
-
-See L<Mail::Box::Parser/"Parsing">
-
-=back
-
-$obj-E<gt>B<filePosition>([POSITION])
-
-=over 4
-
-See L<Mail::Box::Parser/"Parsing">
-
-=back
-
-$obj-E<gt>B<lineSeparator>
-
-=over 4
-
-See L<Mail::Box::Parser/"Parsing">
-
-=back
-
-$obj-E<gt>B<popSeparator>
-
-=over 4
-
-See L<Mail::Box::Parser/"Parsing">
-
-=back
-
-$obj-E<gt>B<pushSeparator>(STRING|REGEXP)
-
-=over 4
-
-See L<Mail::Box::Parser/"Parsing">
-
-=back
-
-$obj-E<gt>B<readHeader>
-
-=over 4
-
-=back
-
-$obj-E<gt>B<readSeparator>(OPTIONS)
-
-=over 4
-
-See L<Mail::Box::Parser/"Parsing">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<closeFile>
-
-=over 4
-
-See L<Mail::Box::Parser/"Internals">
-
-=back
-
-$obj-E<gt>B<defaultParserType>([CLASS])
-
-Mail::Box::Parser::Perl-E<gt>B<defaultParserType>([CLASS])
-
-=over 4
-
-See L<Mail::Box::Parser/"Internals">
-
-=back
-
-$obj-E<gt>B<openFile>(ARGS)
-
-=over 4
-
-See L<Mail::Box::Parser/"Internals">
-
-=back
-
-$obj-E<gt>B<takeFileInfo>
-
-=over 4
-
-See L<Mail::Box::Parser/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Parser::Perl-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Parser::Perl-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Parser::Perl-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> File $filename changed during access.
-
-When a message parser starts working, it takes size and modification time
-of the file at hand.  If the folder is written, it checks wether there
-were changes in the file made by external programs.
-
-Calling L<Mail::Box::update()|Mail::Box/"The folder"> on a folder before it being closed
-will read these new messages.  But the real source of this problem is
-locking: some external program (for instance the mail transfer agent,
-like sendmail) uses a different locking mechanism as you do and therefore
-violates your rights.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Warning:> Unexpected end of header in $source: $line
-
-While parsing a message from the specified source (usually a file name),
-the parser found a syntax error.  According to the MIME specification in the
-RFCs, each header line must either contain a colon, or start with a blank
-to indicate a folded field.  Apparently, this header contains a line which
-starts on the first position, but not with a field name.
-
-By default, parsing of the header will be stopped.  If there are more header
-lines after the erroneous line, they will be added to the body of the message.
-In case of new(fix_headers) set, the parsing of the header will be continued.
-The erroneous line will be added to the preceding field.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Parser/Perl.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Parser/Perl.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Parser.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Parser.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Parser.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,210 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Box::Parser;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Reporter';
-use Carp;
-
-
-sub new(@)
-{   my $class = shift;
-
-    $class eq __PACKAGE__
-    ? $class->defaultParserType->new(@_)   # bootstrap right parser
-    : $class->SUPER::new(@_);
-}
-
-sub init(@)
-{   my ($self, $args) = @_;
-
-    $args->{trace}  ||= 'WARNING';
-
-    $self->SUPER::init($args);
-
-    $self->{MBP_mode} = $args->{mode} || 'r';
-
-    unless($self->{MBP_filename} = $args->{filename} || ref $args->{file})
-    {    $self->log(ERROR => "Filename or handle required to create a parser.");
-         return;
-    }
-
-    $self->start(file => $args->{file});
-}
-
-#------------------------------------------
-
-
-sub start(@)
-{   my $self = shift;
-    my %args = (@_, filename => $self->filename, mode => $self->{MBP_mode});
-
-    $self->openFile(\%args)
-        or return;
-
-    $self->takeFileInfo;
-
-    $self->log(PROGRESS => "Opened folder $args{filename} to be parsed");
-    $self;
-}
-
-#------------------------------------------
-
-
-sub stop()
-{   my $self     = shift;
-
-    my $filename = $self->filename;
-
-#   $self->log(WARNING => "File $filename changed during access.")
-#      if $self->fileChanged;
-
-    $self->log(NOTICE  => "Close parser for file $filename");
-    $self->closeFile;
-}
-
-#------------------------------------------
-
-
-sub restart()
-{   my $self     = shift;
-    my $filename = $self->filename;
-
-    $self->closeFile or return;
-
-    $self->openFile( {filename => $filename, mode => $self->{MBP_mode}} )
-        or return;
-
-    $self->takeFileInfo;
-    $self->log(NOTICE  => "Restarted parser for file $filename");
-    $self;
-}
-
-#------------------------------------------
-
-
-sub fileChanged()
-{   my $self = shift;
-    my ($size, $mtime) = (stat $self->filename)[7,9];
-    return 0 if !defined $size || !defined $mtime;
-    $size != $self->{MBP_size} || $mtime != $self->{MBP_mtime};
-}
-    
-#------------------------------------------
-
-
-sub filename() {shift->{MBP_filename}}
-
-#------------------------------------------
-
-
-sub filePosition(;$) {shift->NotImplemented}
-
-#------------------------------------------
-
-
-sub pushSeparator($) {shift->notImplemented}
-
-#------------------------------------------
-
-
-sub popSeparator($) {shift->notImplemented}
-
-#------------------------------------------
-
-
-sub readSeparator($) {shift->notImplemented}
-
-#------------------------------------------
-
-
-sub readHeader()    {shift->notImplemented}
-
-#------------------------------------------
-
-
-sub bodyAsString() {shift->notImplemented}
-
-#------------------------------------------
-
-
-sub bodyAsList() {shift->notImplemented}
-
-#------------------------------------------
-
-
-sub bodyAsFile() {shift->notImplemented}
-
-#------------------------------------------
-
-
-sub bodyDelayed() {shift->notImplemented}
-
-#------------------------------------------
-
-
-sub lineSeparator() {shift->{MBP_linesep}}
-
-#------------------------------------------
-
-
-sub openFile(@) {shift->notImplemented}
-
-#------------------------------------------
-
-
-sub closeFile(@) {shift->notImplemented}
-
-#------------------------------------------
-
-
-sub takeFileInfo()
-{   my $self     = shift;
-    @$self{ qw/MBP_size MBP_mtime/ } = (stat $self->filename)[7,9];
-}
-
-#------------------------------------------
-
-
-my $parser_type;
-
-sub defaultParserType(;$)
-{   my $class = shift;
-
-    # Select the parser manually?
-    if(@_)
-    {   $parser_type = shift;
-        return $parser_type if $parser_type->isa( __PACKAGE__ );
-
-        confess "Parser $parser_type does not extend "
-              . __PACKAGE__ . "\n";
-    }
-
-    # Already determined which parser we want?
-    return $parser_type if $parser_type;
-
-    # Try to use C-based parser.
-    eval 'require Mail::Box::Parser::C';
-#   warn "C-PARSER errors $@\n" if $@;
-
-    return $parser_type = 'Mail::Box::Parser::C'
-        unless $@;
-
-    # Fall-back on Perl-based parser.
-    require Mail::Box::Parser::Perl;
-    $parser_type = 'Mail::Box::Parser::Perl';
-}
-
-#------------------------------------------
-
-
-sub DESTROY
-{   my $self = shift;
-    $self->stop;
-    $self->SUPER::DESTROY;
-}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Parser.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Parser.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Parser.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Parser.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Parser.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,520 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Parser - reading and writing messages
-
-
-=head1 INHERITANCE
-
- Mail::Box::Parser
-   is a Mail::Reporter
-
- Mail::Box::Parser is extended by
-   Mail::Box::Parser::Perl
-
-
-=head1 SYNOPSIS
-
- # Not instatiatiated itself
-
-
-=head1 DESCRIPTION
-
-The C<Mail::Box::Parser> manages the parsing of folders.  Usually, you won't
-need to know anything about this module, except the options which are
-involved with this code.
-
-There are two implementations of this module planned:
-
-=over 4
-
-=item * L<Mail::Box::Parser::Perl|Mail::Box::Parser::Perl>
-
-A slower parser which only uses plain Perl.  This module is a bit slower,
-and does less checking and less recovery.
-
-=item * Mail::Box::Parser::C
-
-A fast parser written in C<C>.  This package is released as separate
-module on CPAN, because the module distribution via CPAN can not
-handle XS files which are not located in the root directory of the
-module tree.  If a C compiler is available on your system, it will be
-used automatically.
-
-=back
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::Parser-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-Create a parser object which can handle one file.  For
-mbox-like mailboxes, this object can be used to read a whole folder.  In
-case of MH-like mailboxes, each message is contained in a single file,
-so each message has its own parser object.
-
- Option    Defined in       Default      
- file                       undef        
- filename                   <required>   
- log       L<Mail::Reporter>  C<'WARNINGS'>
- mode                       C<'r'>       
- trace     L<Mail::Reporter>  C<'WARNINGS'>
-
-. file FILE-HANDLE
-
-=over 4
-
-Any C<IO::File> or C<GLOB> which can be used to read the data from.  In
-case this option is specified, the C<filename> is informational only.
-
-=back
-
-. filename FILENAME
-
-=over 4
-
-The name of the file to be read.
-
-=back
-
-. log LEVEL
-
-. mode OPENMODE
-
-=over 4
-
-File-open mode, which defaults to C<'r'>, which means `read-only'.
-See C<perldoc -f open> for possible modes.  Only applicable 
-when no C<file> is specified.
-
-=back
-
-. trace LEVEL
-
-=back
-
-=head2 The parser
-
-
-$obj-E<gt>B<fileChanged>
-
-=over 4
-
-Returns whether the file which is parsed has changed after the last
-time takeFileInfo() was called.
-
-=back
-
-$obj-E<gt>B<filename>
-
-=over 4
-
-Returns the name of the file this parser is working on.
-
-=back
-
-$obj-E<gt>B<restart>
-
-=over 4
-
-Restart the parser on a certain file, usually because the content has
-changed.
-
-=back
-
-$obj-E<gt>B<start>(OPTIONS)
-
-=over 4
-
-Start the parser by opening a file.
-
- Option  Defined in  Default
- file                undef  
-
-. file FILEHANDLE|undef
-
-=over 4
-
-The file is already open, for instance because the data must be read
-from STDIN.
-
-=back
-
-=back
-
-$obj-E<gt>B<stop>
-
-=over 4
-
-Stop the parser, which will include a close of the file.  The lock on the
-folder will not be removed (is not the responsibility of the parser).
-
-=back
-
-=head2 Parsing
-
-
-$obj-E<gt>B<bodyAsFile>(FILEHANDLE [,CHARS [,LINES]])
-
-=over 4
-
-Try to read one message-body from the file, and immediately write
-it to the specified file-handle.  Optionally, the predicted number
-of CHARacterS and/or LINES to be read can be supplied.  These values may be
-C<undef> and may be wrong.
-
-The return is a list of three scalars: the location of the body (begin
-and end) and the number of lines in the body.
-
-=back
-
-$obj-E<gt>B<bodyAsList>([,CHARS [,LINES]])
-
-=over 4
-
-Try to read one message-body from the file.  Optionally, the predicted number
-of CHARacterS and/or LINES to be read can be supplied.  These values may be
-C<undef> and may be wrong.
-
-The return is a list of scalars, each containing one line (including
-line terminator), preceded by two integers representing the location
-in the file where this body started and ended.
-
-=back
-
-$obj-E<gt>B<bodyAsString>([,CHARS [,LINES]])
-
-=over 4
-
-Try to read one message-body from the file.  Optionally, the predicted number
-of CHARacterS and/or LINES to be read can be supplied.  These values may be
-C<undef> and may be wrong.
-
-The return is a list of three scalars, the location in the file
-where the body starts, where the body ends, and the string containing the
-whole body.
-
-=back
-
-$obj-E<gt>B<bodyDelayed>([,CHARS [,LINES]])
-
-=over 4
-
-Try to read one message-body from the file, but the data is skipped.
-Optionally, the predicted number of CHARacterS and/or LINES to be skipped
-can be supplied.  These values may be C<undef> and may be wrong.
-
-The return is a list of four scalars: the location of the body (begin and
-end), the size of the body, and the number of lines in the body.  The
-number of lines may be C<undef>.
-
-=back
-
-$obj-E<gt>B<filePosition>([POSITION])
-
-=over 4
-
-Returns the location of the next byte to be used in the file which is
-parsed.  When a POSITION is specified, the location in the file is
-moved to the indicated spot first.
-
-=back
-
-$obj-E<gt>B<lineSeparator>
-
-=over 4
-
-Returns the character or characters which are used to separate lines
-in the folder file.  This is based on the first line of the file.
-UNIX systems use a single LF to separate lines.  Windows uses a CR and
-a LF.  Mac uses CR.
-
-=back
-
-$obj-E<gt>B<popSeparator>
-
-=over 4
-
-Remove the last-pushed separator from the list which is maintained by the
-parser.  This will return C<undef> when there is none left.
-
-=back
-
-$obj-E<gt>B<pushSeparator>(STRING|REGEXP)
-
-=over 4
-
-Add a boundary line.  Separators tell the parser where to stop reading.
-A famous separator is the C<From>-line, which is used in Mbox-like
-folders to separate messages.  But also parts (I<attachments>) is a
-message are divided by separators.
-
-The specified STRING describes the start of the separator-line.  The
-REGEXP can specify a more complicated format.
-
-=back
-
-$obj-E<gt>B<readHeader>
-
-=over 4
-
-Read the whole message-header and return it as list of field-value
-pairs.  Mind that some fields will appear more than once.
-
-The first element will represent the position in the file where the
-header starts.  The follows the list of header field names and bodies.
-
-I<Example:> 
-
- my ($where, @header) = $parser->readHeader;
-
-=back
-
-$obj-E<gt>B<readSeparator>(OPTIONS)
-
-=over 4
-
-Read the currently active separator (the last one which was pushed).  The
-line (or C<undef>) is returned.  Blank-lines before the separator lines
-are ignored.
-
-The return are two scalars, where the first gives the location of the
-separator in the file, and the second the line which is found as
-separator.  A new separator is activated using L<pushSeparator()|Mail::Box::Parser/"Parsing">.
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<closeFile>
-
-=over 4
-
-Close the file which was being parsed.
-
-=back
-
-$obj-E<gt>B<defaultParserType>([CLASS])
-
-Mail::Box::Parser-E<gt>B<defaultParserType>([CLASS])
-
-=over 4
-
-Returns the parser to be used to parse all subsequent
-messages, possibly first setting the parser using the optional argument.
-Usually, the parser is autodetected; the C<C>-based parser will be used
-when it can be, and the Perl-based parser will be used otherwise.
-
-The CLASS argument allows you to specify a package name to force a
-particular parser to be used (such as your own custom parser). You have
-to C<use> or C<require> the package yourself before calling this method
-with an argument. The parser must be a sub-class of C<Mail::Box::Parser>.
-
-=back
-
-$obj-E<gt>B<openFile>(ARGS)
-
-=over 4
-
-Open the file to be parsed.  ARGS is a ref-hash of options.
-
- Option    Defined in       Default   
- filename                   <required>
- mode                       <required>
-
-. filename FILENAME
-
-. mode STRING
-
-=back
-
-$obj-E<gt>B<takeFileInfo>
-
-=over 4
-
-Capture some data about the file being parsed, to be compared later.
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Parser-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Parser-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Parser-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> File $filename changed during access.
-
-When a message parser starts working, it takes size and modification time
-of the file at hand.  If the folder is written, it checks wether there
-were changes in the file made by external programs.
-
-Calling L<Mail::Box::update()|Mail::Box/"The folder"> on a folder before it being closed
-will read these new messages.  But the real source of this problem is
-locking: some external program (for instance the mail transfer agent,
-like sendmail) uses a different locking mechanism as you do and therefore
-violates your rights.
-
-I<Error:> Filename or handle required to create a parser.
-
-A message parser needs to know the source of the message at creation.  These
-sources can be a filename (string), file handle object or GLOB.
-See new(filename) and new(file).
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Parser.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Parser.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search/Grep.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Search/Grep.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search/Grep.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,165 +0,0 @@
-
-package Mail::Box::Search::Grep;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::Search';
-
-use strict;
-use warnings;
-
-use Carp;
-
-#-------------------------------------------
-
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    $args->{in} ||= ($args->{field} ? 'HEAD' : 'BODY');
-
-    my $deliver = $args->{deliver} || $args->{details};  # details is old name
-    $args->{deliver}
-     = !defined $deliver       ? $deliver
-     : ref $deliver eq 'CODE'  ? $deliver
-     : $deliver eq 'PRINT'     ? sub { $_[0]->printMatch($_[1]) }
-     : ref $deliver eq 'ARRAY' ? sub { push @$deliver, $_[1] }
-     :                           $deliver;
-
-    $self->SUPER::init($args);
-
-    my $take = $args->{field};
-    $self->{MBSG_field_check}
-     = !defined $take         ? sub {1}
-     : !ref $take             ? do {$take = lc $take; sub { $_[1] eq $take }}
-     :  ref $take eq 'Regexp' ? sub { $_[1] =~ $take }
-     :  ref $take eq 'CODE'   ? $take
-     : croak "Illegal field selector $take.";
-
-    my $match = $args->{match}
-       or croak "No match pattern specified.\n";
-    $self->{MBSG_match_check}
-     = !ref $match             ? sub { index("$_[1]", $match) >= $[ }
-     :  ref $match eq 'Regexp' ? sub { "$_[1]" =~ $match } 
-     :  ref $match eq 'CODE'   ? $match
-     : croak "Illegal match pattern $match.";
-
-    $self;
-}
-
-#-------------------------------------------
-
-sub search(@)
-{   my ($self, $object, %args) = @_;
-    delete $self->{MBSG_last_printed};
-    $self->SUPER::search($object, %args);
-}
-
-#-------------------------------------------
-
-sub inHead(@)
-{   my ($self, $part, $head, $args) = @_;
-
-    my @details = (message => $part->toplevel, part => $part);
-    my ($field_check, $match_check, $deliver)
-      = @$self{ qw/MBSG_field_check MBSG_match_check MBS_deliver/ };
-
-    my $matched = 0;
-  LINES:
-    foreach my $field ($head->orderedFields)
-    {   next unless $field_check->($head, $field->name)
-                 && $match_check->($head, $field);
-
-        $matched++;
-        last LINES unless $deliver;  # no deliver: only one match needed
-        $deliver->( {@details, field => $field} );
-    }
-
-    $matched;
-}
-
-
-#-------------------------------------------
-
-sub inBody(@)
-{   my ($self, $part, $body, $args) = @_;
-
-    my @details = (message => $part->toplevel, part => $part);
-    my ($field_check, $match_check, $deliver)
-      = @$self{ qw/MBSG_field_check MBSG_match_check MBS_deliver/ };
-
-    my $matched = 0;
-    my $linenr  = 0;
-
-  LINES:
-    foreach my $line ($body->lines)
-    {   $linenr++;
-        next unless $match_check->($body, $line);
-
-        $matched++;
-        last LINES unless $deliver;  # no deliver: only one match needed
-        $deliver->( {@details, linenr => $linenr, line => $line} );
-    }
-
-    $matched;
-}
-
-#-------------------------------------------
-
-
-#-------------------------------------------
-
-sub printMatch($;$)
-{   my $self = shift;
-    my ($out, $match) = @_==2 ? @_ : (select, shift);
-
-      $match->{field}
-    ? $self->printMatchedHead($out, $match)
-    : $self->printMatchedBody($out, $match)
-}
-
-#-------------------------------------------
-
-
-sub printMatchedHead($$)
-{   my ($self, $out, $match) = @_;
-    my $message = $match->{message};
-    my $msgnr   = $message->seqnr;
-    my $folder  = $message->folder->name;
-    my $lp      = $self->{MBSG_last_printed} || '';
-
-    unless($lp eq "$folder $msgnr")  # match in new message
-    {   my $subject = $message->subject;
-        $out->print("$folder, message $msgnr: $subject\n");
-        $self->{MBSG_last_printed} = "$folder $msgnr";
-    }
-
-    my @lines   = $match->{field}->string;
-    my $inpart  = $match->{part}->isPart ? 'p ' : '  ';
-    $out->print($inpart, join $inpart, @lines);
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub printMatchedBody($$)
-{   my ($self, $out, $match) = @_;
-    my $message = $match->{message};
-    my $msgnr   = $message->seqnr;
-    my $folder  = $message->folder->name;
-    my $lp      = $self->{MBSG_last_printed} || '';
-
-    unless($lp eq "$folder $msgnr")  # match in new message
-    {   my $subject = $message->subject;
-        $out->print("$folder, message $msgnr: $subject\n");
-        $self->{MBSG_last_printed} = "$folder $msgnr";
-    }
-
-    my $inpart  = $match->{part}->isPart ? 'p ' : '  ';
-    $out->print(sprintf "$inpart %2d: %s", $match->{linenr}, $match->{line});
-    $self;
-}
-
-#-------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search/Grep.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Search/Grep.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search/Grep.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Search/Grep.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search/Grep.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,377 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Search::Grep - select messages within a mail box like grep does
-
-
-=head1 INHERITANCE
-
- Mail::Box::Search::Grep
-   is a Mail::Box::Search
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- use Mail::Box::Manager;
- my $mgr    = Mail::Box::Manager->new;
- my $folder = $mgr->open('Inbox');
-
- my $filter = Mail::Box::Search::Grep->new
-    ( label => 'selected'
-    , in => 'BODY', match => qr/abc?d*e/
-    );
-
- my @msgs   = $filter->search($folder);
-
- my $filter = Mail::Box::Search::Grep->new
-   ( field => 'To'
-   , match => $my_email
-   );
-
- if($filter->search($message)) {...}
-
-
-=head1 DESCRIPTION
-
-Try to find some text strings in the header and footer of messages.  Various
-ways to limit the search to certain header fields, the whole header, only
-the body, the whole message, but even binary multiparts, are provided for.
-
-The name I<grep> is derived from the UNIX tool I<grep>, which means: "Get
-Regular Expression and Print".  Although you can search using regular
-expressions (the Perl way of them), you do not have to print those as
-result.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::Search::Grep-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-Create a UNIX-grep like search filter.
-
- Option      Defined in       Default                         
- binaries    L<Mail::Box::Search>  <false>                         
- decode      L<Mail::Box::Search>  <true>                          
- delayed     L<Mail::Box::Search>  <true>                          
- deleted     L<Mail::Box::Search>  <false>                         
- deliver                      undef                           
- field                        undef                           
- in          L<Mail::Box::Search>  <$field ? C<'HEAD'> : C<'BODY'>>
- label       L<Mail::Box::Search>  undef                           
- limit       L<Mail::Box::Search>  C<0>                            
- log         L<Mail::Reporter>  C<'WARNINGS'>                   
- logical     L<Mail::Box::Search>  C<'REPLACE'>                    
- match                        <required>                      
- multiparts  L<Mail::Box::Search>  <true>                          
- trace       L<Mail::Reporter>  C<'WARNINGS'>                   
-
-. binaries BOOLEAN
-
-. decode BOOLEAN
-
-. delayed BOOLEAN
-
-. deleted BOOLEAN
-
-. deliver undef|CODE|'DELETE'|LABEL|'PRINT'|REF-ARRAY
-
-=over 4
-
-Store the details about where the match was found.  The search may take
-much longer when this feature is enabled.
-
-When an ARRAY is specified it will contain a list of references to hashes.
-Each hash contains the information of one match.  A match in a header
-line will result in a line with fields C<message>, C<part>, and C<field>, where
-the field is a L<Mail::Message::Field|Mail::Message::Field> object.  When the match is in
-the body the hash will contain a C<message>, C<part>, C<linenr>, and C<line>.
-
-In case of a CODE reference, that routine is called for each match. The
-first argument is this search object and the second a reference to same
-hash as would be stored in the array.
-
-The C<PRINT> will call L<printMatchedHead()|Mail::Box::Search::Grep/"The Results"> or L<printMatchedBody()|Mail::Box::Search::Grep/"The Results"> when
-any matching header resp body line was found.  The output is minimized
-by not reprinting the message info on multiple matches in the same
-message.
-
-C<DELETE> will flag
-the message to be deleted in case of a match.  When a multipart's part
-is matched, the whole message will be flagged for deletion.
-
-=back
-
-. field undef|STRING|REGEX|CODE
-
-=over 4
-
-Not valid in combination with C<in> set to C<BODY>.
-The STRING is one full field name (case-insensitive).  Use a REGEX
-to select more than one header line to be scanned. CODE is a routine which
-is called for each field in the header.   The CODE is called with the header
-as first, and the field as second argument.  If the CODE returns true, the
-message is selected.
-
-=back
-
-. in 'HEAD'|'BODY'|'MESSAGE'
-
-. label STRING
-
-. limit NUMBER
-
-. log LEVEL
-
-. logical 'REPLACE'|'AND'|'OR'|'NOT'|'AND NOT'|'OR NOT'
-
-. match STRING|REGEX|CODE
-
-=over 4
-
-The pattern to be search for can be a REGular EXpression, or a STRING.  In
-both cases, the match succeeds if it is found anywhere within the selected
-fields.
-
-With a CODE reference, that function will be called each field or body-line.
-When the result is true, the details are delivered.  The call formats are
-
- $code->($head, $field);          # for HEAD searches
- $code->($body, $linenr, $line);  # for BODY searches
-
-The C<$head> resp C<$body> are one message's head resp. body object.  The
-C<$field> is a header line which matches.  The C<$line> and C<$linenr>
-tell the matching line in the body.
-
-Be warned that when you search in C<MESSAGE> the code must accept
-both formats.
-
-=back
-
-. multiparts BOOLEAN
-
-. trace LEVEL
-
-=back
-
-=head2 Searching
-
-
-$obj-E<gt>B<inBody>(PART, BODY)
-
-=over 4
-
-See L<Mail::Box::Search/"Searching">
-
-=back
-
-$obj-E<gt>B<inHead>(PART, HEAD)
-
-=over 4
-
-See L<Mail::Box::Search/"Searching">
-
-=back
-
-$obj-E<gt>B<search>(FOLDER|THREAD|MESSAGE|ARRAY-OF-MESSAGES)
-
-=over 4
-
-See L<Mail::Box::Search/"Searching">
-
-=back
-
-$obj-E<gt>B<searchPart>(PART)
-
-=over 4
-
-See L<Mail::Box::Search/"Searching">
-
-=back
-
-=head2 The Results
-
-
-$obj-E<gt>B<printMatch>([FILEHANDLE], HASH)
-
-=over 4
-
-See L<Mail::Box::Search/"The Results">
-
-=back
-
-$obj-E<gt>B<printMatchedBody>(FILEHANDLE, MATCH)
-
-=over 4
-
-=back
-
-$obj-E<gt>B<printMatchedHead>(FILEHANDLE, MATCH)
-
-=over 4
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Search::Grep-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Search::Grep-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Search::Grep-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search/Grep.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Search/Grep.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search/SpamAssassin.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Search/SpamAssassin.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search/SpamAssassin.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,72 +0,0 @@
-
-package Mail::Box::Search::SpamAssassin;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::Search';
-
-use strict;
-use warnings;
-
-use Mail::SpamAssassin;
-use Mail::Message::Wrapper::SpamAssassin;
-
-#-------------------------------------------
-
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    $args->{in}  ||= 'MESSAGE';
-    $args->{label} = 'spam' unless exists $args->{label};
-
-    $self->SUPER::init($args);
-
-    $self->{MBSS_rewrite_mail}
-       = defined $args->{rewrite_mail} ? $args->{rewrite_mail} : 1;
-
-    $self->{MBSS_sa}
-       = defined $args->{spamassassin} ? $args->{spamassassin}
-       : Mail::SpamAssassin->new($args->{sa_options} || {});
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub assassinator() { shift->{MBSS_sa} }
-
-#-------------------------------------------
-
-sub searchPart($)
-{   my ($self, $message) = @_;
-
-    my @details = (message => $message);
-   
-    my $sa      = Mail::Message::Wrapper::SpamAssassin->new($message)
-        or return;
-
-    my $status  = $self->assassinator->check($sa);
-
-    my $is_spam = $status->is_spam;
-    $status->rewrite_mail if $self->{MBSS_rewrite_mail};
-
-    if($is_spam)
-    {   my $deliver = $self->{MBS_deliver};
-        $deliver->( {@details, status => $status} ) if defined $deliver;
-    }
-
-    $is_spam;
-}
-
-#-------------------------------------------
-
-sub inHead(@) {shift->notImplemented}
-
-#-------------------------------------------
-
-sub inBody(@) {shift->notImplemented}
-
-#-------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search/SpamAssassin.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Search/SpamAssassin.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search/SpamAssassin.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Search/SpamAssassin.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search/SpamAssassin.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,365 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Search::SpamAssassin - select spam messages with Mail::SpamAssassin
-
-
-=head1 INHERITANCE
-
- Mail::Box::Search::SpamAssassin
-   is a Mail::Box::Search
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- use Mail::Box::Manager;
- my $mgr    = Mail::Box::Manager->new;
- my $folder = $mgr->open('Inbox');
-
- my $spam = Mail::Box::Search::SpamAssassin->new;
- if($spam->search($message)) {...}
-
- my @msgs   = $filter->search($folder);
- foreach my $msg ($folder->messages)
- {   $msg->delete if $msg->label('spam');
- }
-
- my $spam2 = Mail::Box::Search::SpamAssassin
-               ->new(deliver => 'DELETE');
- $spam2->search($folder);
- $mgr->moveMessages($spamfolder, $folder->messages('spam'));
-
-
-=head1 DESCRIPTION
-
-I<Spam> means "unsollicited e-mail", and is as name derived from a
-Monty Python scatch.  Although Monty Python is fun, spam is a pain:
-it needlessly spoils minutes of time from most people: telephone
-bills, overful mailboxes which block honest e-mail, and accidentally
-removal of honest e-mail which looks like spam.  Spam is the pest
-of Internet.
-
-Happily, Mail::Box can be used as spam filter, in combination with
-the useful Mail::SpamAssassin module (which must be installed separately).
-Each message which is searched is wrapped in a
-L<Mail::Message::Wrapper::SpamAssassin|Mail::Message::Wrapper::SpamAssassin> object.
-
-The spam-assassin module version 2 is not really well adapted for
-L<Mail::Message|Mail::Message> objects, which will make this search even slower than
-spam-detection already is.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::Search::SpamAssassin-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-Create a spam filter.  Internally, a Mail::SpamAssassin object is
-maintained.
-
-Only the whole message can be searched; this is a limitation of
-the Mail::SpamAssassin module.
-
- Option         Defined in       Default      
- binaries       L<Mail::Box::Search>  <false>      
- decode         L<Mail::Box::Search>  <true>       
- delayed        L<Mail::Box::Search>  <true>       
- deleted        L<Mail::Box::Search>  <false>      
- deliver        L<Mail::Box::Search>  undef        
- in             L<Mail::Box::Search>  C<'MESSAGE'> 
- label                           c<'spam'>    
- limit          L<Mail::Box::Search>  C<0>         
- log            L<Mail::Reporter>  C<'WARNINGS'>
- logical        L<Mail::Box::Search>  C<'REPLACE'> 
- multiparts     L<Mail::Box::Search>  <true>       
- rewrite_mail                    <true>       
- sa_options                      C<{ }>       
- spam_assassin                   undef        
- trace          L<Mail::Reporter>  C<'WARNINGS'>
-
-. binaries BOOLEAN
-
-. decode BOOLEAN
-
-. delayed BOOLEAN
-
-. deleted BOOLEAN
-
-. deliver undef|CODE|'DELETE'
-
-. in 'HEAD'|'BODY'|'MESSAGE'
-
-. label STRING|undef
-
-=over 4
-
-Mark all selected message with the specified STRING.  If this
-option is explicitly set to C<undef>, the label will not be set.
-
-=back
-
-. limit NUMBER
-
-. log LEVEL
-
-. logical 'REPLACE'|'AND'|'OR'|'NOT'|'AND NOT'|'OR NOT'
-
-. multiparts BOOLEAN
-
-. rewrite_mail BOOLEAN
-
-=over 4
-
-Add lines to the message header describing the results of the spam
-scan. See Mail::SpamAssassin::PerMsgStatus subroutine rewrite_mail.
-
-=back
-
-. sa_options HASH
-
-=over 4
-
-Options to create the internal Mail::SpamAssassin object; see its
-manual page for the available options.  Other setting may be provided
-via SpamAssassins configuration file mechanism, which is explained in
-L<Mail::SpamAssassin::Conf>.
-
-=back
-
-. spam_assassin OBJECT
-
-=over 4
-
-Provide a Mail::SpamAssassin object to be used for searching spam.  If
-none is specified, one is created internally.  The object can be
-retreived with assassinator().
-
-=back
-
-. trace LEVEL
-
-I<Example:> 
-
- my $filter = Mail::Box::Search::SpamAssassin
-               ->new( found => 'DELETE' );
-
-=back
-
-=head2 Searching
-
-
-$obj-E<gt>B<assassinator>
-
-=over 4
-
-Returns the internally maintained assassinator object.  You may want
-to reach this object for complex configuration.
-
-=back
-
-$obj-E<gt>B<inBody>(PART, BODY)
-
-=over 4
-
-See L<Mail::Box::Search/"Searching">
-
-=back
-
-$obj-E<gt>B<inHead>(PART, HEAD)
-
-=over 4
-
-See L<Mail::Box::Search/"Searching">
-
-=back
-
-$obj-E<gt>B<search>(FOLDER|THREAD|MESSAGE|ARRAY-OF-MESSAGES)
-
-=over 4
-
-See L<Mail::Box::Search/"Searching">
-
-=back
-
-$obj-E<gt>B<searchPart>(PART)
-
-=over 4
-
-See L<Mail::Box::Search/"Searching">
-
-=back
-
-=head2 The Results
-
-
-$obj-E<gt>B<printMatch>([FILEHANDLE], HASH)
-
-=over 4
-
-See L<Mail::Box::Search/"The Results">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Search::SpamAssassin-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Search::SpamAssassin-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Search::SpamAssassin-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search/SpamAssassin.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Search/SpamAssassin.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Search.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,174 +0,0 @@
-
-package Mail::Box::Search;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Reporter';
-
-use strict;
-use warnings;
-
-use Carp;
-
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    $self->SUPER::init($args);
-
-    my $in = $args->{in} || 'BODY';
-    @$self{ qw/MBS_check_head MBS_check_body/ }
-      = $in eq 'BODY'    ? (0,1)
-      : $in eq 'HEAD'    ? (1,0)
-      : $in eq 'MESSAGE' ? (1,1)
-      : ($self->log(ERROR => "Search in BODY, HEAD or MESSAGE not $in."), return);
-
-    $self->log(ERROR => "Cannot search in header."), return
-        if $self->{MBS_check_head} && !$self->can('inHead');
-
-    $self->log(ERROR => "Cannot search in body."), return
-        if $self->{MBS_check_body} && !$self->can('inBody');
-
-    my $deliver             = $args->{deliver};
-    $self->{MBS_deliver}
-      = ref $deliver eq 'CODE' ? sub { $deliver->($self, $_[0]) }
-      : !defined $deliver      ? undef
-      : $deliver eq 'DELETE'
-        ? sub {$_[0]->{part}->toplevel->label(deleted => 1)}
-      : $self->log(ERROR => "Don't know how to deliver results in $deliver.");
-
-    my $logic               = $args->{logical}  || 'REPLACE';
-    $self->{MBS_negative}   = $logic =~ s/\s*NOT\s*$//;
-    $self->{MBS_logical}    = $logic;
-
-    $self->{MBS_label}      = $args->{label};
-    $self->{MBS_binaries}   = $args->{binaries} || 0;
-    $self->{MBS_limit}      = $args->{limit}    || 0;
-    $self->{MBS_decode}     = $args->{decode}   || 1;
-    $self->{MBS_no_deleted} = not $args->{deleted};
-    $self->{MBS_delayed}    = defined $args->{delayed} ? $args->{delayed} : 1;
-    $self->{MBS_multiparts}
-       = defined $args->{multiparts} ? $args->{multiparts} : 1;
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub search(@)
-{   my ($self, $object) = @_;
-
-    my $label         = $self->{MBS_label};
-    my $limit         = $self->{MBS_limit};
-
-    my @messages
-      = ref $object eq 'ARRAY'        ? @$object
-      : $object->isa('Mail::Box')     ? $object->messages
-      : $object->isa('Mail::Message') ? ($object)
-      : $object->isa('Mail::Box::Thread::Node') ? $object->threadMessages
-      : croak "Expect messages to search, not $object.";
-
-    my $take = 0;
-    if($limit < 0)    { $take = -$limit; @messages = reverse @messages }
-    elsif($limit > 0) { $take = $limit }
-    elsif(!defined $label && !wantarray && !$self->{MBS_deliver}) {$take = 1 }
-
-    my $logic         = $self->{MBS_logical};
-    my @selected;
-    my $count = 0;
-
-    foreach my $message (@messages)
-    {   next if $self->{MBS_no_deleted} && $message->isDeleted;
-        next unless $self->{MBS_delayed} || !$message->isDelayed;
-
-        my $set = defined $label ? $message->label($label) : 0;
-
-        my $selected
-          =  $set && $logic eq 'OR'  ? 1
-          : !$set && $logic eq 'AND' ? 0
-          : $self->{MBS_negative}    ? ! $self->searchPart($message)
-          :                            $self->searchPart($message);
-
-        $message->label($label => $selected) if defined $label;
-        if($selected)
-        {   push @selected, $message;
-            $count++;
-            last if $take && $count == $take;
-        }
-    }
-
-    $limit < 0 ? reverse @selected : @selected;
-}
-
-
-#-------------------------------------------
-
-
-sub searchPart($)
-{  my ($self, $part) = @_;
-
-   my $matched = 0;
-   $matched  = $self->inHead($part, $part->head)
-      if $self->{MBS_check_head};
-
-   return $matched unless $self->{MBS_check_body};
-   return $matched if $matched && !$self->{MBS_deliver};
-
-   my $body  = $part->body;
-   my @bodies;
-
-   # Handle multipart parts.
-
-   if($body->isMultipart)
-   {   return $matched unless $self->{MBS_multiparts};
-       my $no_delayed = not $self->{MBS_delayed};
-       @bodies = ($body->preamble, $body->epilogue);
-
-       foreach my $piece ($body->parts)
-       {   next unless defined $piece;
-           next if $no_delayed && $piece->isDelayed;
-
-           $matched += $self->searchPart($piece);
-           return $matched if $matched && !$self->{MBS_deliver};
-       }
-   }
-   elsif($body->isNested)
-   {   return $matched unless $self->{MBS_multiparts};
-       $matched += $self->searchPart($body->nested);
-   }
-   else
-   {   @bodies = ($body);
-   }
-
-   # Handle normal bodies.
-
-   foreach (@bodies)
-   {   next unless defined $_;
-       next if !$self->{MBS_binaries} && $_->isBinary;
-       my $body   = $self->{MBS_decode} ? $_->decoded : $_;
-       my $inbody = $self->inBody($part, $body);
-       $matched  += $inbody;
-   }
-
-   $matched;
-}
-
-#-------------------------------------------
-
-
-sub inHead(@) {shift->notImplemented}
-
-#-------------------------------------------
-
-
-sub inBody(@) {shift->notImplemented}
-
-#-------------------------------------------
-
-
-sub printMatch($) {shift->notImplemented}
-
-#-------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Search.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Search.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,447 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Search - select messages within a mail box
-
-
-=head1 INHERITANCE
-
- Mail::Box::Search
-   is a Mail::Reporter
-
- Mail::Box::Search is extended by
-   Mail::Box::Search::Grep
-   Mail::Box::Search::SpamAssassin
-   Mail::Server::IMAP4::Search
-
-
-=head1 SYNOPSIS
-
- use Mail::Box::Manager;
- my $mgr    = Mail::Box::Manager->new;
- my $folder = $mgr->open('Inbox');
-
- my $filter = Mail::Box::Search::[something]->new;
- my @msgs   = $filter->search($folder, ...);
- if($filter->search($message)) {...}
-
-
-=head1 DESCRIPTION
-
-This C<Mail::Box::Search> class is the base class for various message scan
-algorithms.  The selected messages can be labeled.  Boolean operations on
-messages are supported.
-
-Currently implemented searches:
-
-=over 4
-
-=item L<Mail::Box::Search::Grep|Mail::Box::Search::Grep>
-
-Match header or body against a regular expression in a UNIX C<grep> like
-fashion.
-
-=item L<Mail::Box::Search::SpamAssassin|Mail::Box::Search::SpamAssassin>
-
-Try to detect spam, using Mail::SpamAssassin.
-
-=item Mail::Box::Search::IMAP
-
-Search an IMAP folder for special interface IMAP folders provide for it.
-UNDER CONSTRUCTION till L<Mail::Transport::IMAP4|Mail::Transport::IMAP4> is complete.
-
-=back
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::Search-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-Create a filter.
-
- Option      Defined in       Default      
- binaries                     <false>      
- decode                       <true>       
- delayed                      <true>       
- deleted                      <false>      
- deliver                      undef        
- in                           C<'BODY'>    
- label                        undef        
- limit                        C<0>         
- log         L<Mail::Reporter>  C<'WARNINGS'>
- logical                      C<'REPLACE'> 
- multiparts                   <true>       
- trace       L<Mail::Reporter>  C<'WARNINGS'>
-
-. binaries BOOLEAN
-
-=over 4
-
-Whether to include binary bodies in the search.
-
-=back
-
-. decode BOOLEAN
-
-=over 4
-
-Decode the messages before the search takes place.  Even plain text messages
-can be encoded, for instance as C<quoted-printable>, which may disturb the
-results.  However, decoding will slow-down the search.
-
-=back
-
-. delayed BOOLEAN
-
-=over 4
-
-Include the delayed messages (which will be parsed) in the search.  If you
-set this to false, you may find fewer hits.
-
-=back
-
-. deleted BOOLEAN
-
-=over 4
-
-In most cases, you will not be interested in results which are
-found in messages flagged to be deleted.  However, with this option
-you can specify you want them to be searched too.
-
-=back
-
-. deliver undef|CODE|'DELETE'
-
-=over 4
-
-The exact functionality of this parameter differs per search method, so
-read the applicable man-page.  In any case C<undef> means that details
-are not collected for this search, which is the fastest search.
-
-C<DELETE> will flag the message to be flagged for deletion.
-You may also specify your own CODE reference.  With an reference
-to an array, the information about the matches is collected as a list
-of hashes, one hash per match.
-
-=back
-
-. in 'HEAD'|'BODY'|'MESSAGE'
-
-=over 4
-
-Where to look for the match.
-
-=back
-
-. label STRING
-
-=over 4
-
-Mark all selected messages with the specified STRING.  If this field is
-not specified, the message will not get a label; search() also returns
-a list of selected messages.
-
-=back
-
-. limit NUMBER
-
-=over 4
-
-Limit the search to the specified NUMBER of messages.  When the NUMBER
-is positive, the search starts at the first message in the folder or
-thread.  A negative NUMBER starts at the end of the folder.  If the limit
-is set to zero, there is no limit.
-
-=back
-
-. log LEVEL
-
-. logical 'REPLACE'|'AND'|'OR'|'NOT'|'AND NOT'|'OR NOT'
-
-=over 4
-
-Only applicable in combination with a C<label>.
-How to handle the existing labels.  In case of C<REPLACE>, messages
-which already are carrying the label are stripped from their
-selection (unless they match again).  With C<AND>, the message must
-be selected by this search and already carry the label, otherwise the
-label will not be set.  Specify C<OR> to have newly selected messages
-added to the set of already selected messages.
-
-C<NOT> is true for messages which do not fulfil the search.  The
-details output will still contain the places where the match was
-found, however those messages will complementary set of messages will
-be labeled and returned.
-
-=back
-
-. multiparts BOOLEAN
-
-=over 4
-
-Are multiparts to be included in the search results?  Some MUA have
-problems handling details received from the search.  When this flag
-is turned off, the body of multiparts will be ignored.  The parts
-search will include the preamble and epilogue.
-
-=back
-
-. trace LEVEL
-
-=back
-
-=head2 Searching
-
-
-$obj-E<gt>B<inBody>(PART, BODY)
-
-=over 4
-
-Tests whether body contains the requesting information.  See the
-specific search module for its parameters.
-
-=back
-
-$obj-E<gt>B<inHead>(PART, HEAD)
-
-=over 4
-
-Tests whether header contains the requesting information.  See the
-specific search module for its parameters.
-
-=back
-
-$obj-E<gt>B<search>(FOLDER|THREAD|MESSAGE|ARRAY-OF-MESSAGES)
-
-=over 4
-
-Check which messages from the FOLDER (Mail::Box) match the
-search parameters.  The matched messages are returned as list.  You
-can also specify a THREAD (a L<Mail::Box::Thread::Node|Mail::Box::Thread::Node>), one single
-MESSAGE (a L<Mail::Message|Mail::Message>), or an array of messages.
-
-Sometimes we know how only one match is needed.  In this case, this
-searching will stop at the first match.  For instance, when C<limit> is C<-1>
-or C<1>, or when the search in done in scalar context.
-
-I<Example:> 
-
- my $grep = Mail::Box::Search::Grep->new
-  ( match   => 'My Name Is Nobody'
-  , deliver => 'PRINT'
-  );
-
- $grep->search($folder);
-
- my $message = $folder->message(3);
- $grep->search($message);
-
- my $thread  = $message->threadStart;
- $grep->search($thread);
-
-=back
-
-$obj-E<gt>B<searchPart>(PART)
-
-=over 4
-
-Search this message PART for matches.
-
-=back
-
-=head2 The Results
-
-
-$obj-E<gt>B<printMatch>([FILEHANDLE], HASH)
-
-=over 4
-
-Print the information about the match (see L<new(deliver)|Mail::Box::Search/"METHODS">) in
-some understandable way.  If no file handle
-is specified, the output will go to the selected filehandle (see
-C<perldoc -f select>).
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Search-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Search-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Search-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot search in body.
-
-Th search object does not implement L<inBody()|Mail::Box::Search/"Searching">, and can therefore
-not search a message body.
-
-I<Error:> Cannot search in header.
-
-Th search object does not implement L<inHead()|Mail::Box::Search/"Searching">, and can therefore
-not search a message header.
-
-I<Error:> Don't know how to deliver via results in $way.
-
-The search results cannot be delivered in the specific way, because that is
-not a defined alternative.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Search in BODY, HEAD or MESSAGE not $in.
-
-The C<in> option defines only three names.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Search.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Search.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Thread/Manager.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Thread/Manager.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Thread/Manager.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,367 +0,0 @@
-
-use strict;
-package Mail::Box::Thread::Manager;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Reporter';
-
-use Carp;
-use Mail::Box::Thread::Node;
-use Mail::Message::Dummy;
-
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    $self->{MBTM_manager} = $args->{manager}
-        or croak "Need a manager to work with.";
-
-    $self->{MBTM_thread_body}= $args->{thread_body}|| 0;
-    $self->{MBTM_thread_type}= $args->{thread_type}||'Mail::Box::Thread::Node';
-    $self->{MBTM_dummy_type} = $args->{dummy_type} ||'Mail::Message::Dummy';
-
-    for($args->{timespan} || '3 days')
-    {    $self->{MBTM_timespan} = $_ eq 'EVER' ? 'EVER'
-                               : Mail::Box->timespan2seconds($_);
-    }
-
-    for($args->{window} || 10)
-    {   $self->{MBTM_window} = $_ eq 'ALL'  ? 'ALL' : $_;
-    }
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub folders() { values %{shift->{MBTM_folders}} }
-
-#-------------------------------------------
-
-
-sub includeFolder(@)
-{   my $self = shift;
-
-    foreach my $folder (@_)
-    {   croak "Not a folder: $folder"
-            unless ref $folder && $folder->isa('Mail::Box');
-
-        my $name = $folder->name;
-        next if exists $self->{MBTM_folders}{$name};
-
-        $self->{MBTM_folders}{$name} = $folder;
-        foreach my $msg ($folder->messages)
-        {   $self->inThread($msg) unless $msg->head->isDelayed;
-        }
-    }
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub removeFolder(@)
-{   my $self = shift;
-
-    foreach my $folder (@_)
-    {   croak "Not a folder: $folder"
-            unless ref $folder && $folder->isa('Mail::Box');
-
-        my $name = $folder->name;
-        next unless exists $self->{MBTM_folders}{$name};
-
-        delete $self->{MBTM_folders}{$name};
-
-        $_->headIsRead && $self->outThread($_)
-            foreach $folder->messages;
-
-        $self->{MBTM_cleanup_needed} = 1;
-    }
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub thread($)
-{   my ($self, $message) = @_;
-    my $msgid     = $message->messageId;
-    my $timestamp = $message->timestamp;
-
-    $self->_process_delayed_nodes;
-    my $thread    = $self->{MBTM_ids}{$msgid} || return;
-
-    my @missing;
-    $thread->recurse
-       ( sub { my $node = shift;
-               push @missing, $node->messageId if $node->isDummy;
-               1;
-             }
-       );
-
-    return $thread unless @missing;
-
-    foreach my $folder ($self->folders)
-    {
-        # Pull-in all messages received after this-one, from any folder.
-        my @now_missing = $folder->scanForMessages
-          ( $msgid
-          , [ @missing ]
-          , $timestamp - 3600 # some clocks are wrong.
-          , 0
-          );
-
-        if(@now_missing != @missing)
-        {   $self->_process_delayed_nodes;
-            last unless @now_missing;
-            @missing = @now_missing;
-        }
-    }
-
-    $thread;
-}
-
-#-------------------------------------------
-
-
-sub threadStart($)
-{   my ($self, $message) = @_;
-
-    my $thread = $self->thread($message) || return;
-
-    while(my $parent = $thread->repliedTo)
-    {   unless($parent->isDummy)
-        {   # Message already found no special action to be taken.
-            $thread = $parent;
-            next;
-        }
-
-        foreach ($self->folders)
-        {   last unless $_->scanForMessages
-              ( $thread->messageId
-              , $parent->messageId
-              , $thread->message->timestamp - $self->{MBTM_timespan}
-              , $self->{MBTM_window}
-              );
-        }
-
-        $self->_process_delayed_nodes;
-        $thread = $parent;
-    }
-
-    $thread;
-}
-
-#-------------------------------------------
-
-
-sub all()
-{   my $self = shift;
-    $_->find('not-existing') for $self->folders;
-    $self->known;
-}
-
-#-------------------------------------------
-
-
-sub sortedAll(@)
-{   my $self = shift;
-    $_->find('not-existing') for $self->folders;
-    $self->sortedKnown(@_);
-}
-
-#-------------------------------------------
-
-
-sub known()
-{   my $self      = shift->_process_delayed_nodes->_cleanup;
-    grep {!defined $_->repliedTo} values %{$self->{MBTM_ids}};
-}
-
-#-------------------------------------------
-
-
-sub sortedKnown(;$$)
-{   my $self    = shift;
-    my $prepare = shift || sub {shift->startTimeEstimate||0};
-    my $compare = shift || sub {(shift) <=> (shift)};
- 
-    # Special care for double keys.
-    my %value;
-    push @{$value{$prepare->($_)}}, $_  foreach $self->known; 
-    map { @{$value{$_}} } sort {$compare->($a, $b)} keys %value;
-}
-
-# When a whole folder is removed, many threads can become existing
-# only of dummies.  They must be removed.
-
-sub _cleanup()
-{   my $self = shift;
-    return $self unless $self->{MBTM_cleanup_needed};
-
-    foreach ($self->known)
-    {   my $real = 0;
-        $_->recurse
-          ( sub { my $node = shift;
-                  foreach ($node->messages)
-                  {   next if $_->isDummy;
-                      $real = 1;
-                      return 0;
-                  }
-                  1;
-                }
-          );
-
-        next if $real;
-
-        $_->recurse
-          ( sub { my $node  = shift;
-                  my $msgid = $node->messageId;
-                  delete $self->{MBTM_ids}{$msgid};
-                  1;
-                }
-          );
-    }
-
-    delete $self->{MBTM_cleanup_needed};
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub toBeThreaded($@)
-{   my ($self, $folder) = (shift, shift);
-    return $self unless exists $self->{MBTM_folders}{$folder->name};
-    $self->inThread($_) foreach @_;
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub toBeUnthreaded($@)
-{   my ($self, $folder) = (shift, shift);
-    return $self unless exists $self->{MBTM_folders}{$folder->name};
-    $self->outThread($_) foreach @_;
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub inThread($)
-{   my ($self, $message) = @_;
-    my $msgid = $message->messageId;
-    my $node  = $self->{MBTM_ids}{$msgid};
-
-    # Already known, but might reside in many folders.
-    if($node) { $node->addMessage($message) }
-    else
-    {   $node = Mail::Box::Thread::Node->new(message => $message
-           , msgid => $msgid, dummy_type => $self->{MBTM_dummy_type}
-           );
-        $self->{MBTM_ids}{$msgid} = $node;
-    }
-
-    $self->{MBTM_delayed}{$msgid} = $node; # removes doubles.
-}
-
-# The relation between nodes is delayed, to avoid that first
-# dummy nodes have to be made, and then immediately upgrades
-# to real nodes.  So: at first we inventory what we have, and
-# then build thread-lists.
-
-sub _process_delayed_nodes()
-{   my $self    = shift;
-    return $self unless $self->{MBTM_delayed};
-
-    foreach my $node (values %{$self->{MBTM_delayed}})
-    {   $self->_process_delayed_message($node, $_)
-            foreach $node->message;
-    }
-
-    delete $self->{MBTM_delayed};
-    $self;
-}
-
-sub _process_delayed_message($$)
-{   my ($self, $node, $message) = @_;
-    my $msgid = $message->messageId;
-    my $head  = $message->head;  # will force parsing of head when not
-                         # done yet.
-
-    my $replies;
-    if(my $irt  = $head->get('in-reply-to'))
-    {   for($irt =~ m/\<([^>]*)\>/)
-        {   my $msgid = $1;
-            $msgid    =~ s/\s+//g;
-            $replies  = $self->{MBTM_ids}{$msgid} || $self->createDummy($msgid);
-        }
-    }
-
-    my @refs;
-    if(my $refs = $head->get('references'))
-    {   while($refs =~ s/\<([^>]*)\>//s)
-        {   my $msgid = $1;
-            $msgid    =~ s/\s//gs;
-            push @refs, $self->{MBTM_ids}{$msgid} || $self->createDummy($msgid);
-        }
-    }
-
-    # Handle the `In-Reply-To' message header.
-    # This is the most secure relationship.
-
-    if($replies)
-    {   $node->follows($replies, 'REPLY')
-        and $replies->followedBy($node);
-    }
-
-    # Handle the `References' message header.
-    # The (ordered) list of message-IDs give an impression where this
-    # message resides in the thread.  There is a little less certainty
-    # that the list is correctly ordered and correctly maintained.
-
-    if(@refs)
-    {   push @refs, $node unless $refs[-1] eq $node;
-        my $from = shift @refs;
-
-        while(my $to = shift @refs)
-        {   $to->follows($from, 'REFERENCE')
-            and $from->followedBy($to);
-            $from = $to;
-        }
-    }
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub outThread($)
-{   my ($self, $message) = @_;
-    my $msgid = $message->messageId;
-    my $node  = $self->{MBTM_ids}{$msgid} or return $message;
-
-    $node->{MBTM_messages}
-        = [ grep {$_ ne $message} @{$node->{MBTM_messages}} ];
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub createDummy($)
-{   my ($self, $msgid) = @_;
-    $self->{MBTM_ids}{$msgid} = $self->{MBTM_thread_type}->new
-            (msgid => $msgid, dummy_type => $self->{MBTM_dummy_type});
-}
-
-#-------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Thread/Manager.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Thread/Manager.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Thread/Manager.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Thread/Manager.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Thread/Manager.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,579 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Thread::Manager - maintain threads within a set of folders
-
-
-=head1 INHERITANCE
-
- Mail::Box::Thread::Manager
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my $mgr     = Mail::Box::Thread::Manager->new;
- my $folder  = $mgr->open(folder => '/tmp/inbox');
- my $threads = $mgr->threads(folder => $folder);
- my $threads = $mgr->threads($folder);   # same
-
- foreach my $thread ($threads->all) {
-     $thread->print;
- }
-
- $threads->includeFolder($folder);
- $threads->removeFolder($folder);
-
-
-=head1 DESCRIPTION
-
-A (message-)I<thread> is a message with links to messages which followed in
-reply of that message.  And then the messages with replied to the messages,
-which replied the original message.  And so on.  Some threads are only
-one message long (never replied to), some threads are very long.
-
-The C<Mail::Box::Thread::Manager> is very powerful.  Not only is it able to
-do a descent job on MH-like folders (makes a trade-off between perfection
-and speed), it also can maintain threads from messages residing in different
-opened folders.  Both facilities are rare for mail-agents.  The manager
-creates flexible trees with L<Mail::Box::Thread::Node|Mail::Box::Thread::Node> objects.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::Thread::Manager-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-A C<Mail::Box::Thread::Manager> object is usually created by a
-L<Mail::Box::Manager|Mail::Box::Manager>.  One manager can produce more than one of these
-objects.  One thread manager can combine messages from a set of folders,
-which may be partially overlapping with other objects of the same type.
-
- Option       Defined in       Default                                           
- dummy_type                    L<Mail::Message::Dummy|Mail::Message::Dummy>      
- folder                        C<[ ]>                                            
- folders                       C<[ ]>                                            
- log          L<Mail::Reporter>  C<'WARNINGS'>                                     
- thread_body                   <false>                                           
- thread_type                   L<Mail::Box::Thread::Node|Mail::Box::Thread::Node>
- timespan                      C<'3 days'>                                       
- trace        L<Mail::Reporter>  C<'WARNINGS'>                                     
- window                        C<10>                                             
-
-. dummy_type CLASS
-
-=over 4
-
-The type of dummy messages.  Dummy messages are used to fill holes in
-detected threads: referred to by messages found in the folder, but itself
-not in the folder. 
-
-=back
-
-. folder FOLDER | REF-ARRAY-FOLDERS
-
-=over 4
-
-Specifies which folders are to be covered by the threads.  You can
-specify one or more open folders.  When you close a folder, the
-manager will automatically remove the messages of that folder from
-your threads.
-
-=back
-
-. folders FOLDER | REF-ARRAY-FOLDERS
-
-=over 4
-
-Equivalent to the C<folder> option.
-
-=back
-
-. log LEVEL
-
-. thread_body BOOLEAN
-
-=over 4
-
-May thread-detection be based on the content of a message?  This has
-a serious performance implication when there are many messages without
-C<In-Reply-To> and C<References> headers in the folder, because it
-will cause many messages to be parsed. NOT IMPLEMENTED YET.
-
-=back
-
-. thread_type CLASS
-
-=over 4
-
-Type of the thread nodes.
-
-=back
-
-. timespan TIME | 'EVER'
-
-=over 4
-
-Specify how fast threads usually work: the amount of time between an
-answer and a reply.  This is used in combination with the C<window>
-option to determine when to give-up filling the holes in threads.
-
-See Mail::Box::timespan2seconds() for the possibilities for TIME.
-With 'EVER', the search for messages in a thread
-will only be limited by the window-size.
-
-=back
-
-. trace LEVEL
-
-. window INTEGER|'ALL'
-
-=over 4
-
-The thread-window describes how many messages should be checked at
-maximum to fill `holes' in threads for folder which use delay-loading
-of message headers.
-
-The constant 'ALL' will cause thread-detection not to stop trying
-to fill holes, but continue looking until the first message of the folder
-is reached.  Gives the best quality results, but may perform bad.
-
-=back
-
-I<Example:> 
-
- use Mail::Box::Manager;
- my $mgr     = new Mail::Box::Manager;
- my $inbox   = $mgr->open(folder => $ENV{MAIL});
- my $read    = $mgr->open(folder => 'Mail/read');
- my $threads = $mgr->threads(folders => [$inbox, $read]);
-
- # longer alternative for last line:
- my $threads = $mgr->threads;
- $threads->includeFolder($inbox);
- $threads->includeFolder($read);
-
-=back
-
-=head2 Grouping Folders
-
-
-$obj-E<gt>B<folders>
-
-=over 4
-
-Returns the folders as managed by this threader.
-
-=back
-
-$obj-E<gt>B<includeFolder>(FOLDERS)
-
-=over 4
-
-Add one or more folders to the list of folders whose messages are
-organized in the threads maintained by this object.  Duplicated
-inclusions will not cause any problems.
-
-From the folders, the messages which have their header lines parsed
-(see L<Mail::Box|Mail::Box> about lazy extracting) will be immediately scanned.
-Messages of which the header is known only later will have to report this
-(see L<toBeThreaded()|Mail::Box::Thread::Manager/"Internals">).
-
-I<Example:> 
-
- $threads->includeFolder($inbox, $draft);
-
-=back
-
-$obj-E<gt>B<removeFolder>(FOLDERS)
-
-=over 4
-
-Remove one or more folders from the list of folders whose messages are
-organized in the threads maintained by this object.
-
-I<Example:> 
-
- $threads->removeFolder($draft);
-
-=back
-
-=head2 The Threads
-
-
-$obj-E<gt>B<all>
-
-=over 4
-
-Returns all messages which start a thread.  The list may contain dummy
-messages and messages which are scheduled for deletion.
-
-To be able to return all threads, thread construction on each
-message is performed first, which may be slow for some folder-types
-because is will enforce parsing of message-bodies.
-
-=back
-
-$obj-E<gt>B<known>
-
-=over 4
-
-Returns the list of all messages which are known to be the start of
-a thread.  Threads containing messages which where not read from their
-folder (like often happens MH-folder messages) are not yet known, and
-hence will not be returned.
-
-The list may contain dummy messages, and messages which are scheduled
-for deletion.  Threads are detected based on explicitly calling
-L<inThread()|Mail::Box::Thread::Manager/"Internals"> and L<thread()|Mail::Box::Thread::Manager/"The Threads"> with a messages from the folder.
-
-Be warned that, each time a message's header is read from the folder,
-the return of the method can change.
-
-=back
-
-$obj-E<gt>B<sortedAll>([PREPARE [COMPARE]])
-
-=over 4
-
-Returns L<all()|Mail::Box::Thread::Manager/"The Threads"> the threads by default, but sorted on timestamp.
-
-=back
-
-$obj-E<gt>B<sortedKnown>([PREPARE [,COMPARE]])
-
-=over 4
-
-Returns all L<known()|Mail::Box::Thread::Manager/"The Threads"> threads, in sorted order.  By default, the threads
-will be sorted on timestamp, But a different COMPARE method can be
-specified.
-
-=back
-
-$obj-E<gt>B<thread>(MESSAGE)
-
-=over 4
-
-Returns the thread where this MESSAGE is the start of.  However, there
-is a possibility that this message is a reply itself.
-
-Usually, all messages which are in reply of this message are dated later
-than the specified one.  All headers of messages later than this one are
-getting parsed first, for each folder in this threads-object.
-
-I<Example:> 
-
- my $threads = $mgr->threads(folder => $inbox);
- my $thread  = $threads->thread($inbox->message(3));
- print $thread->string;
-
-=back
-
-$obj-E<gt>B<threadStart>(MESSAGE)
-
-=over 4
-
-Based on a message, and facts from previously detected threads, try
-to build solid knowledge about the thread where this message is in.
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<createDummy>(MESSAGE-ID)
-
-=over 4
-
-Get a replacement message to be used in threads.  Be warned that a
-dummy is not a member of any folder, so the program working with
-threads must test with L<Mail::Message::isDummy()|Mail::Message/"The message"> before trying things only
-available to real messages.
-
-=back
-
-$obj-E<gt>B<inThread>(MESSAGE)
-
-=over 4
-
-Collect the thread-information of one message.  The `In-Reply-To' and
-`Reference' header-fields are processed.  If this method is called on
-a message whose header was not read yet (as usual for MH-folders,
-for instance) the reading of that header will be triggered here.
-
-=back
-
-$obj-E<gt>B<outThread>(MESSAGE)
-
-=over 4
-
-Remove the message from the thread-infrastructure.  A message is
-replaced by a dummy.
-
-=back
-
-$obj-E<gt>B<toBeThreaded>(FOLDER, MESSAGES)
-
-=over 4
-
-Include the specified messages in/from the threads managed by
-this object, if this folder is maintained by this thread-manager.
-
-=back
-
-$obj-E<gt>B<toBeUnthreaded>(FOLDER, MESSAGES)
-
-=over 4
-
-Remove the specified messages in/from the threads managed by
-this object, if this folder is maintained by this thread-manager.
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Thread::Manager-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Thread::Manager-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Thread::Manager-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-=head1 DETAILS
-
-This module implements thread-detection on a folder.  Messages created
-by the better mailers will include C<In-Reply-To> and C<References>
-lines, which are used to figure out how messages are related.  If you
-prefer a better thread detection, they are implementable, but there
-may be a serious performance hit (depends on the type of folder used).
-
-=head2 Maintaining threads
-
-A C<Mail::Box::Thread::Manager> object is created by the
-L<Mail::Box::Manager|Mail::Box::Manager>, using L<Mail::Box::Manager::threads()|Mail::Box::Manager/"Manage message threads">.
-Each object can monitor the thread-relations between messages in one
-or more folders.  When more than one folder is specified, the messages
-are merged while reading the threads, although nothing changes in the
-folder-structure.  Adding and removing folders which have to be maintained
-is permitted at any moment, although may be quite costly in performance.
-
-An example of the maintained structure is shown below.  The
-L<Mail::Box::Manager|Mail::Box::Manager> has two open folders, and a thread-builder which
-monitors them both.  The combined folders have two threads, the second
-is two long (msg3 is a reply on msg2).  Msg2 is in two folders at once.
-
-       manager
-        |    \
-        |     `----------- threads
-        |                  |     |
-        |                thread thread---thread
-        |                  |    /|        /
-        |                  |   //        /
-        +---- folder1      |  //        /
-        |       |         /  //        /
-        |       `-----msg1  //        /
-        |       `-----msg2-'/        /
-        |                  /        /
-        `-----folder2     /        /
-                |        /        /
-                `-----msg2       /
-                `-----msg3------'
-
-=head2 Delayed thread detection
-
-With L<all()|Mail::Box::Thread::Manager/"The Threads"> you get the start-messages of each thread of this folder.
-When that message was not found in the folder (not saved or already
-removed), you get a message of the dummy-type.  These thread descriptions
-are in perfect state: all messages of the folder are included somewhere,
-and each missing message of the threads (I<holes>) are filled by dummies.
-
-However, to be able to detect all threads it is required to have the
-headers of all messages, which is very slow for some types of folders,
-especially MH and IMAP folders.
-
-For interactive mail-readers, it is preferred to detect threads only
-on messages which are in the viewport of the user.  This may be sloppy
-in some situations, but everything is preferable over reading an MH
-mailbox with 10k e-mails to read only the see most recent messages.
-
-In this object, we take special care not to cause unnecessary parsing
-(loading) of messages.  Threads will only be detected on command, and
-by default only the message headers are used.
-
-The following reports the L<Mail::Box::Thread::Node|Mail::Box::Thread::Node> which is
-related to a message:
-
- my $thread = $message->thread;
-
-When the message was not put in a thread yet, it is done now.  But, more
-work is done to return the best thread.  Based on various parameters,
-which where specified when the folder was created, the method walks
-through the folder to fill the holes which are in this thread.
-
-Walking from back to front (recently arrived messages are usually in the back
-of the folder), message after message are triggered to be included in their
-thread.  At a certain moment, the whole thread of the requested method
-is found, a certain maximum number of messages was tried, but that
-didn't help (search window bound reached), or the messages within the
-folder are getting too old.  Then the search to complete the thread will
-end, although more messages of them might have been in the folder: we
-don't scan the whole folder for performance reasons.
-
-Finally, for each message where the head is known, for instance for
-all messages in mbox-folders, the correct thread is determined
-immediately.  Also, all messages where the head get loaded later, are
-automatically included.
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Thread/Manager.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Thread/Manager.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Thread/Node.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Thread/Node.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Thread/Node.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,338 +0,0 @@
-
-use strict;
-package Mail::Box::Thread::Node;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Reporter';
-
-use Carp;
-
-
-sub new(@)
-{   my ($class, %args) = @_;
-    (bless {}, $class)->init(\%args);
-}
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    if(my $message = $args->{message})
-    {   push @{$self->{MBTN_messages}}, $message;
-        $self->{MBTN_msgid} = $args->{msgid} || $message->messageId;
-    }
-    elsif(my $msgid = $args->{msgid})
-    {   $self->{MBTN_msgid} = $msgid;
-    }
-    else
-    {   croak "Need to specify message or message-id";
-    }
-
-    $self->{MBTN_dummy_type} = $args->{dummy_type};
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub message()
-{   my $self = shift;
-
-    unless($self->{MBTN_messages})
-    {   return () if wantarray;
-
-        my $dummy = $self->{MBTN_dummy_type}->new
-          ( messageId =>$self->{MBTN_msgid}
-          );
-
-        push @{$self->{MBTN_messages}}, $dummy;
-        return $dummy;
-    }
-
-    my @messages = @{$self->{MBTN_messages}};
-    return @messages    if wantarray;
-    return $messages[0] if @messages==1;
-
-    foreach (@messages)
-    {   return $_ unless $_->isDeleted;
-    }
-
-    $messages[0];
-}
-
-#-------------------------------------------
-
-
-sub addMessage($)
-{   my ($self, $message) = @_;
- 
-    return $self->{MBTN_messages} = [ $message ]
-        if $self->isDummy;
-
-    push @{$self->{MBTN_messages}}, $message;
-    $message;
-}
-
-#-------------------------------------------
-
-
-sub isDummy()
-{   my $self = shift;
-    !defined $self->{MBTN_messages} || $self->{MBTN_messages}[0]->isDummy;
-}
-
-#-------------------------------------------
-
-
-sub messageId() { shift->{MBTN_msgid} }
-
-#-------------------------------------------
-
-
-sub expand(;$)
-{   my $self = shift;
-    return $self->message->label('folded') || 0
-        unless @_;
-
-    my $fold = not shift;
-    $_->label(folded => $fold) foreach $self->message;
-    $fold;
-}
-
-sub folded(;$)    # compatibility <2.0
-{  @_ == 1 ? shift->expand : shift->expand(not shift) }
-
-#-------------------------------------------
-
-
-sub repliedTo()
-{   my $self = shift;
-
-    return wantarray
-         ? ($self->{MBTN_parent}, $self->{MBTN_quality})
-         : $self->{MBTN_parent};
-}
-
-#-------------------------------------------
-
-
-sub follows($$)
-{   my ($self, $thread, $how) = @_;
-    my $quality = $self->{MBTN_quality};
-
-    # Do not create cyclic constructs caused by erroneous refs.
-
-    my $msgid = $self->messageId;       # Look up for myself, upwards in thread
-    for(my $walker = $thread; defined $walker; $walker = $walker->repliedTo)
-    {   return undef if $walker->messageId eq $msgid;
-    }
-
-    my $threadid = $thread->messageId;  # a->b and b->a  (ref order reversed)
-    foreach ($self->followUps)
-    {   return undef if $_->messageId eq $threadid;
-    }
-
-    # Register
-
-    if($how eq 'REPLY' || !defined $quality)
-    {   $self->{MBTN_parent}  = $thread;
-        $self->{MBTN_quality} = $how;
-        return $self;
-    }
-    
-    return $self if $quality eq 'REPLY';
-
-    if($how eq 'REFERENCE' || ($how eq 'GUESS' && $quality ne 'REFERENCE'))
-    {   $self->{MBTN_parent}  = $thread;
-        $self->{MBTN_quality} = $how;
-    }
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub followedBy(@)
-{   my $self = shift;
-    $self->{MBTN_followUps}{$_->messageId} = $_ foreach @_;
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub followUps()
-{   my $self    = shift;
-    $self->{MBTN_followUps} ? values %{$self->{MBTN_followUps}} : ();
-}
-
-#-------------------------------------------
-
-
-sub sortedFollowUps()
-{   my $self    = shift;
-    my $prepare = shift || sub {shift->startTimeEstimate||0};
-    my $compare = shift || sub {(shift) <=> (shift)};
-
-    my %value   = map { ($prepare->($_) => $_) } $self->followUps;
-    map { $value{$_} } sort {$compare->($a, $b)} keys %value;
-}
-
-#-------------------------------------------
-
-
-#-------------------------------------------
-
-
-sub threadToString(;$$$)   # two undocumented parameters for layout args
-{   my $self    = shift;
-    my $code    = shift || sub {shift->head->get('subject')};
-    my ($first, $other) = (shift || '', shift || '');
-    my $message = $self->message;
-    my @follows = $self->sortedFollowUps;
-
-    my @out;
-    if($self->folded)
-    {   my $text = $code->($message) || '';
-        chomp $text;
-        return "    $first [" . $self->nrMessages . "] $text\n";
-    }
-    elsif($message->isDummy)
-    {   $first .= $first ? '-*-' : ' *-';
-        return (shift @follows)->threadToString($code, $first, "$other   " )
-            if @follows==1;
-
-        push @out, (shift @follows)->threadToString($code, $first, "$other | " )
-            while @follows > 1;
-    }
-    else
-    {   my $text  = $code->($message) || '';
-        chomp $text;
-        my $size  = $message->shortSize;
-        @out = "$size$first $text\n";
-        push @out, (shift @follows)
-                       ->threadToString($code, "$other |-", "$other | " )
-            while @follows > 1;
-    }
-
-    push @out, (shift @follows)->threadToString($code, "$other `-","$other   " )
-        if @follows;
-
-    join '', @out;
-}
-
-#-------------------------------------------
-
-
-sub startTimeEstimate()
-{   my $self = shift;
-
-    return $self->message->timestamp
-        unless $self->isDummy;
-
-    my $earliest;
-    foreach ($self->followUps)
-    {   my $stamp = $_->startTimeEstimate;
-
-        $earliest = $stamp
-	    if !defined $earliest || (defined $stamp && $stamp < $earliest);
-    }
-
-    $earliest;
-}
-
-#-------------------------------------------
-
-
-sub endTimeEstimate()
-{   my $self = shift;
-
-    my $latest;
-    $self->recurse
-     (  sub { my $node = shift;
-              unless($node->isDummy)
-              {   my $stamp = $node->message->timestamp;
-                  $latest = $stamp if !$latest || $stamp > $latest;
-              }
-            }
-     );
-
-    $latest;
-}
-
-#-------------------------------------------
-
-
-sub recurse($)
-{   my ($self, $code) = @_;
-
-    $code->($self) or return $self;
-
-    $_->recurse($code) or last
-        foreach $self->followUps;
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub totalSize()
-{   my $self  = shift;
-    my $total = 0;
-
-    $self->recurse
-     ( sub {
-          my @msgs = shift->messages;
-          $total += $msgs[0]->size if @msgs;
-          1;}
-     );
-
-    $total;
-}
-
-#-------------------------------------------
-
-
-sub numberOfMessages()
-{   my $self  = shift;
-    my $total = 0;
-    $self->recurse( sub {++$total unless shift->isDummy; 1} );
-    $total;
-}
-
-sub nrMessages() {shift->numberOfMessages}  # compatibility
-
-#-------------------------------------------
-
-
-sub threadMessages()
-{   my $self = shift;
-    my @messages;
-    $self->recurse
-     ( sub
-       { my $node = shift;
-         push @messages, $node->message unless $node->isDummy;
-         1;
-       }
-     );
-
-    @messages;
-}
-
-
-#-------------------------------------------
-
-
-sub ids()
-{   my $self = shift;
-    my @ids;
-    $self->recurse( sub {push @ids, shift->messageId} );
-    @ids;
-}
-
-#-------------------------------------------
-
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Thread/Node.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Thread/Node.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Thread/Node.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Thread/Node.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Thread/Node.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,541 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Thread::Node - one node in a message thread
-
-
-=head1 INHERITANCE
-
- Mail::Box::Thread::Node
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my $node = Mail::Box::Thread::Node->new;
- $node->addMessage($message);
- ...
-
-
-=head1 DESCRIPTION
-
-The C<Mail::Box::Thread::Node> maintains one node in the linked list of
-threads.  Each node contains one message, and a list of its follow-ups.
-Next to that, it refers to its own ancestor and contains information
-about the trustworthiness of that relationship.
-
-To complicate things a little, because the thread-manager can maintain
-multiple folders, and merge there content, you may find the same message
-in more folders.  All versions of the same message (based on message-id)
-are stored in the same node.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box::Thread::Node-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-You will not call this method yourself. The L<Mail::Box::Thread::Manager|Mail::Box::Thread::Manager>
-object will call it to construct C<Mail::Box::Thread::Node> objects.
-Either a C<message> or a C<messageId> must be supplied.
-
- Option      Defined in       Default      
- dummy_type                   undef        
- log         L<Mail::Reporter>  C<'WARNINGS'>
- message                      undef        
- messageId                    undef        
- trace       L<Mail::Reporter>  C<'WARNINGS'>
-
-. dummy_type CLASS
-
-=over 4
-
-Indicates the class name of dummy messages. Dummy messages are
-placeholders in a L<Mail::Box::Thread::Manager|Mail::Box::Thread::Manager> data structure.
-
-=back
-
-. log LEVEL
-
-. message MESSAGE
-
-=over 4
-
-The MESSAGE which is stored in this node.  The message
-must be a Mail::Box::Message.
-
-=back
-
-. messageId MESSAGE-ID
-
-=over 4
-
-The MESSAGE-ID for the message which is stored in this node.  Only
-specify it when you don't have the message yet.
-
-=back
-
-. trace LEVEL
-
-=back
-
-=head2 The thread node
-
-
-$obj-E<gt>B<addMessage>(MESSAGE)
-
-=over 4
-
-Add one message to the thread node.  If the node contains a dummy, then
-the dummy is replaced. Otherwise, the messages is added to the end of the
-list.
-
-=back
-
-$obj-E<gt>B<expand>([BOOLEAN])
-
-=over 4
-
-Returns whether this (part of the) folder has to be shown expanded or not.
-This is simply done by a label, which means that most folder types can
-store this.
-
-=back
-
-$obj-E<gt>B<isDummy>
-
-=over 4
-
-Returns true if the message is a dummy. A dummy is a "hole" in a thread
-which has follow-ups but does not have a message.
-
-=back
-
-$obj-E<gt>B<message>
-
-=over 4
-
-Get the message which is stored in this thread node.  NOTE: the same
-message may be located in many folders at the same time, and these
-folders may be controlled by the same thread manager.
-
-In scalar context, this method returns the first instance of the
-message that is not deleted. If all instances are flagged for deletion,
-then you get the first deleted message. When the open folders only
-contain references to the message, but no instance, you get a dummy
-message (see L<Mail::Message::Dummy|Mail::Message::Dummy>).
-
-In list context, all instances of the message which have been found are
-returned.
-
-I<Example:> 
-
- my $threads = $mgr->threads(folders => [$draft, $sent]);
- my $node    = $draft->message(1)->thread;
-
- foreach my $instance ($node->message) {
-    print "Found in ", $instance->folder, ".\n";
- }
-
- print "Subject is ", $node->message->subject, ".\n";
-
-=back
-
-$obj-E<gt>B<messageId>
-
-=over 4
-
-Return the message-id related to this thread node.  Each of the messages
-listed in this node will have the same ID.
-
-=back
-
-=head2 The thread order
-
-
-$obj-E<gt>B<followUps>
-
-=over 4
-
-Returns the list of follow-ups to this thread node.  This list
-may contain parsed, not-parsed, and dummy messages.
-
-=back
-
-$obj-E<gt>B<followedBy>(THREADS)
-
-=over 4
-
-Register that the THREADS are follow-ups to this message. These
-follow-ups need not be related to each other in any way other than
-sharing the same parent.
-
-Defining the same relation more than once will not cause information to
-be duplicated.
-
-=back
-
-$obj-E<gt>B<follows>(THREAD, QUALITY)
-
-=over 4
-
-Register that the current thread is a reply to the specified THREAD. The
-QUALITY of the relation is specified by the second argument.  The method
-returns C<undef> if the link is not accepted in order to avoid circular
-references.
-
-The relation may be specified more than once, but only the most confident
-relation is used. For example, if a reply (QUALITY equals C<REPLY>) is
-specified, later calls to the follow method will have no effect. If
-C<follows> is called with a QUALITY that matches the current quality, the
-new thread overrides the previous.
-
-=back
-
-$obj-E<gt>B<repliedTo>
-
-=over 4
-
-Returns the message(s) to which the message in this node replies. In
-scalar context, this method will return the message to which the message
-in this node replies. This message object may be a dummy message.
-
-If the message seems to be the first message of a thread, the value C<undef>
-is returned.  (Remember that some MUA are not adding reference information
-to the message's header, so you can never be sure a message is the
-start of a thread)
-
-In list context, this method returns a second string value indicating the
-confidence that the messages are related.  When extended thread discovery
-is enabled, then some heuristics are applied to determine if messages are
-related. Values for the STRING may be:
-
-=over 4
-
-=item * C<'REPLY'>
-
-This relation was directly derived from an `in-reply-to' message header
-field. The relation has a high confidence.
-
-=item * C<'REFERENCE'>
-
-This relation is based on information found in a `Reference' message
-header field.  One message may reference a list of messages which
-precede it in the thread. The heuristic attempts to determine
-relationships between messages assuming that the references are in order.
-This relation has a lower confidence.
-
-=item * C<'GUESS'>
-
-The relation is a big guess, with low confidence.  It may be based on
-a subject which seems to be related, or commonalities in the message's
-body.
-
-=back
-
-More constants may be added later.
-
-I<Example:> 
-
- my $question = $answer->repliedTo;
- my ($question, $quality) = $answer->repliedTo;
- if($question && $quality eq 'REPLY') { ... };
-
-=back
-
-$obj-E<gt>B<sortedFollowUps>([PREPARE [,COMPARE]])
-
-=over 4
-
-Returns the list of L<followUps()|Mail::Box::Thread::Node/"The thread order">, but sorted.  By default
-sorting is based on the estimated time of the reply. See
-startTimeEstimate().
-
-=back
-
-=head2 On the whole thread
-
-Some convenience methods are added to threads, to simplify retrieving
-information from it.
-
-$obj-E<gt>B<endTimeEstimate>
-
-=over 4
-
-Returns a guess as to when the thread has ended (although you never
-know for sure whether there fill follow messages in the future).
-
-=back
-
-$obj-E<gt>B<ids>
-
-=over 4
-
-Returns all the ids in the thread starting at the current thread node.
-
-I<Example:> 
-
- $newfolder->addMessages($folder->ids($thread->ids));
- $folder->delete($thread->ids);
-
-=back
-
-$obj-E<gt>B<numberOfMessages>
-
-=over 4
-
-Number of messages in the thread starting at the current thread node, but
-not counting the dummies.
-
-=back
-
-$obj-E<gt>B<recurse>(CODE-REF)
-
-=over 4
-
-Execute a function for all sub-threads.  If the subroutine returns true,
-sub-threads are visited recursively. Otherwise, the current branch
-traversal is aborted. The routine is called with the thread-node as the
-only argument.
-
-=back
-
-$obj-E<gt>B<startTimeEstimate>
-
-=over 4
-
-Returns a guess as to when the thread was started.  Each message contains
-various date specifications (each with various uncertainties resulting
-from timezones and out-of-sync clocks). One of these date specifications
-is used as the timestamp for the message. If the node contains a dummy
-message the lowest timestamp of the replies is returned. Otherwise the
-estimated timestamp of the node's message is returned.
-
-=back
-
-$obj-E<gt>B<threadMessages>
-
-=over 4
-
-Returns all the messages in the thread starting at the current thread
-node.  This list will not include dummies.
-
-I<Example:> 
-
- my @t = $folder->message(3)
-                ->threadStart
-                ->threadMessages;
-
-=back
-
-$obj-E<gt>B<threadToString>([CODE])
-
-=over 4
-
-Translate a thread into a string. The string will contain at least one
-line for each message which was found, but tries to fold dummies.  This
-is useful for debugging, but most message readers will prefer to
-implement their own thread printer.
-
-The optional CODE argument is a reference to a routine which will be called
-for each message in the thread.  The routine will be called with the
-message as the first argument.  The default shows the subject of the message.
-In the first example below, this routine is called seven times.
-
-I<Example:> 
-
- print $node->threadToString;
-
-may result in
-
- Subject of this message
- |- Re: Subject of this message
- |-*- Re: Re: Subject of this message
- | |- Re(2) Subject of this message
- | |- [3] Re(2) Subject of this message
- | `- Re: Subject of this message (reply)
- `- Re: Subject of this message
-
-The `*' represents a missing message (a "dummy" message).  The `[3]'
-presents a folded thread with three messages.
-
- print $node->threadToString(\&show);
-
- sub show($) {
-    my $message = shift;
-    my $subject = $message->head->get('subject');
-    length $subject ? $subject : '<no subject>';
- }
-
-=back
-
-$obj-E<gt>B<totalSize>
-
-=over 4
-
-Returns the sum of the size of all the messages in the thread.
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box::Thread::Node-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box::Thread::Node-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box::Thread::Node-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Thread/Node.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Thread/Node.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie/ARRAY.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Tie/ARRAY.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie/ARRAY.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,76 +0,0 @@
-
-use strict;
-package Mail::Box::Tie::ARRAY;
-use vars '$VERSION';
-$VERSION = '2.062';
-
-use Carp;
-
-
-sub TIEARRAY(@)
-{   my ($class, $folder) = @_;
-    croak "No folder specified to tie to."
-        unless ref $folder && $folder->isa('Mail::Box');
-
-    bless { MBT_folder => $folder }, $class;
-}
-
-#-------------------------------------------
-
-
-sub FETCH($)
-{   my ($self, $index) = @_;
-    my $msg = $self->{MBT_folder}->message($index);
-    $msg->isDeleted ? undef : $msg;
-}
-
-#-------------------------------------------
-
-
-sub STORE($$)
-{   my ($self, $index, $msg) = @_;
-    my $folder = $self->{MBT_folder};
-
-    croak "Cannot simply replace messages in a folder: use delete old, then push new."
-        unless $index == $folder->messages;
-
-    $folder->addMessages($msg);
-    $msg;
-}
-
-#-------------------------------------------
-
-
-sub FETCHSIZE()  { scalar shift->{MBT_folder}->messages }
-
-#-------------------------------------------
-
-
-sub PUSH(@)
-{   my $folder = shift->{MBT_folder};
-    $folder->addMessages(@_);
-    scalar $folder->messages;
-}
- 
-
-#-------------------------------------------
-
-
-sub DELETE($) { shift->{MBT_folder}->message(shift)->delete }
-
-#-------------------------------------------
-
-
-sub STORESIZE($)
-{   my $folder = shift->{MBT_folder};
-    my $length = shift;
-    $folder->message($_) foreach $length..$folder->messages;
-    $length;
-}
-
-# DESTROY is implemented in Mail::Box
-
-#-------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie/ARRAY.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Tie/ARRAY.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie/ARRAY.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Tie/ARRAY.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie/ARRAY.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,191 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Tie::ARRAY - access an existing message folder as array
-
-
-
-=head1 SYNOPSIS
-
- use Mail::Box::Manager;
- my $mgr    = Mail::Box::Manager->new;
- my $folder = $mgr->open(folder => 'inbox');
-
- use Mail::Box::Tie::ARRAY;
- tie my(@inbox), 'Mail::Box::Tie::ARRAY', $folder;
-
- # deprecated, but works too
- use Mail::Box::Tie;
- tie my(@inbox), 'Mail::Box::Tie', $folder;
-
- foreach (@inbox) {print $_->short}
- print $_->print foreach @inbox;
- my $emails = @inbox;
-
- print $inbox[3];
- print scalar @inbox;
- push @inbox, Mail::Box::Message->new(...);
- delete $inbox[6];
- print $inbox[0]->head->get('status');
-
- my $folder = tied @inbox;
- untie @inbox;
-
-
-=head1 DESCRIPTION
-
-Certainly when you look at a folder as a list of messages, it is logical to
-access the folder through an array.
-
-Not all operations on arrays are supported.  Actually, most functions which
-would reduce the size of the array are modified instead to mark messages for
-deletion.
-
-Examples what you I<cannot> do:
-
- shift/unshift/pop/splice @inbox;
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-B<TIEARRAY>('Mail::Box::Tie::ARRAY', FOLDER)
-
-=over 4
-
-Create the tie on an existing folder.
-
-I<Example:> tie an array to a folder
-
-
- my $mgr   = Mail::Box::Manager->new;
- my $inbox = $mgr->new(folder => $ENV{MAIL});
- tie my(@inbox), 'Mail::Box::Tie::Array', ref $inbox, $inbox;
-
-=back
-
-=head2 Tied Interface
-
-
-$obj-E<gt>B<DELETE>
-
-=over 4
-
-Flag a message to be removed.  Be warned that the message stays in
-the folder, and is not removed before the folder is written.
-
-I<Example:> 
-
- delete $inbox[5];
- $inbox[5]->delete;   #same
-
-=back
-
-$obj-E<gt>B<FETCH>(INDEX)
-
-=over 4
-
-Get the message which is at the indicated location in the list of
-messages contained in this folder.  Deleted messages will be returned
-as C<undef>.
-
-I<Example:> 
-
- print $inbox[3];     # 4th message in the folder
- print @inbox[3,0];   # 4th and first of the folder
- print $inbox[-1];    # last message
-
-=back
-
-$obj-E<gt>B<FETCHSIZE>
-
-=over 4
-
-Return the total number of messages in a folder.  This is called when
-the folder-array is used in scalar context, for instance.
-
-I<Example:> 
-
- if(@inbox > 10)    # contains more than 10 messages?
- my $nrmsgs = @inbox;
-
-=back
-
-$obj-E<gt>B<PUSH>(MESSAGES)
-
-=over 4
-
-Add MESSAGES to the end of the folder.
-
-I<Example:> 
-
-    push @inbox, $newmsg;
-
-=back
-
-$obj-E<gt>B<STORE>(INDEX, MESSAGE)
-
-=over 4
-
-Random message replacement is not permitted --doing so would disturb threads
-etc.  An error occurs if you try to do this. The only thing which is allowed
-is to store a message at the first free index at the end of the folder (which
-is also achievable with L<PUSH()|Mail::Box::Tie::ARRAY/"Tied Interface">).
-
-I<Example:> 
-
- $inbox[8] = $add;
- $inbox[-1] = $add;
- push @inbox, $add;
-
-=back
-
-$obj-E<gt>B<STORESIZE>(LENGTH)
-
-=over 4
-
-Sets all messages behind from LENGTH to the end of folder to be deleted.
-
-=back
-
-
-
-
-=head1 DETAILS
-
-
-=head2 Folder tied as array
-
-
-=head3 Limitations
-
-This module implements C<TIEARRAY>, C<FETCH>, C<STORE>, C<FETCHSIZE>,
-C<STORESIZE>, C<DELETE>, C<PUSH>, and C<DESTROY>.
-
-This module does not implement all other methods as described in
-the Tie::Array documentation, because the real array of messages
-is not permitted to shrink or be mutilated.
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie/ARRAY.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Tie/ARRAY.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie/HASH.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Tie/HASH.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie/HASH.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,94 +0,0 @@
-
-use strict;
-package Mail::Box::Tie::HASH;
-use vars '$VERSION';
-$VERSION = '2.062';
-
-use Carp;
-
-
-sub TIEHASH(@)
-{   my ($class, $folder) = @_;
-    croak "No folder specified to tie to."
-        unless ref $folder && $folder->isa('Mail::Box');
-
-    bless { MBT_folder => $folder, MBT_type => 'HASH' }, $class;
-}
-
-#-------------------------------------------
-
-
-sub FETCH($) { shift->{MBT_folder}->messageId(shift) }
-
-#-------------------------------------------
-
-
-sub STORE($$)
-{   my ($self, $key, $basicmsg) = @_;
-
-    carp "Use undef as key, because the message-id of the message is used."
-        if defined $key && $key ne 'undef';
-
-    $self->{MBT_folder}->addMessages($basicmsg);
-}
-
-#-------------------------------------------
-
-
-sub FIRSTKEY()
-{   my $self   = shift;
-    my $folder = $self->{MBT_folder};
-
-    $self->{MBT_each_index} = 0;
-    $self->NEXTKEY();
-}
-
-#-------------------------------------------
-
-
-sub NEXTKEY($)
-{   my $self   = shift;
-    my $folder = $self->{MBT_folder};
-    my $nrmsgs = $folder->messages;
-
-    my $msg;
-    while(1)
-    {   my $index = $self->{MBT_each_index}++;
-        return undef if $index >= $nrmsgs;
-
-        $msg      = $folder->message($index);
-        last unless $msg->isDeleted;
-    }
-
-    $msg->messageId;
-}
-
-#-------------------------------------------
-
-
-sub EXISTS($)
-{   my $folder = shift->{MBT_folder};
-    my $msgid  = shift;
-    my $msg    = $folder->messageId($msgid);
-    defined $msg && ! $msg->isDeleted;
-}
-
-#-------------------------------------------
-
-
-sub DELETE($)
-{    my ($self, $msgid) = @_;
-     $self->{MBT_folder}->messageId($msgid)->delete;
-}
-
-#-------------------------------------------
-
-
-sub CLEAR()
-{   my $folder = shift->{MBT_folder};
-    $_->delete foreach $folder->messages;
-}
-
-#-------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie/HASH.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Tie/HASH.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie/HASH.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Tie/HASH.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie/HASH.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,181 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Tie::HASH - access an existing message folder as a hash
-
-
-
-=head1 SYNOPSIS
-
- tie my(%inbox), 'Mail::Box::Tie::HASH', $folder;
-
- foreach my $msgid (keys %inbox)
- {   print $inbox{$msgid};
-     delete $inbox{$msgid};
- }
-
- $inbox{$msg->messageId} = $msg;
-
-
-=head1 DESCRIPTION
-
-Certainly when you look at a folder as being a set of related messages
-based on message-id, it is logical to access the folder through a hash.
-
-For a tied hash, the message-id is used as the key.  The message-id is usually
-unique, but when two or more instances of the same message are in the same
-folder, one will be flagged for deletion and the other will be returned.
-
-This implementation uses basic folder access routines which are related
-to the message-id.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-B<TIEHASH>('Mail::Box::Tie::HASH', FOLDER)
-
-=over 4
-
-Connects the FOLDER object to a HASH.
-
-I<Example:> 
-
- my $mgr    = Mail::Box::Manager->new;
- my $folder = $mgr->open(access => 'rw');
- tie my(%inbox), 'Mail::Box::Tie::HASH', $folder;
-
-=back
-
-=head2 Tied Interface
-
-
-$obj-E<gt>B<CLEAR>
-
-=over 4
-
-Remove the contents of the hash.  This is not really possible, but all
-the messages will be flagged for deletion.
-
-I<Example:> 
-
- %inbox = ();
- %inbox = ($msg->messageId, $msg); #before adding msg
-
-=back
-
-$obj-E<gt>B<DELETE>(MESSAGE-ID)
-
-=over 4
-
-Remove the message with the specified MESSAGE-ID.
-
-I<Example:> 
-
- delete $inbox{$msgid};
-
-=back
-
-$obj-E<gt>B<EXISTS>(MESSAGE-ID)
-
-=over 4
-
-Check whether a message with a certain MESSAGE-ID exists.
-
-I<Example:> 
-
- if(exists $inbox{$msgid}) ...
-
-=back
-
-$obj-E<gt>B<FETCH>(MESSAGEID)
-
-=over 4
-
-Get the message with the specified id.  The returned message may be
-a dummy if message thread detection is used.  Returns C<undef> when
-there is no message with the specified id.
-
-I<Example:> 
-
- my $msg = $inbox{$msgid};
- if($inbox{$msgid}->isDummy)  ...
-
-=back
-
-$obj-E<gt>B<FIRSTKEY>
-
-=over 4
-
-See L<NEXTKEY()|Mail::Box::Tie::HASH/"Tied Interface">.
-
-=back
-
-$obj-E<gt>B<NEXTKEY>(PREVIOUS)
-
-=over 4
-
-L<FIRSTKEY()|Mail::Box::Tie::HASH/"Tied Interface"> returns the first message-id/message pair from the folder,
-and NEXTKEY returns the message-id/message pair for the next message,
-in the order in which the message is stored in the folder.
-
-Messages flagged for deletion will B<not> be returned. See the
-L<Mail::Box::messages()|Mail::Box/"The messages"> method of the folder type for more information
-about the folder message order.
-
-I<Example:> 
-
- foreach my $msgid (keys %inbox) ...
- foreach my $msg (values %inbox) ...
-
- while(my ($msgid, $msg) = each %inbox) {
-    $msg->print unless $msg->isDeleted;
- }
-
-=back
-
-$obj-E<gt>B<STORE>(undef, MESSAGE)
-
-=over 4
-
-Store a message in the folder.  The key must be C<undef>, because the
-message-id of the specified message is taken.  This is shown in the
-first example.  However, as you see, it is a bit complicated to specify
-C<undef>, therefore the string C<"undef"> is accepted as well.
-
-The message may be converted into something which can be stored in the
-folder type which is at stake.  The added instance is returned.
-
-I<Example:> 
-
- $inbox{ (undef) } = $msg;
- $inbox{undef} = $msg;
-
-=back
-
-
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie/HASH.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Tie/HASH.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Tie.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,33 +0,0 @@
-
-package Mail::Box::Tie;
-use vars '$VERSION';
-$VERSION = '2.062';
-
-use strict;
-
-use Carp;
-
-
-#-------------------------------------------
-
-sub TIEHASH(@)
-{   my $class = (shift) . "::HASH";
-    eval "require $class";   # bootstrap
-
-    confess $@ if $@;
-    $class->TIEHASH(@_);
-}
-
-#-------------------------------------------
-
-sub TIEARRAY(@)
-{   my $class = (shift) . "::ARRAY";
-    eval "require $class";   # bootstrap
-
-    confess $@ if $@;
-    $class->TIEARRAY(@_);
-}
-
-#-------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Tie.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box/Tie.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,62 +0,0 @@
-
-=head1 NAME
-
-Mail::Box::Tie - access an existing message-folder as an array or hash
-
-
-
-=head1 SYNOPSIS
-
-As an array:
-
- use Mail::Box::Tie;
- tie my(@inbox), Mail::Box::Tie::ARRAY => $folder;
- tie my(@inbox), Mail::Box::Tie => $folder;    # deprecated
- print $inbox[3];
-
-or as hash:
-
- tie my(%inbox), Mail::Box::Tie::HASH => $folder;
- tie my(%inbox), Mail::Box::Tie => $folder;    # deprecated
- print $inbox{'<12379.124879 at example.com>'};
-
-
-=head1 DESCRIPTION
-
-The use of C<Mail::Box::Tie> is B<deprecated>, because it is succeeded by two
-separate modules: L<Mail::Box::Tie::ARRAY|Mail::Box::Tie::ARRAY> and L<Mail::Box::Tie::HASH|Mail::Box::Tie::HASH>.
-However, this module still works.
-
-Folders certainly look like an array of messages, so why not just
-access them as one?  Or, the order is not important, but the
-message-ids are (give relations): why not access them from a hash
-based on this message-id?  Programs using one of these ties will
-look simpler than programs using the more traditional method calls.
-
-
-
-=head1 METHODS
-
-
-
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box/Tie.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box/Tie.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box-Cookbook.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box-Cookbook.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box-Cookbook.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,282 +0,0 @@
-
-=head1 NAME
-
-Mail::Box-Cookbook - Examples how to use Mail::Box
-
-
-
-
-=head1 DESCRIPTION
-
-The Mail::Box package is a suite of classes for accessing and managing
-email folders in a folder-independent manner.  This manual demonstrates
-a few simple applications.  Please contribute with examples and fixes.
-It may also help to have a look at the programs included in the
-C<scripts/> and the C<examples/> directories of the distribution.
-
-=head2 The Manager
-
-For more details about all the packages which are involved in the
-Mail::Box suite you have to read L<Mail::Box-Overview|Mail::Box-Overview>.  But you
-do not need to know much if you want to use the Mail::Box suite.
-
-Please use the manager to open your folders.  You will certainly
-benefit from it.  The manager takes care of detecting which folder
-type you are using, and which folders are open.  The latter avoids
-the accidental re-opening of an already open folder.
-
-The C<examples/open.pl> script contains mainly
-
- my $mgr    = Mail::Box::Manager->new;
- my $folder = $mgr->open($filename);
- foreach my $message ($folder->messages) {
-     print $message->get('Subject') || '<no subject>', "\n";
- }
- $folder->close;
-
-which shows all the most important functions.  It will cause all
-subjects of the messages in the indicated folder to be listed.  So:
-although the number of packages included in the Mail::Box module
-is huge, only little is needed for normal programs.
-
-In stead of calling C<close> on the folder, you may also call
-
- $mgr->closeAllFolders;
-
-If you forget to close a folder, changes will not be written.  This
-may change in the future.
-
-=head2 Multi part messages
-
-In early days of Internet, multi-part messages where very rare.
-However, in recent years, a large deal of all transmitted message have
-attachments.  This makes handling of the bodies of messages a bit harder:
-when a message contains more than one part, which part is then the most
-important to read?
-
-To complicate life, multi-parts can be nested: each part may be a
-multi-part by itself.  This means that programs handling the message
-content must be recursive or skip multi-parts.
-
-The central part of the C<examples/multipart.pl> script reads:
-
- foreach my $message ($folder->messages) {
-     show_type($message);
- }
-
- show_type($) {
-     my $msg = shift;
-     print $msg->get('Content-Type'), "\n";
-
-     if($msg->isMultipart) {
-         foreach my $part ($msg->parts) {
-             show_type($part);
-         }
-     }
- }
-
-Each part is a message by itself. It has a header and a body.  A multipart
-message has a special body: it contains a list of parts and optionally
-also a preamble and an epilogue, which are respectively the lines before
-and after the parts.  These texts may be ignored, because they are only
-descriptive on how the multi-part was created.
-
-=head2 Filter
-
-The target is to select a few messages from one folder, to move them
-to an other.  The C<examples/takelarge.pl> script demonstrates how
-to achieve this.  B<Be warned:> it will replace your input folder!
-
-As abstract of the crucial part:
-
- my $inbox = $mgr->open('inbox', access => 'rw');
- my $large = $mgr->open('large', access => 'a', create => 1);
-
- foreach my $message ($inbox->messages) {
-     next if $message->size < $size;
-     $mgr->moveMessage($large, $message);
- }
-
- $inbox->close;
- $large->close;
-
-The C<inbox> is opened for read and write: first read all messages, and
-then write the smaller folder without moved messages back.  The C<large>
-folder is created if the file does not exist yet.  In any case, messages
-will be added to the end of the folder.
-
-The manager is needed to move the message: to unregister the message from
-the first folder, and reregister it in the second.  You can move more
-messages at once, if you like.  When you move to a folder which is not
-open, you even better do that: it will be faster:
-
- my @move = grep {$_->size >= $size} $inbox->messages;
- $mgr->moveMessage($large, @move);
-
-In this example, the C<size> of the message determines whether the message
-is moved or not.  Of course, there are many other criteria you can use.
-For instance, use C<timestamp> to find old messages:
-
- use constant YEAR => 365 * 24 * 60 * 60;
- my $now = time;
- my @old = grep {$_->timestamp - $now > YEAR} $inbox->messages;
- $mgr->moveMessage($oldbox, @old);
-
-=head2 Create a reply
-
-The complex message treatment is implemented in L<Mail::Message::Construct|Mail::Message::Construct>
-and automatically loaded when needed.  It is sufficient to simply call
-C<reply> on any message:
-
- my $folder  = ...;
- my $message = $folder->message(8);
- my $reply   = $message->reply;
-
- $folder->addMessage($reply);
- $reply->print;
-
-The method is quite complex, as demonstrated by C<examples/reply.pl>, in
-which the construction of a reply-message is shown.
-
-Three kinds of reply messages can be made: one which does not include
-the original message at all (NO), then one which inlines the original
-message quoted (INLINE), and as third possibility the original message as
-attachment (ATTACH).
-
-The C<include> parameter selects the kind of reply.  When you reply
-to binary or multi-part messages, INLINE will automatically promoted
-to ATTACH.  By default text will be stripped from the original senders
-signature.  Multi-part messages are stripped from attachments which
-qualify as signature.  In case a multi-part (after stripping) only
-contains one part, and that INLINE is requested, it will be 'flattened':
-the reply may be a single-part.
-
-Have a look at the parameters which can be passed to reply in
-L<Mail::Message::Construct|Mail::Message::Construct>.  For a single-part reply, the return
-will be
-
- prelude
- quoted original
- postlude
- --
- signature
-
-A multipart body will be
-
- part 1: prelude
-         [ see attachment ]
-         postlude
- part 2: stripped original multipart
- part 3: signature
-
-=head2 Build a message
-
-There are three ways to create a message which is not a reply:
-
-=over 4
-
-=item * L<Mail::Message::buildFromBody()|Mail::Message::Construct::Build/"Constructing a message">
-
-Start with creating a body, and transform that into a message.
-
-=item * L<Mail::Message::build()|Mail::Message::Construct::Build/"Constructing a message">
-
-create the whole message at once.
-
-=item * L<Mail::Message::read()|Mail::Message::Construct::Read/"Constructing a message">
-
-read a message from a file-handle, scalar, or array of lines.
-
-=back
-
-All three methods are implemented in L<Mail::Message::Construct|Mail::Message::Construct>.  Please,
-do yourself a favor, and give preference to the C<build*> methods, over
-the C<read>, because they are much more powerful.  Use the C<read> only
-when you have the message on STDIN or an array of lines which is supplied
-by an external program.
-
-Very important to remember from now on: information about the content of
-the body (the C<Content-> lines in the header) is stored within the body
-object, for as long as the body is not contained with a message object.
-
-For instance, C<$message> method C<decoded> returns the decoded body of the
-C<$message>.  It is a body object by itself, however outside a real
-message.  Then you may want to play around with it, by concatenating
-some texts: again resulting in a new body.  Each body contains the
-right C<Content-> information.  Then, finally, you create a message
-specifying the body and extra header lines.  At that moment you need
-to specify the source and destination addresses (the C<From> and C<To> lines>).
-At that moment, the body will automatically be encoded to be acceptable for
-mail folders and transmission programs.
-
- my $body = Mail::Message::Body->new
-  ( mime_type         => 'text/css'
-  , transfer_encoding => '8bit'
-  , data              => \@lines
-  );
-
-Above example creates a body, with explicitly stating what kind of data
-is stored in it.  The default mime type is C<text/plain>.  The transfer
-encoding defaults to C<none>.  Each message will get encoded on the moment
-it is added to a message.  The default encoding depends on the mime type.
-
-To start with the first way to create a message.  This solution provides
-maximum control over the message creation.  Quite some work is hidden for
-you when executing the next line.
-
- my $message = Mail::Message->buildFromBody
-   ( $body
-   , From => 'me at example.com'
-   , To   => 'you at anywhere.net'
-   , Cc   => [ Mail::Address->parse($groupalias) ]
-   );
-
-For header lines, you may specify a string, an address object
-(Mail::Address), or an array of such addresses.  If you want to create
-multi-part messages, you need to create a multi-part body yourself first.
-
-The second way of constructing a message uses the C<build> method.  A
-demonstration can be found in C<examples/build.pl>.  In only one
-class method call the header and the (possible multi-parted) body
-is created.
-
-With the C<data> option, you can specify one scalar which
-contains a whole body or an array of lines.  Using the C<file> option,
-a file-handle or filename specifies a body.  The C<attach> option
-refers to construed bodies and messages.  Each option can be used as
-often as needed.  If more than one source of data is provided, a
-multi-part message is produced.
-
- my $message = Mail::Message->build
-  ( From       => 'me at example.com'
-  , To         => 'you at anywhere.net'
-  , 'X-Mailer' => 'Automatic mailing system'
-  , data       => \@lines
-  , file       => 'logo.jpg'
-  , attach     => $signature_body
-  );
-
-
-
-
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box-Cookbook.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box-Cookbook.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box-Index.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box-Index.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box-Index.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,280 +0,0 @@
-
-=head1 NAME
-
-Mail::Box-Index - list of all extended documentation
-
-
-
-
-=head1 DESCRIPTION
-
-All methods defined by MailBox are documented, but you still need to
-get a grip on the large picture: the relations between the modules
-and the methods.  These larger explanations are included in the
-DETAILS of the manual pages, and listed here below.  Of course, each
-page has a DESCRIPTION section as well, which tells some bare necessities
-about the module.
-
-Only the HTML version of this manual page will list the sections.
-
-=begin :html
-
-<ol>
-<li><strong><a name="general">General</a> sources of information</strong>
-  <ul>
-  <li>MailBox distribution overview (Mail::Box-Overview)
-  <li>MailBox simple recepies (Mail::Box-Cookbook)
-  </ul>
-
-<li><strong><a name="messages">Messages</a></strong> (L<Mail::Message|Mail::Message>)<br />
-      See separate entries on header, body, fields
-      and construction in this index below.
-  <ul>
-  <li>Structure of a Message
-      <ul>
-      <li>The header 
-      <li>The body 
-      </ul>
-  <li>Coercing messages
-  <li>Message object implementation
-  <li>Message class implementation
-  </ul>
-
-<li><strong><a name="headers">Message headers</a></strong> (L<Mail::Message::Head|Mail::Message::Head>)
-  <ul>
-  <li>Ordered header fields
-  <li>Subsets of header fields
-  <li>Head class implementation
-  </ul>
-
-<li><strong><a name="fields">Message header fields</a></strong> (L<Mail::Message::Field|Mail::Message::Field>)
-  <ul>
-  <li>Field syntax
-      <ul>
-      <li>Folding fields
-      <li>Structured fields
-      <li>Comments in fields
-      </ul>
-  <li>Getting a field
-      <ul>
-      <li>Using get() field
-      <li>Using study() field
-      <li>Using resent groups (Mail::Message::Head::ResentGroup)
-      <li>Mailing list fields
-      <li>Spam fighting fields
-      </ul>
-  <li>The field's data
-      <ul>
-      <li>Access to the field
-      <li>Using simplified field access
-      <li>Specifying field data
-      </ul>
-  <li>Field class implementation
-  </ul>
-
-<li><strong><a name="bodies">Message bodies</a></strong> (L<Mail::Message::Body|Mail::Message::Body>)
-  <ul>
-  <li>Access to the body
-  <li>Body meta information
-      <ul>
-      <li>Content types (MIME::Types)
-      <li>Content transfer encoding (Mail::Message::TransferEnc)
-      </ul>
-  <li>Multipart bodies (Mail::Message::Body::Multipart)
-  <li>Nested (encapsulated) messages (Mail::Message::Body::Nested)
-  <li>Body class implementation
-      <ul>
-      <li>Data collector bodies
-      <li>Complex bodies
-      </ul>
-  </ul>
-
-<li><strong><a name="labels">Message labels</a></strong>
-  <ul>
-  <li>Labels (Mail::Message)
-      <ul>
-      <li>Predefined labels (Mail::Message)
-      <li>Storing labels folder dependent
-      <li>Flags in filename (Mail::Box::Maildir::Message)
-      <li>Status and X-Status fields (MBOX and POP3)
-      <li>The .mh_sequences file (Mail::Box::MH::Labels)
-      <li>IMAP protocol flags (Mail::Box::IMAP4::Message)
-      <li>Other labels (IMAP4)
-      <li>Caching labels (IMAP4)
-
-      </ul>
-  </ul>
-
-<li><strong><a name="process">Message processing</a></strong>
-  <ul>
-  <li>Reading a message (Mail::Message::Construct::Read)
-  <li>Building a message
-      (Mail::Message::Construct::Build)
-  <li>Reply to a message (Mail::Message::Construct::Reply)
-  <li>Creating a forward
-      (Mail::Message::Construct::Forward)
-  <li>Bounce a message (Mail::Message::Construct::Bounce)
-  <li>Rebuilding a message
-      (Mail::Message::Construct::Rebuild)
-  <li>Convert messages
-      <ul>
-      <li>To and from Mail::Internet objects (Mail::Message::Convert::MailInternet)
-      <li>To and from MIME::Entity objects(Mail::Message::Convert::MimeEntity)
-      <li>Into HTML (Mail::Message::Convert::Html)
-      </ul>
-  <li>Convert body contents
-      <ul>
-      <li>From HTML to PostScript (Mail::Message::Convert::HtmlFormatPS)
-      <li>From HTML into plain text (Mail::Message::Convert::HtmlFormatText)
-      <li>Beautify text (Mail::Message::Convert::TextAutoformat)
-      </ul>
-  </ul>
-
-<li><strong><a name="folders">Folders</a></strong> (L<Mail::Box|Mail::Box>)
-      See separate section for type specifics below.
-  <ul>
-  <li>Folder managers
-      <ul>
-      <li>Managing open folders (Mail::Box::Manager)
-      <li>Managing a user (Mail::Box::Manage::User)
-      </ul>
-  <li>Folder types (Mail::Box)
-      <ul>
-      <li>Different kinds of folders
-      <li>Available folder types
-      <li>Folder class implementation
-      </ul>
-  <li>Folder tied as array (Mail::Box::Tie::ARRAY)
-      <ul>
-      <li>Limitations
-      </ul>
-  <li>Folder tied as hash (Mail::Box::Tie::HASH)
-  <li>Folder locking (Mail::Box::Locker)
-  <li>Searching folders (Mail::Box::Search)
-      <ul>
-      <li>scan header and body (Mail::Box::Search::Grep)
-      <li>check for spam (Mail::Box::Search::SpamAssassin) 
-      </ul>
-  </ul>
-
-<li><strong><a name="ftypes">Folder types</a></strong>
-  <ul>
-  <li>DBX folders (Mail::Box::Dbx, read only)
-      <ul>
-      <li>How DBX folders work
-      <li>This implementation
-      <li>Converting DBX folders to MBOX
-      </ul>
-  <li>IMAP4 folders (Mail::Box::IMAP4)
-      <ul>
-      <li>How IMAP4 folders work
-      </ul>
-  <li>MAILDIR folders (Mail::Box::Maildir)
-      <ul>
-      <li>How MAILDIR folders work
-      </ul>
-  <li>MBOX folders (Mail::Box::Mbox)
-      <ul>
-      <li>How MBOX folders work
-      <li>Simulation of sub-folders
-      </ul>
-  <li>MH folders (Mail::Box::MH)
-      <ul>
-      <li>How MH folders work
-      <li>This implementation
-      <li>An index-file
-      </ul>
-  <li>POP3 folders (Mail::Box::POP3)
-      <ul>
-      <li>How POP3 folders work
-      <li>This implementation
-      </ul>
-  </ul>
-
-<li><strong><a name="threads">Discussion threads</a></strong>
-  <ul>
-  <li>The thread manager (Mail::Box::Thread::Manager)
-      <ul>
-      <li>Maintaining threads
-      <li>Delayed thread detection
-      </ul>
-  <li>The thread node (Mail::Box::Thread::Node)
-  </ul>
-
-<li><strong><a name="send">Transmitting messages</a></strong> (L<Mail::Transport|Mail::Transport>)
-  <ul>
-  <li>Sending (Mail::Transport::Send)
-      <ul>
-      <li>Via Exim (Mail::Transport::Exim)
-      <li>Via Mailx (Mail::Transport::Mailx)
-      <li>Via Qmail (Mail::Transport::Qmail)
-      <li>Via Sendmail or Postfix (Mail::Transport::Sendmail)
-      <li>Via raw SMTP (Mail::Transport::SMTP)
-      </ul>
-  <li>Receiving (Mail::Transport::Receive)
-      <ul>
-      <li>Via POP3 (Mail::Transport::POP3)
-      </ul>
-  <li>Bi-directional
-      <ul>
-      <li>Via IMAP4 (Mail::Transport::IMAP4)
-      </ul>
-  </ul>
-
-<li><strong><a name="perform">Performance</a></strong>
-  <ul>
-  <li>Quality over performance
-  <li>Weak references
-  <li>Reducing memory consumption
-      <ul>
-      <li>Lazy extraction
-      <li>Picking the optimal body class
-      <li>Reducing the header size
-          (Mail::Message::Head::Partial)
-      <li>
-      </ul>
-  <li>Destructing messages (Mail::Box::Message::Destructed)
-  </ul>
-<li><strong>Additional modules</strong>
-  <ul>
-  <li>Extensions
-      <ul>
-      <li>Mail::Box::Parser::C, a faster parser
-      <li>HTML::FromMail,
-          webmail applications builder
-      </ul>
-  <li>Helper modules
-      <ul>
-      <li>MIME::Types
-      <li>Object::Realize::Later
-      <li>User::Identity
-      </ul>
-  </ul>
-</ol>
-
-=end :html
-
-
-
-
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box-Index.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box-Index.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box-Overview.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box-Overview.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box-Overview.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,330 +0,0 @@
-
-=head1 NAME
-
-Mail::Box-Overview - objects used by Mail::Box
-
-
-
-
-=head1 DESCRIPTION
-
-
-=head2 Introduction
-
-The MailBox package is a suite of classes for accessing and managing
-email folders in a folder-independent manner. This package is an
-alternative to the C<Mail::Folder> and C<MIME::*> packages. It abstracts the
-details of messages, message storage, and message threads, while
-providing better performance than older mail packages. It is meant to
-provide an object-oriented toolset for all kinds of e-mail applications,
-under which Mail User-Agents (MUA) and mail filtering programs.
-
-This package is modular --parts of it can be used independently of the
-rest. For example, the L<Mail::Box::Manager|Mail::Box::Manager> can automatically determine
-that a folder is in Mbox format and return an object of the
-L<Mail::Box::Mbox|Mail::Box::Mbox> class, or the user program can bypass the manager and
-create L<Mail::Box::Mbox|Mail::Box::Mbox> objects directly. Similarly, if the user program
-is only manipulating a single message, a L<Mail::Message|Mail::Message>.
-
-The Mail::Box package has special features to help MUA's access folder
-data quickly in random order.  You will not really benefit (neither
-slower) if you need the full folder sequentially.
-
-This code is beta, which means that there are no serious applications
-written with it yet.  Please inform the author when you have, so this
-module can be marked as stable.  Read the STATUS file enclosed in the package
-for more details.  You may also want to have a look at the sample
-scripts in the C<scripts> directory.
-
-=head2 The class relations
-
-L<Mail::Box::Manager|Mail::Box::Manager> objects play a central role in any program which
-is built with MailBox.  Each program will create one manager, and
-then open folders via that manager.  Besides folders, the manager can
-also be used to discover message threads: sequences of messages with
-their follow-ups.
-
-                       <has-a>      Mail::Box::Mbox
-  Mail::Box::Manager <---------*    (Mail::Box::MH)
-         ^                :         (Mail::Box::Maildir)
-         |           (maintains)    (Mail::Box::POP3)
-         |                :
-         |                :
-         `---------------------*  Mail::Box::Thread::Manager
-                      (<has-a>)
-
-Each folder maintains a list of messages.  Much effort is made to hide
-differences between folder types and kinds of messages.  Your program can
-be used for MBOX, MH, Maildir, and POP3 folders with no change at all (as
-long as you stick to the rules).
-
- Mail::Box::Mbox  <-----------* Mail::Box::Mbox::Message
-        ^             <has-a>            ^
-        | <isa>                          | <isa>
-        |                                |
-    Mail::Box     ............. Mail::Box::Message
-                                         ^
-                                         | <isa>
-                                         |
-                                   Mail::Message
-                                        / \
-                                       <has-a>  
-                                      /     \
-                           Mail::Message   Mail::Message 
-                             ::Body            ::Head
-
-The situation for MH and Maildir folders is a little more complicated,
-because they have an extra intermediate level of abstraction: L<Mail::Box::Dir|Mail::Box::Dir>.
-The POP3 folder has an intermediate L<Mail::Box::Net|Mail::Box::Net>.
-
-In the future, when more Mbox-like folder types get implemented, there
-may be a L<Mail::Box::File|Mail::Box::File> level too.  The following is also true
-for the mail boxes
-
- MB::MH::Message                 MB::POP3::Message
-       \  MB::Maildir::Message            /
-        \         /                      /
-         \       /   MB::Mbox::Message  /
-          \     /         |            /
-        MB::Dir::Message  |   MB::Net::Message
-                     \    |    /
-                      \   |   /
-                      MB::Message
-                          |
-                          |
-                     Mail::Message
-
-=head2 The Manager
-
-The mailbox manager L<Mail::Box::Manager|Mail::Box::Manager> encapsulates folder management
-issues. It maintains a set of open mail folders (mailboxes), and provides
-methods for opening and closing them, efficiently moving messages between
-folders, and efficiently appending messages to folders.  It contains
-L<Mail::Box|Mail::Box> objects which may be of different types.  Most folder types
-can be detected automatically.
-
-The main manager also manages message-thread detector objects, and informs them
-when the contents of a folder have changed. This manager class is the
-only one you instantiate yourself: objects of all other classes will be
-provided by your folder manager.
-
-You are strongly advised to use this object, but you can often do without it
-and open a specific folder-type directly.
-
-=head2 The Messages
-
-=over 4
-
-=item L<Mail::Message|Mail::Message>
-
-A base class that defines an interface for manipulating the head and
-body of a message.  There are various header object types
-(L<Mail::Message::Head|Mail::Message::Head>'s) and a bunch of body object types
-(L<Mail::Message::Body|Mail::Message::Body>'s).  
-
-The L<Mail::Message::Construct|Mail::Message::Construct> package is loaded when more complex tasks
-have to be performed on messages, like creating replies, bounces, or a
-forward message.  These
-functionalities are described and implemented in the ::Construct
-file, but are automatically added to the L<Mail::Message|Mail::Message> namespace when used.
-
-Message types which are foreign to MailBox can be used in the
-MailBox environment: there are some converters implemented via
-L<Mail::Message::Convert|Mail::Message::Convert>.  Particularly the popular Mail::Internet
-and MIME::Entity are supported.
-
-=item L<Mail::Box::Message|Mail::Box::Message>
-
-An abstract base class which defines an interface for mail messages
-which are stored in any folder.  It inherits from L<Mail::Message|Mail::Message>, and
-adds the basic idea of I<location> to a message.
-
-=item L<Mail::Message::Body|Mail::Message::Body>
-
-This is the base class for all message bodies.  It describes what you
-can do with any kind of body.  The body types differ on the way how the
-keep the body content during the run of your program.
-
-One special case of the body types is the L<Mail::Message::Body::Multipart|Mail::Message::Body::Multipart>, which
-contains a set of L<Mail::Message::Part|Mail::Message::Part> objects.  These are just like
-normal messages, except that they are contained in an other message.
-The L<Mail::Message::Body::Nested|Mail::Message::Body::Nested> body type is comparible, but contains only
-one message: they are used for C<message/rfc822> message encodings.
-
-When needed, the functionality of the body objects is extended with
-L<Mail::Message::Body::Construct|Mail::Message::Body::Construct> and L<Mail::Message::Body::Encode|Mail::Message::Body::Encode>.  The
-former package implements things like concatenation, the later controls message
-encoding and decoding.  In the current implementation this is limited to
-transfer encodings (implemented in the L<Mail::Message::TransferEnc|Mail::Message::TransferEnc> packages).
-Automatic character and mime recodings are on the wish-list.
-
-=item L<Mail::Message::Head|Mail::Message::Head>
-
-The header for a single message. Maintains a set of L<Mail::Message::Field|Mail::Message::Field>
-objects, each containing one header line.  Fields are the only
-objects which have no logging and tracing facilities, purely for reasons
-of performance.
-
-The header object has three sub-classes: the L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>
-version knows all lines for sure, L<Mail::Message::Head::Subset|Mail::Message::Head::Subset> maintains
-an unknown subset of lines, and the L<Mail::Message::Head::Delayed|Mail::Message::Head::Delayed> has no
-lines yet but knows where to get them.
-
-The latter two will automatically get the missing header lines from the
-mailbox files when needed, and so transform into a C<::Complete> header.
-It is fully transparent to the user of MailBox in which shape the
-header really is on the moment.
-
-=back
-
-=head2 The Folder types
-
-=over 4
-
-=item L<Mail::Box|Mail::Box>
-
-A base class that defines a standard interface for mail boxes which
-is independent of mailbox type. Objects of this class contain
-a L<Mail::Box::Locker|Mail::Box::Locker> and a list of L<Mail::Box::Message|Mail::Box::Message> objects.
-
-=item L<Mail::Box::Dir|Mail::Box::Dir>
-
-The base class for all folders which use a directory organization: each
-message is a separate entity (file) grouped in a directory.  Each
-L<Mail::Box::Dir::Message|Mail::Box::Dir::Message> represents one message, one such entity.
-
-=item L<Mail::Box::Net|Mail::Box::Net>
-
-The base class for all folders which have the messages outside direct
-reach of the MailBox library, for instance on a remote system, or in
-a database.
-
-=item L<Mail::Box::Mbox|Mail::Box::Mbox>
-
-This class derives from L<Mail::Box|Mail::Box>, and implements its interface for
-mbox-style folders. It maintains a set of L<Mail::Box::Mbox::Message|Mail::Box::Mbox::Message>
-objects, which are derived from a L<Mail::Box::Message|Mail::Box::Message>.
-
-Mbox-style folders have one file containing multiple messages per
-folder.  When folders get large, access tends to get slow.
-
-=item L<Mail::Box::MH|Mail::Box::MH>
-
-This class derives from L<Mail::Box::Dir|Mail::Box::Dir>, and implements its interface for
-MH-style folders. It maintains a set of L<Mail::Box::MH::Message|Mail::Box::MH::Message>
-objects, which are derived from a L<Mail::Box::Dir::Message|Mail::Box::Dir::Message>.
-
-MH-style folders are represented by a directory, where each message is
-stored in a separate file.  The message files are sequentially numbered.
-It is fast to open one single message, but hard to get an overview.
-
-=item L<Mail::Box::MH::Index|Mail::Box::MH::Index>
-
-The base class for MH mailbox indexes which provides methods for reading,
-writing, and managing message indexes.  These indexes are used to
-speed-up access to directory based folders.
-
-=item L<Mail::Box::MH::Labels|Mail::Box::MH::Labels>
-
-Also for efficiency reasons, a separate file is maintained which contains
-flags about the messages.  This file for instance lists new files.  This
-way, the MH message files do not have to be opened to find that out.
-
-=item L<Mail::Box::Maildir|Mail::Box::Maildir>
-
-Like the MH folder type, this class derives from L<Mail::Box::Dir|Mail::Box::Dir>.  It
-implements its interface for Maildir-style folders. It maintains a set
-of L<Mail::Box::Maildir::Message|Mail::Box::Maildir::Message> objects, which are derived from a
-L<Mail::Box::Dir::Message|Mail::Box::Dir::Message>.
-
-=item L<Mail::Box::POP3|Mail::Box::POP3>
-
-Implements the POP3 protocol based on L<Mail::Box::Net|Mail::Box::Net>.  The
-L<Mail::Transport::POP3|Mail::Transport::POP3> implementation handles the protocol details.  In this
-kind of folders, you can only read and delete messages.
-
-=back
-
-=head2 Various Other Classes
-
-=over 4
-
-=item L<Mail::Box::Thread::Manager|Mail::Box::Thread::Manager>
-
-Maintains a set of message-threads over one or more folders.  A
-message-thread is a start message with all the replies on it.  And the
-replies on replies, and so on.  This object is used to construct the
-thread for a set of open folders.
-
-This object maintains linked lists of L<Mail::Box::Thread::Node|Mail::Box::Thread::Node> objects.
-L<Mail::Message::Dummy|Mail::Message::Dummy>'s fill-up some holes.
-
-=item L<Mail::Box::Locker|Mail::Box::Locker>
-
-Provides a folder locking interface which is inherited by the L<Mail::Box|Mail::Box>
-class.  Currently it supports dot-file locking (C<filename.lock>),
-flock filehandle locking, and locking over NFS.  Each is implemented in a
-separate class.  A multi-locker, using a set of lock-methods at the
-same time is also available.
-
-=item L<Mail::Box::Search|Mail::Box::Search>
-
-The set of search packages implement various search techniques in an uniformal
-way.  Although implementing your own search algorithm is simple in general,
-in practice multiparts, encodings, and mime-types complicate things.
-
-=item L<Mail::Box::Parser|Mail::Box::Parser>
-
-The parser reads messages, and transforms them into data-structures such
-that the content of header and body can be used within the program.  The
-first parser is implemented in pure Perl.  A second parser is under development,
-and will written in C, to gain speed.
-
-=item L<Mail::Box::Tie|Mail::Box::Tie>
-
-Provides hash (L<Mail::Box::Tie::HASH|Mail::Box::Tie::HASH>) or array tied
-(L<Mail::Box::Tie::ARRAY|Mail::Box::Tie::ARRAY>) access to any mail folder derived from
-L<Mail::Box|Mail::Box>.  This beautifies your code in some applications.
-
-=item L<Mail::Transport|Mail::Transport>
-
-Various ways of sending and receiving messages are implemented.  Sending
-is possible via external programs, like C<mail>, C<Mailx>, C<sendmail>, or
-autonomously with direct SMTP.  Receiving is currently only implemented
-via POP3.
-
-=item L<Mail::Reporter|Mail::Reporter>
-
-A debugging and logging class which is inherited by most of the Mail::
-modules.  For each object, you can say what log and error reports must be
-kept or directly presented to the user.  This way you can decide to have
-Mail::Box report about problems, or do it all yourself.
-
-=back
-
-All classes are written to be extensible.  
-
-
-
-
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box-Overview.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box-Overview.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,945 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Box;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Reporter';
-
-use Mail::Box::Message;
-use Mail::Box::Locker;
-use File::Spec;
-
-use Carp;
-use Scalar::Util 'weaken';
-use List::Util   qw/sum first/;
-
-#-------------------------------------------
-# Clean exist required to remove lockfiles and to save changes.
-
-$SIG{INT} = $SIG{QUIT} = $SIG{PIPE} = $SIG{TERM} = sub {exit 0};
-
-#-------------------------------------------
-
-
-#-------------------------------------------
-
-
-use overload '@{}' => sub { shift->{MB_messages} }
-           , '""'  => 'name'
-           , 'cmp' => sub {$_[0]->name cmp "${_[1]}"};
-
-#-------------------------------------------
-
-
-sub new(@)
-{   my $class        = shift;
-
-    if($class eq __PACKAGE__)
-    {   my $package = __PACKAGE__;
-
-        croak <<USAGE;
-You should not instantiate $package directly, but rather one of the
-sub-classes, such as Mail::Box::Mbox.  If you need automatic folder
-type detection then use Mail::Box::Manager.
-USAGE
-    }
-
-    my %args = @_;
-    weaken $args{manager};   # otherwise, the manager object may live too long
-
-    my $self = $class->SUPER::new
-      ( @_
-      , init_options => \%args     # for clone
-      ) or return;
-
-    $self->read or return
-        if $self->{MB_access} =~ /r|a/;
-
-    $self;
-}
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    return unless defined $self->SUPER::init($args);
-
-    my $class      = ref $self;
-    my $foldername = $args->{folder} || $ENV{MAIL};
-    unless($foldername)
-    {   $self->log(ERROR => "No folder name specified.");
-        return;
-    }
-
-    $self->{MB_foldername}   = $foldername;
-    $self->{MB_init_options} = $args->{init_options};
-    $self->{MB_coerce_opts}  = $args->{coerce_options} || [];
-    $self->{MB_access}       = $args->{access}         || 'r';
-    $self->{MB_remove_empty}
-         = defined $args->{remove_when_empty} ? $args->{remove_when_empty} : 1;
-
-    $self->{MB_save_on_exit}
-         = defined $args->{save_on_exit} ? $args->{save_on_exit} : 1;
-
-    $self->{MB_messages}     = [];
-    $self->{MB_msgid}        = {};
-    $self->{MB_organization} = $args->{organization}      || 'FILE';
-    $self->{MB_linesep}      = "\n";
-    $self->{MB_keep_dups}    = !$self->writable || $args->{keep_dups};
-    $self->{MB_fix_headers}  = $args->{fix_headers};
-
-    my $folderdir = $self->folderdir($args->{folderdir});
-    $self->{MB_trusted}      = exists $args->{trusted} ? $args->{trusted}
-      : substr($foldername, 0, 1) eq '='               ? 1
-      : !defined $folderdir                            ? 0
-      : substr($foldername, 0, length $folderdir) eq $folderdir;
-
-    if(exists $args->{manager})
-    {   $self->{MB_manager}  = $args->{manager};
-        weaken($self->{MB_manager});
-    }
-
-    my $message_type = $self->{MB_message_type}
-        = $args->{message_type}     || $class . '::Message';
-    $self->{MB_body_type}
-        = $args->{body_type}        || 'Mail::Message::Body::Lines';
-    $self->{MB_body_delayed_type}
-        = $args->{body_delayed_type}|| 'Mail::Message::Body::Delayed';
-    $self->{MB_head_delayed_type}
-        = $args->{head_delayed_type}|| 'Mail::Message::Head::Delayed';
-    $self->{MB_multipart_type}
-        = $args->{multipart_type}   || 'Mail::Message::Body::Multipart';
-    $self->{MB_field_type}          = $args->{field_type};
-
-    my $headtype     = $self->{MB_head_type}
-        = $args->{head_type}        || 'Mail::Message::Head::Complete';
-
-    my $extract  = $args->{extract} || 'extractDefault';
-    $self->{MB_extract}
-      = ref $extract eq 'CODE' ? $extract
-      : $extract eq 'ALWAYS'   ? sub {1}
-      : $extract eq 'LAZY'     ? sub {0}
-      : $extract eq 'NEVER'    ? sub {1}  # compatibility
-      : $extract =~ m/\D/      ? sub {no strict 'refs';shift->$extract(@_)}
-      :     sub { my $size = $_[1]->guessBodySize;
-                  defined $size && $size < $extract;
-                };
-
-    #
-    # Create a locker.
-    #
-
-    $self->{MB_locker}
-      = $args->{locker}
-      || Mail::Box::Locker->new
-          ( folder   => $self
-          , method   => $args->{lock_type}
-          , timeout  => $args->{lock_timeout}
-          , expires  => $args->{lock_wait}
-          , file     => ($args->{lockfile} || $args->{lock_file})
-          );
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub folderdir(;$)
-{   my $self = shift;
-    $self->{MB_folderdir} = shift if @_;
-    $self->{MB_folderdir};
-}
-
-sub foundIn($@) { shift->notImplemented }
-
-#-------------------------------------------
-
-
-sub name() {shift->{MB_foldername}}
-
-#-------------------------------------------
-
-
-sub type() {shift->notImplemented}
-
-#-------------------------------------------
-
-
-sub url()
-{   my $self = shift;
-    $self->type . ':' . $self->name;
-}
-
-#-------------------------------------------
-
-
-sub size() { sum map { $_->size } shift->messages('ACTIVE') }
-
-#-------------------------------------------
-
-
-sub update(@)
-{   my $self = shift;
-
-    $self->updateMessages
-      ( trusted      => $self->{MB_trusted}
-      , head_type    => $self->{MB_head_type}
-      , field_type   => $self->{MB_field_type}
-      , message_type => $self->{MB_message_type}
-      , body_delayed_type => $self->{MB_body_delayed_type}
-      , head_delayed_type => $self->{MB_head_delayed_type}
-      , @_
-      );
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub organization() { shift->notImplemented }
-
-#-------------------------------------------
-
-
-sub addMessage($@)
-{   my $self    = shift;
-    my $message = shift or return $self;
-    my %args    = @_;
-
-    confess <<ERROR if $message->can('folder') && defined $message->folder;
-You cannot add a message which is already part of a folder to a new
-one.  Please use moveTo or copyTo.
-ERROR
-
-    # Force the message into the right folder-type.
-    my $coerced = $self->coerce($message);
-    $coerced->folder($self);
-
-    unless($coerced->head->isDelayed)
-    {   # Do not add the same message twice, unless keep_dups.
-        my $msgid = $coerced->messageId;
-
-        unless($self->{MB_keep_dups})
-        {   if(my $found = $self->messageId($msgid))
-            {   $coerced->label(deleted => 1);
-                return $found;
-            }
-        }
-
-        $self->messageId($msgid, $coerced);
-        $self->toBeThreaded($coerced);
-    }
-
-    $self->storeMessage($coerced);
-    $coerced;
-}
-
-#-------------------------------------------
-
-
-
-sub addMessages(@)
-{   my $self = shift;
-    map {$self->addMessage($_)} @_;
-}
-
-#-------------------------------------------
-
-
-sub copyTo($@)
-{   my ($self, $to, %args) = @_;
-
-    my $select      = $args{select} || 'ACTIVE';
-    my $subfolders  = exists $args{subfolders} ? $args{subfolders} : 1;
-    my $can_recurse = not $self->isa('Mail::Box::POP3');
-
-    my ($flatten, $recurse)
-       = $subfolders eq 'FLATTEN' ? (1, 0)
-       : $subfolders eq 'RECURSE' ? (0, 1)
-       : !$subfolders             ? (0, 0)
-       : $can_recurse             ? (0, 1)
-       :                            (1, 0);
-
-    my $delete = $args{delete_copied} || 0;
-    my $share  = $args{share}         || 0;
-
-    $self->_copy_to($to, $select, $flatten, $recurse, $delete, $share);
-}
-
-# Interface may change without warning.
-sub _copy_to($@)
-{   my ($self, $to, @options) = @_;
-    my ($select, $flatten, $recurse, $delete, $share) = @options;
-
-    $self->log(ERROR => "Destination folder $to is not writable."),
-        return unless $to->writable;
-
-    # Take messages from this folder.
-    my @select = $self->messages($select);
-    $self->log(PROGRESS =>
-        "Copying ". at select." messages from $self to $to.");
-
-    foreach my $msg (@select)
-    {   if($msg->copyTo($to, share => $share))
-             { $msg->label(deleted => 1) if $delete }
-        else { $self->log(ERROR => "Copying failed for one message.") }
-    }
-
-    return $self unless $flatten || $recurse;
-
-    # Take subfolders
-
-  SUBFOLDER:
-    foreach ($self->listSubFolders(check => 1))
-    {   my $subfolder = $self->openSubFolder($_, access => 'r');
-        $self->log(ERROR => "Unable to open subfolder $_"), next
-            unless defined $subfolder;
-
-        if($flatten)   # flatten
-        {    unless($subfolder->_copy_to($to, @options))
-             {   $subfolder->close;
-                 return;
-             }
-        }
-        else           # recurse
-        {    my $subto = $to->openSubFolder($_, create => 1, access => 'rw');
-             unless($subto)
-             {   $self->log(ERROR => "Unable to create subfolder $_ of $to");
-                 next SUBFOLDER;
-             }
-
-             unless($subfolder->_copy_to($subto, @options))
-             {   $subfolder->close;
-                 $subto->close;
-                 return;
-             }
-
-             $subto->close;
-        }
-
-        $subfolder->close;
-    }
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub close(@)
-{   my ($self, %args) = @_;
-    my $force = $args{force} || 0;
-
-    return 1 if $self->{MB_is_closed};
-    $self->{MB_is_closed}++;
-
-    # Inform manager that the folder is closed.
-    my $manager = delete $self->{MB_manager};
-    $manager->close($self, close_by_self =>1)
-        if defined $manager && !$args{close_by_manager};
-
-    my $write;
-    for($args{write} || 'MODIFIED')
-    {   $write = $_ eq 'MODIFIED' ? $self->isModified
-               : $_ eq 'ALWAYS'   ? 1
-               : $_ eq 'NEVER'    ? 0
-               : croak "Unknown value to folder->close(write => $_).";
-    }
-
-    if($write && !$force && !$self->writable)
-    {   $self->log(WARNING => "Changes not written to read-only folder $self.
-Suggestion: \$folder->close(write => 'NEVER')");
-        $self->locker->unlock;
-        $self->{MB_messages} = [];    # Boom!
-        return 0;
-    }
-
-    my $rc = !$write
-          || $self->write
-               ( force => $force
-               , save_deleted => $args{save_deleted} || 0
-               );
-
-    $self->locker->unlock;
-    $self->{MB_messages} = [];                  # Boom!
-    $rc;
-}
-
-#-------------------------------------------
-
-
-sub delete(@)
-{   my ($self, %args) = @_;
-    my $recurse = exists $args{recursive} ? $args{recursive} : 1;
-
-    # Extra protection: do not remove read-only folders.
-    unless($self->writable)
-    {   $self->log(ERROR => "Folder $self not deleted: not writable.");
-        $self->close(write => 'NEVER');
-        return;
-    }
-
-    # Sub-directories need to be removed first.
-    if($recurse)
-    {   foreach ($self->listSubFolders)
-        {   my $sub = $self->openRelatedFolder
-               (folder => "$self/$_", access => 'd', create => 0);
-            defined $sub && $sub->delete(%args);
-        }
-    }
-
-    $self->close(write => 'NEVER');
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub appendMessages(@) {shift->notImplemented}
-
-#-------------------------------------------
-
-
-sub writable()  {shift->{MB_access} =~ /w|a|d/ }
-sub writeable() {shift->writable}  # compatibility [typo]
-sub readable()  {1}  # compatibility
-
-#-------------------------------------------
-
-
-sub access()    {shift->{MB_access}}
-
-#-------------------------------------------
-
-
-sub modified(;$)
-{   my $self = shift;
-    return $self->isModified unless @_;   # compat 2.036
-
-    return
-      if $self->{MB_modified} = shift;    # force modified flag
-
-    # unmodify all messages
-    $_->modified(0) foreach $self->messages;
-    0;
-}
-
-#-------------------------------------------
-
-
-sub isModified()
-{   my $self     = shift;
-    return 1 if $self->{MB_modified};
-
-    foreach (@{$self->{MB_messages}})
-    {    return $self->{MB_modified} = 1
-            if $_->isDeleted || $_->isModified;
-    }
-
-    0;
-}
-
-#-------------------------------------------
-
-
-sub message(;$$)
-{   my ($self, $index) = (shift, shift);
-    @_ ?  $self->{MB_messages}[$index] = shift : $self->{MB_messages}[$index];
-}
-
-#-------------------------------------------
-
-
-sub messageId($;$)
-{   my ($self, $msgid) = (shift, shift);
-
-    if($msgid =~ m/\<([^>]+)\>/s )
-    {   $msgid = $1;
-        $msgid =~ s/\s//gs;
-
-        $self->log(WARNING => "Message-id '$msgid' does not contain a domain.")
-            unless index($msgid, '@') >= 0;
-    }
-
-    return $self->{MB_msgid}{$msgid} unless @_;
-
-    my $message = shift;
-
-    # Undefine message?
-    unless($message)
-    {   delete $self->{MB_msgid}{$msgid};
-        return;
-    }
-
-    my $double = $self->{MB_msgid}{$msgid};
-    if(defined $double && !$self->{MB_keep_dups})
-    {   my $head1 = $message->head;
-        my $head2 = $double->head;
-
-        my $subj1 = $head1->get('subject') || '';
-        my $subj2 = $head2->get('subject') || '';
-
-        my $to1   = $head1->get('to') || '';
-        my $to2   = $head2->get('to') || '';
-
-        # Auto-delete doubles.
-        return $message->label(deleted => 1)
-            if $subj1 eq $subj2 && $to1 eq $to2;
-
-        $self->log(WARNING => "Different messages with id $msgid");
-        $msgid = $message->takeMessageId(undef);
-    }
-
-    $self->{MB_msgid}{$msgid} = $message;
-    weaken($self->{MB_msgid}{$msgid});
-    $message;
-}
-
-sub messageID(@) {shift->messageId(@_)} # compatibility
-
-#-------------------------------------------
-
-
-sub find($)
-{   my ($self, $msgid) = (shift, shift);
-    my $msgids = $self->{MB_msgid};
-
-    if($msgid =~ m/\<([^>]*)\>/s)
-    {   $msgid = $1;
-        $msgid =~ s/\s//gs;
-    }
-    else
-    {   # Illegal message-id
-        $msgid =~ s/\s/+/gs;
-    }
-
-    $self->scanForMessages(undef, $msgid, 'EVER', 'ALL')
-        unless exists $msgids->{$msgid};
-
-    $msgids->{$msgid};
-}
-
-#-------------------------------------------
-
-
-sub messages($;$)
-{   my $self = shift;
-
-    return @{$self->{MB_messages}} unless @_;
-    my $nr = @{$self->{MB_messages}};
-
-    if(@_==2)   # range
-    {   my ($begin, $end) = @_;
-        $begin += $nr   if $begin < 0;
-        $begin  = 0     if $begin < 0;
-        $end   += $nr   if $end < 0;
-        $end    = $nr-1 if $end >= $nr;
-
-        return () if $begin > $end;
-
-        my @range = @{$self->{MB_messages}}[$begin..$end];
-        return @range;
-    }
-
-    my $what = shift;
-    my $action
-      = ref $what eq 'CODE'? $what
-      : $what eq 'DELETED' ? sub {$_[0]->isDeleted}
-      : $what eq 'ACTIVE'  ? sub {not $_[0]->isDeleted}
-      : $what eq 'ALL'     ? sub {1}
-      : $what =~ s/^\!//   ? sub {not $_[0]->label($what)}
-      :                      sub {$_[0]->label($what)};
-
-    grep {$action->($_)} @{$self->{MB_messages}};
-}
-
-#-------------------------------------------
-
-
-sub nrMessages(@) { scalar shift->messages(@_) }
-
-#-------------------------------------------
-
-
-sub messageIds()    { map {$_->messageId} shift->messages }
-sub allMessageIds() {shift->messageIds}  # compatibility
-sub allMessageIDs() {shift->messageIds}  # compatibility
-
-#-------------------------------------------
-
-
-sub current(;$)
-{   my $self = shift;
-
-    unless(@_)
-    {   return $self->{MB_current}
-           if exists $self->{MB_current};
-	
-        # Which one becomes current?
-	my $current
-	  = $self->findFirstLabeled(current => 1)
-	 || $self->findFirstLabeled(seen    => 0)
-	 || $self->message(-1)
-	 || return undef;
-
-        $current->label(current => 1);
-        $self->{MB_current} = $current;
-	return $current;
-    }
-
-    my $next = shift;
-    if(my $previous = $self->{MB_current})
-    {    $previous->label(current => 0);
-    }
-
-    ($self->{MB_current} = $next)->label(current => 1);
-    $next;
-}
-
-#-------------------------------------------
-
-
-sub scanForMessages($$$$)
-{   my ($self, $startid, $msgids, $moment, $window) = @_;
-
-    # Set-up msgid-list
-    my %search = map {($_ => 1)} ref $msgids ? @$msgids : $msgids;
-    return () unless keys %search;
-
-    # do not run on empty folder
-    my $nr_messages = $self->messages
-        or return keys %search; 
-
-    my $startmsg = $self->messageId($startid)
-        if defined $startid;
-
-    # Set-up window-bound.
-    my $bound = 0;
-    if($window ne 'ALL' && defined $startmsg)
-    {   $bound = $startmsg->seqnr - $window;
-        $bound = 0 if $bound < 0;
-    }
-
-    my $last = ($self->{MBM_last} || $nr_messages) -1;
-    return keys %search if defined $bound && $bound > $last;
-
-    # Set-up time-bound
-    my $after = $moment eq 'EVER'   ? 0
-              : $moment =~ m/^\d+$/ ? $moment
-              : $startmsg->timestamp - $self->timespan2seconds($moment);
-
-    while($last >= $bound)
-    {   my $message = $self->message($last);
-        my $msgid   = $message->messageId; # triggers load
-
-        if(delete $search{$msgid})  # where we looking for this one?
-        {    last unless keys %search;
-        }
-
-        last if $message->timestamp < $after;
-        $last--;
-    }
-
-    $self->{MBM_last} = $last;
-    keys %search;
-}
-
-#-------------------------------------------
-
-
-sub findFirstLabeled($;$$)
-{   my ($self, $label, $set, $msgs) = @_;
-
-    if(!defined $set || $set)
-    {   my $f = first { $_->label($label) }
-           (defined $msgs ? @$msgs : $self->messages);
-    }
-    else
-    {   return first { not $_->label($label) }
-           (defined $msgs ? @$msgs : $self->messages);
-    }
-}
-
-#-------------------------------------------
-
-
-sub listSubFolders(@) { () }   # by default no sub-folders
-
-#-------------------------------------------
-
-
-sub openRelatedFolder(@)
-{   my $self    = shift;
-    my @options = (%{$self->{MB_init_options}}, @_);
-
-    $self->{MB_manager}
-    ? $self->{MB_manager}->open(@options)
-    : (ref $self)->new(@options);
-}
-
-#-------------------------------------------
-
-
-sub openSubFolder($@)
-{   my $self    = shift;
-    my $name    = $self->nameOfSubFolder(shift);
-    $self->openRelatedFolder(@_, folder => $name);
-}
-
-#-------------------------------------------
-
-
-sub nameOfSubFolder($;$)
-{   my ($thing, $name) = (shift, shift);
-    my $parent = @_ ? shift : ref $thing ? $thing->name : undef;
-    defined $parent ? "$parent/$name" : $name;
-}
-
-#-------------------------------------------
-
-
-sub topFolderWithMessages() { 1 }
-
-#-------------------------------------------
-
-
-sub read(@)
-{   my $self = shift;
-    $self->{MB_open_time}    = time;
-
-    local $self->{MB_lazy_permitted} = 1;
-
-    # Read from existing folder.
-    return unless $self->readMessages
-      ( trusted      => $self->{MB_trusted}
-      , head_type    => $self->{MB_head_type}
-      , field_type   => $self->{MB_field_type}
-      , message_type => $self->{MB_message_type}
-      , body_delayed_type => $self->{MB_body_delayed_type}
-      , head_delayed_type => $self->{MB_head_delayed_type}
-      , @_
-      );
-
-    if($self->{MB_modified})
-    {   $self->log(INTERNAL => "Modified $self->{MB_modified}");
-        $self->{MB_modified} = 0;  #after reading, no changes found yet.
-    }
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub write(@)
-{   my ($self, %args) = @_;
-
-    unless($args{force} || $self->writable)
-    {   $self->log(ERROR => "Folder $self is opened read-only.");
-        return;
-    }
-
-    my (@keep, @destroy);
-    if($args{save_deleted}) {@keep = $self->messages }
-    else
-    {   foreach ($self->messages)
-        {   if($_->isDeleted)
-            {   push @destroy, $_;
-                $_->diskDelete;
-            }
-            else {push @keep, $_}
-        }
-    }
-
-    unless(@destroy || $self->isModified)
-    {   $self->log(PROGRESS => "Folder $self not changed, so not updated.");
-        return $self;
-    }
-
-    $args{messages} = \@keep;
-    unless($self->writeMessages(\%args))
-    {   $self->log(WARNING => "Writing folder $self failed.");
-        return undef;
-    }
-
-    $self->modified(0);
-    $self->{MB_messages} = \@keep;
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub determineBodyType($$)
-{   my ($self, $message, $head) = @_;
-
-    return $self->{MB_body_delayed_type}
-        if $self->{MB_lazy_permitted}
-        && ! $message->isPart
-        && ! $self->{MB_extract}->($self, $head);
-
-    my $bodytype = $self->{MB_body_type};
-    ref $bodytype ? $bodytype->($head) : $bodytype;
-}
-
-sub extractDefault($)
-{   my ($self, $head) = @_;
-    my $size = $head->guessBodySize;
-    defined $size ? $size < 10000 : 0  # immediately extract < 10kb
-}
-
-sub lazyPermitted($)
-{   my $self = shift;
-    $self->{MB_lazy_permitted} = shift;
-}
-
-#-------------------------------------------
-
-
-sub storeMessage($)
-{   my ($self, $message) = @_;
-
-    push @{$self->{MB_messages}}, $message;
-    $message->seqnr( @{$self->{MB_messages}} -1);
-    $message;
-}
-
-#-------------------------------------------
-
-
-my %seps = (CR => "\015", LF => "\012", CRLF => "\015\012");
-
-sub lineSeparator(;$)
-{   my $self = shift;
-    return $self->{MB_linesep} unless @_;
-
-   my $sep   = shift;
-   $sep = $seps{$sep} if exists $seps{$sep};
-
-   $self->{MB_linesep} = $sep;
-   $_->lineSeparator($sep) foreach $self->messages;
-   $sep;
-}
-
-#-------------------------------------------
-
-
-sub create($@) {shift->notImplemented}
-
-#-------------------------------------------
-
-
-#-------------------------------------------
-
-
-sub coerce($@)
-{   my ($self, $message) = (shift, shift);
-    my $mmtype = $self->{MB_message_type};
-    $message->isa($mmtype) ? $message : $mmtype->coerce($message, @_);
-}
-
-#-------------------------------------------
-
-
-sub readMessages(@) {shift->notImplemented}
-
-#-------------------------------------------
-
-
-sub updateMessages(@) { shift }
-
-#-------------------------------------------
-
-
-sub writeMessages(@) {shift->notImplemented}
-
-#-------------------------------------------
-
-
-sub locker() { shift->{MB_locker} }
-
-#-------------------------------------------
-
-
-sub toBeThreaded(@)
-{   my $self = shift;
-
-    my $manager = $self->{MB_manager}
-       or return $self;
-
-    $manager->toBeThreaded($self, @_);
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub toBeUnthreaded(@)
-{   my $self = shift;
-
-    my $manager = $self->{MB_manager}
-       or return $self;
-
-    $manager->toBeThreaded($self, @_);
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub timespan2seconds($)
-{
-    if( $_[1] =~ /^\s*(\d+\.?\d*|\.\d+)\s*(hour|day|week)s?\s*$/ )
-    {     $2 eq 'hour' ? $1 * 3600
-        : $2 eq 'day'  ? $1 * 86400
-        :                $1 * 604800;  # week
-    }
-    else
-    {   $_[0]->log(ERROR => "Invalid timespan '$_' specified.");
-        undef;
-    }
-}
-
-#-------------------------------------------
-
-
-sub DESTROY
-{   my $self = shift;
-    $self->close unless $self->inGlobalDestruction || $self->{MB_is_closed};
-}
-
-
-#-------------------------------------------
-# Instance variables
-# MB_access: new(access)
-# MB_body_type: new(body_type)
-# MB_coerce_opts: Options which have to be applied to the messages which
-#    are coerced into this folder.
-# MB_current: Used by some mailbox-types to save last read message.
-# MB_field_type: new(field_type)
-# MB_folderdir: new(folderdir)
-# MB_foldername: new(folder)
-# MB_head_type: new(head_type)
-# MB_init_options: A copy of all the arguments given to the constructor
-# MB_is_closed: Whether or not the mailbox is closed
-# MB_extract: When to extract the body on the moment the header is read
-# MB_keep_dups: new(keep_dups)
-# MB_locker: A reference to the mail box locker.
-# MB_manager: new(manager)
-# MB_messages: A list of all the messages in the folder
-# MB_message_type: new(message_type)
-# MB_modified: true when the message is modified for sure
-# MB_msgid: A hash of all the messages in the mailbox, keyed on message ID
-# MB_open_time: The time at which a mail box is first opened
-# MB_organization: new(organization)
-# MB_remove_empty: new(remove_when_empty)
-# MB_save_on_exit: new(save_on_exit)
-
-#-------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Box.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,1922 +0,0 @@
-
-=head1 NAME
-
-Mail::Box - manage a mailbox, a folder with messages
-
-
-=head1 INHERITANCE
-
- Mail::Box
-   is a Mail::Reporter
-
- Mail::Box is extended by
-   Mail::Box::Dir
-   Mail::Box::File
-   Mail::Box::Net
-
-
-=head1 SYNOPSIS
-
- use Mail::Box::Manager;
- my $mgr    = Mail::Box::Manager->new;
- my $folder = $mgr->open(folder => $ENV{MAIL}, ...);
- print $folder->name;
-
- # Get the first message.
- print $folder->message(0);
-
- # Delete the third message
- $folder->message(3)->delete;
-
- # Get the number of messages in scalar context.
- my $emails = $folder->messages;
-
- # Iterate over the messages.
- foreach ($folder->messages) {...} # all messages
- foreach (@$folder) {...}          # all messages
-
- $folder->addMessage(Mail::Box::Message->new(...));
-
-Tied-interface:
-
- tie my(@inbox), 'Mail::Box::Tie::ARRAY', $inbox;
-
- # Four times the same:
- $inbox[3]->print;                 # tied
- $folder->[3]->print;              # overloaded folder
- $folder->message(3)->print;       # usual
- print $folder->[3];               # overloaded message
-
- tie my(%inbox), 'Mail::Box::Tie::HASH', $inbox;
-
- # Twice times the same
- $inbox{$msgid}->print;            # tied
- $folder->messageId($msgid)->print;# usual
-
-
-=head1 DESCRIPTION
-
-A L<Mail::Box::Manager|Mail::Box::Manager> creates C<Mail::Box> objects.  But you already
-knew, because you started with the L<Mail::Box-Overview|Mail::Box-Overview> manual page.
-That page is obligatory reading, sorry!
-
-C<Mail::Box> is the base class for accessing various types of mailboxes
-(folders) in a uniform manner.  The various folder types vary on how
-they store their messages, but when some effort those differences could
-be hidden behind a general API. For example, some folders store many
-messages in one single file, where other store each message in a separate
-file withing the same directory.
-
-No object in your program will be of type C<Mail::Box>: it is only used
-as base class for the real folder types.  C<Mail::Box> is extended by
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-(stringification)
-The folder objects stringify to their name.  This simplifies especially
-print statements and sorting a lot.
-
-I<Example:> use overloaded folder as string
-
-
- # Three lines with overloading: resp. cmp, @{}, and ""
- foreach my $folder (sort @folders)
- {   my $msgcount = @$folder;
-     print "$folder contains $msgcount messages\n";
- }
-
-=back
-
-overload: B<@{}>
-
-=over 4
-
-When the folder is used as if it is a reference to an array, it will
-show the messages, like L<messages()|Mail::Box/"The messages"> and L<message()|Mail::Box/"The messages"> would do.
-
-I<Example:> use overloaded folder as array
-
-
- my $msg = $folder->[3];
- my $msg = $folder->message(3);          # same
-
- foreach my $msg (@$folder) ...
- foreach my $msg ($folder->messages) ... # same
-
-=back
-
-overload: B<cmp>
-
-=over 4
-
-(string comparison) folders are compared based on their name.  The sort
-rules are those of the build-in C<cmp>.
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Box-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-Open a new folder. A list of labeled OPTIONS
-for the mailbox can be supplied. Some options pertain to Mail::Box, and
-others are added by sub-classes. The list below describes all the options
-provided by any Mail::Box.
-
-To control delay-loading of messages, as well the headers as the bodies,
-a set of C<*_type> options are available. C<extract> determines whether
-we want delay-loading.
-
- Option             Defined in       Default                                                         
- access                              C<'r'>                                                          
- body_delayed_type                   L<Mail::Message::Body::Delayed|Mail::Message::Body::Delayed>    
- body_type                           <folder specific>                                               
- coerce_options                      C<[]>                                                           
- create                              <false>                                                         
- extract                             C<10240>                                                        
- field_type                          undef                                                           
- fix_headers                         <false>                                                         
- folder                              C<$ENV{MAIL}>                                                   
- folderdir                           undef                                                           
- head_delayed_type                   L<Mail::Message::Head::Delayed|Mail::Message::Head::Delayed>    
- head_type                           L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>  
- keep_dups                           <false>                                                         
- lock_file                           undef                                                           
- lock_timeout                        1 hour                                                          
- lock_type                           L<Mail::Box::Locker::DotLock|Mail::Box::Locker::DotLock>        
- lock_wait                           10 seconds                                                      
- locker                              undef                                                           
- log                L<Mail::Reporter>  C<'WARNINGS'>                                                   
- manager                             undef                                                           
- message_type                        L<Mail::Box::Message|Mail::Box::Message>                        
- multipart_type                      L<Mail::Message::Body::Multipart|Mail::Message::Body::Multipart>
- remove_when_empty                   <true>                                                          
- save_on_exit                        <true>                                                          
- trace              L<Mail::Reporter>  C<'WARNINGS'>                                                   
- trusted                             <depends on folder location>                                    
-
-. access MODE
-
-=over 4
-
-Access-rights to the folder.  Folders are opened for read-only (which
-
-means write-protected) by default! MODE can be
-
-=over 4
-
-=item C<'r'>: read-only (default)
-
-=item C<'a'>: append
-
-=item C<'rw'>: read-write
-
-=item C<'d'>: delete
-=back
-
-These MODE has no relation to the modes actually used to open the folder
-files within this module.  For instance, if you specify C<"rw">, and
-open the folder, only read permission on the folder-file is required.
-
-Be warned: writing a MBOX folder may create a new file to replace the old
-folder.  The permissions and owner of the file may get changed by this.
-
-=back
-
-. body_delayed_type CLASS
-
-=over 4
-
-The bodies which are delayed: which will be read from file when it
-is needed, but not before.
-
-=back
-
-. body_type CLASS|CODE
-
-=over 4
-
-When messages are read from a folder-file, the headers will be stored in
-a C<head_type> object.  For the body, however, there is a range of
-choices about type, which are all described in L<Mail::Message::Body|Mail::Message::Body>.
-
-Specify a CODE-reference which produces the body-type to be created, or
-a CLASS of the body which is used when the body is not a multipart or
-nested.  In case of a code reference, the header structure is passed as
-first argument to the routine.
-
-Do I<not> return a delayed body-type (like C<::Delayed>), because that is
-determined by the C<extract> option while the folder is opened.  Even
-delayed message will require some real body type when they get parsed
-eventually.  Multiparts and nested messages are also outside your control.
-
-For instance:
-
- $mgr->open('InBox', body_type => \&which_body);
-
- sub which_body($) {
-     my $head = shift;
-     my $size = $head->guessBodySize || 0;
-     my $type = $size > 100000 ? 'File' : 'Lines';
-     "Mail::Message::Body::$type";
- }
-
-The default depends on the mail-folder type, although the general default
-is L<Mail::Message::Body::Lines|Mail::Message::Body::Lines>.  Please check the applicable
-manual pages.
-
-=back
-
-. coerce_options ARRAY
-
-=over 4
-
-Keep configuration information for messages which are coerced into the
-specified folder type, starting with a different folder type (or even
-no folder at all).
-Messages which are coerced are always fully read, so this kind of information
-does not need to be kept here.
-
-=back
-
-. create BOOLEAN
-
-=over 4
-
-Automatically create the folder when it does not exist yet.  This will only
-work when access is granted for writing or appending to the folder.
-
-Be careful: you may create a different folder type than you expect unless you
-explicitly specify L<Mail::Box::Manager::open(type)|Mail::Box::Manager/"Manage open folders">.
-
-=back
-
-. extract INTEGER | CODE | METHOD | 'LAZY'|'ALWAYS'
-
-=over 4
-
-Defines when to parse (process) the content of the message.
-When the header of a message is read, you may want to postpone the
-reading of the body: header information is more often needed than
-the body data, so why parse it always together?  The cost of delaying
-is not too high, and with some luck you may never need parsing the body.
-
-If you supply an INTEGER to this option, bodies of those messages with a
-total size less than that number will be extracted from the folder only
-when necessary.  Messages where the size (in the C<Content-Length> field)
-is not included in the header, like often the case for multiparts and nested
-messages, will not be extracted by default.
-
-If you supply a CODE reference, that subroutine is called every time
-that the extraction mechanism wants to determine whether to parse the
-body or not. The subroutine is called with the following arguments:
-
- CODE->(FOLDER, HEAD)
-
-where FOLDER is a reference to the folder we are reading.  HEAD refers to the
-L<Mail::Message::Head::Complete|Mail::Message::Head::Complete> head of the message at hand.  The routine must
-return a C<true> value (extract now) or a C<false> value (be lazy, do not
-parse yet).  Think about using the L<Mail::Message::Head::guessBodySize()|Mail::Message::Head/"About the body"> and
-L<Mail::Message::guessTimestamp()|Mail::Message/"The header"> on the header to determine your choice.
-
-The third possibility is to specify the NAME of a method.  In that case,
-for each message is called:
-
- FOLDER->NAME(HEAD)
-
-Where each component has the same meaning as described above.
-
-The fourth way to use this option involves constants: with C<LAZY>
-all messages will be delayed. With C<ALWAYS> you enforce unconditional
-parsing, no delaying will take place.  The latter is usuful when you are
-sure you always need all the messages in the folder.
-
- $folder->new(extract => 'LAZY');  # Very lazy
- $folder->new(extract => 10000);   # Less than 10kB
-
- # same, but implemented yourself
- $folder->new(extract => &large);
- sub large($) {
-    my ($f, $head) = @_;
-    my $size = $head->guessBodySize;
-    defined $size ? $size < 10000 : 1
- };
-
- # method call by name, useful for Mail::Box
- # extensions. The example selects all messages
- # sent by you to be loaded without delay.
- # Other messages will be delayed.
- $folder->new(extract => 'sent_by_me');
- sub Mail::Box::send_by_me($) {
-     my ($self, $header) = @_;
-     $header->get('from') =~ m/\bmy\@example.com\b/i;
- }
-
-=back
-
-. field_type CLASS
-
-=over 4
-
-The type of the fields to be used in a header. Must extend
-L<Mail::Message::Field|Mail::Message::Field>.
-
-=back
-
-. fix_headers BOOLEAN
-
-=over 4
-
-Broken MIME headers usually stop the parser: all lines not parsed are
-added to the body of the message.  With this flag set, the erroneous line
-is added to the previous header field and parsing is continued.
-See L<Mail::Box::Parser::Perl::new(fix_header_errors)|Mail::Box::Parser::Perl/"METHODS">.
-
-=back
-
-. folder FOLDERNAME
-
-=over 4
-
-Which folder to open (for reading or writing). When used for reading (the
-C<access> option set to C<"r"> or C<"a">) the mailbox should already exist
-and must be readable. The file or directory of the mailbox need not exist if it
-is opened for reading and writing (C<"rw">).  Write-permission is checked when
-opening an existing mailbox.
-
-The folder name can be preceded by a C<"=">, to indicate that it is named
-relative to the directory specified in new(folderdir).  Otherwise, it is
-taken as relative or absolute path.
-
-=back
-
-. folderdir DIRECTORY
-
-=over 4
-
-Where are folders to be found by default?  A folder-name may be preceded by
-a equals-sign (C<=>, a C<mutt> convension) to explicitly state that the folder
-is located below the default directory.  For example: in case
-C<folderdir =E<gt> '/tmp'> and C<folder =E<gt> '=abc'>, the name of the
-folder-file is C<'/tmp/abc'>.  Each folder type has already some default set.
-
-=back
-
-. head_delayed_type CLASS
-
-=over 4
-
-The headers which are delayed: which will be read from file when it
-is needed, but not before.
-
-=back
-
-. head_type CLASS
-
-=over 4
-
-The type of header which contains all header information.  Must extend
-L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>.
-
-=back
-
-. keep_dups BOOLEAN
-
-=over 4
-
-Indicates whether or not duplicate messages within the folder should          
-be retained.  A message is considered to be a duplicate if its message-id      
-is the same as a previously parsed message within the same folder. If this         
-option is false (the default) such messages are automatically deleted,
-because it is considered useless to store the same message twice.
-
-=back
-
-. lock_file FILENAME
-
-=over 4
-
-The name of the file which is used to lock.  This must be specified when
-locking is to be used.
-
-=back
-
-. lock_timeout SECONDS
-
-=over 4
-
-When the lock file is older than the specified number of SECONDS, it is
-considered a mistake.  The original lock is released, and accepted for
-this folder.
-
-=back
-
-. lock_type CLASS|STRING|ARRAY
-
-=over 4
-
-The type of the locker object.  This may be the full name of a CLASS
-which extends Mail::Box::Locker, or one of the known locker types
-C<DotLock>, C<Flock>, C<Multi>, C<NFS>, C<POSIX>, or C<NONE>.  If an
-ARRAY is specified, then a Multi locker is built which uses the specified
-list.
-
-=back
-
-. lock_wait SECONDS
-
-=over 4
-
-SECONDS to wait before failing on opening this folder.
-
-=back
-
-. locker OBJECT
-
-=over 4
-
-An OBJECT which extends L<Mail::Box::Locker|Mail::Box::Locker>, and will handle folder locking
-replacing the default lock behavior.
-
-=back
-
-. log LEVEL
-
-. manager MANAGER
-
-=over 4
-
-A reference to the object which manages this folder -- typically an
-L<Mail::Box::Manager|Mail::Box::Manager> instance.
-
-=back
-
-. message_type CLASS
-
-=over 4
-
-What kind of message objects are stored in this type of folder.  The
-default is L<Mail::Box::Message|Mail::Box::Message> (which is a sub-class of L<Mail::Message|Mail::Message>).
-The class you offer must be an extension of L<Mail::Box::Message|Mail::Box::Message>.
-
-=back
-
-. multipart_type CLASS
-
-=over 4
-
-The default type of objects which are to be created for multipart message
-bodies.
-
-=back
-
-. remove_when_empty BOOLEAN
-
-=over 4
-
-Determines whether to remove the folder file or directory
-automatically when the write would result in a folder without
-messages nor sub-folders.
-
-=back
-
-. save_on_exit BOOLEAN
-
-=over 4
-
-Sets the policy for saving the folder when it is closed.
-A folder can be closed manually (see L<close()|Mail::Box/"The folder">) or in a number of
-implicit ways, including on the moment the program is terminated.
-
-=back
-
-. trace LEVEL
-
-. trusted BOOLEAN
-
-=over 4
-
-Flags whether to trust the data in the folder or not.  Folders which
-reside in your C<folderdir> will be trusted by default (even when the
-names if not specified staring with C<=>).  Folders which are outside
-the folderdir or read from STDIN (L<Mail::Message::Construct::read()|Mail::Message::Construct::Read/"Constructing a message">) are
-not trused by default, and require some extra checking.
-
-If you do not check encodings of received messages, you may print
-binary data to the screen, which is a security risk.
-
-=back
-
-=back
-
-=head2 The folder
-
-
-$obj-E<gt>B<addMessage>(MESSAGE, OPTIONS)
-
-=over 4
-
-Add a message to the folder.  A message is usually a
-L<Mail::Box::Message|Mail::Box::Message> object or a sub-class thereof.  The message
-shall not be in an other folder, when you use this method.
-In case it is, use L<Mail::Box::Manager::moveMessage()|Mail::Box::Manager/"Move messages to folders"> or
-L<Mail::Box::Manager::copyMessage()|Mail::Box::Manager/"Move messages to folders"> via the manager.
-
-Messages with id's which already exist in this folder are not added.
-
- Option  Defined in  Default   
- share               <not used>
-
-. share BOOLEAN
-
-=over 4
-
-Try to share the physical resource of the current message with the
-indicated message.  It is sometimes possible to share messages between
-different folder types.  When the sharing is not possible, than this
-option is simply ignored.
-
-Sharing the resource is quite dangerous, and only available for a
-limited number of folder types, at the moment only some L<Mail::Box::Dir|Mail::Box::Dir>
-folders; these file-based messages can be hardlinked (on platforms that
-support it).  The link may get broken when one message is modified in one
-of the folders.... but maybe not, depending on the folder types involved.
-
-=back
-
-I<Example:> 
-
- $folder->addMessage($msg);
- $folder->addMessages($msg1, $msg2, ...);
-
-=back
-
-$obj-E<gt>B<addMessages>(MESSAGE [, MESSAGE, ...])
-
-=over 4
-
-Adds a set of MESSAGE objects to the open folder at once.  For some folder
-types this may be faster than adding them one at a time.
-
-I<Example:> 
-
- $folder->addMessages($msg1, $msg2, ...);
-
-=back
-
-Mail::Box-E<gt>B<appendMessages>(OPTIONS)
-
-=over 4
-
-Append one or more messages to an unopened folder.
-Usually, this method is called by the L<Mail::Box::Manager::appendMessage()|Mail::Box::Manager/"Move messages to folders">,
-in which case the correctness of the folder type is checked.
-
-For some folder types it is required to open the folder before it can
-be used for appending.  This can be fast, but this can also be very
-slow (depends on the implementation).  All OPTIONS passed will also be
-used to open the folder, if needed.
-
- Option    Defined in       Default   
- folder                     <required>
- message                    undef     
- messages                   undef     
- share                      <false>   
-
-. folder FOLDERNAME
-
-=over 4
-
-The name of the folder to which the messages are to be appended.  The folder
-implementation will avoid opening the folder when possible, because this is
-resource consuming.
-
-=back
-
-. message MESSAGE
-
-. messages ARRAY-OF-MESSAGES
-
-=over 4
-
-One reference to a MESSAGE or a reference to an ARRAY of MESSAGEs, which may
-be of any type.  The messages will be first coerced into the correct
-message type to fit in the folder, and then will be added to it.
-
-=back
-
-. share BOOLEAN
-
-=over 4
-
-Try to share physical storage of the message.  Only available for a
-limited number of folder types, otherwise no-op.
-
-=back
-
-I<Example:> 
-
- my $message = Mail::Message->new(...);
- Mail::Box::Mbox->appendMessages
-  ( folder    => '=xyz'
-  , message   => $message
-  , folderdir => $ENV{FOLDERS}
-  );
-
-better:
-
- my Mail::Box::Manager $mgr;
- $mgr->appendMessages($message, folder => '=xyz');
-
-=back
-
-$obj-E<gt>B<close>(OPTIONS)
-
-=over 4
-
-Close the folder, which usually implies writing the changes.  This will
-return C<false> when writing is required but fails.  Please do check this
-result.
-
-WARNING: When moving messages from one folder to another, be sure to
-write the destination folder before writing and closing the source
-folder.  Otherwise you may lose data if the system crashes or if there
-are software problems.
-
- Option        Defined in       Default    
- force                          <false>    
- save_deleted                   C<false>   
- write                          C<MODIFIED>
-
-. force BOOLEAN
-
-=over 4
-
-Override the L<new(access)|Mail::Box/"Constructors"> setting which was specified when the folder
-was opened. This option only has an effect if its value is TRUE. NOTE:
-Writing to the folder may not be permitted by the operating system,
-in which case even C<force> will not help.
-
-=back
-
-. save_deleted BOOLEAN
-
-=over 4
-
-Do also write messages which where flagged to be deleted to their folder.  The
-flag for deletion is conserved (when possible), which means that a re-open of
-the folder may remove the messages for real.  See L<write(save_deleted)|Mail::Box/"Internals">.
-
-=back
-
-. write 'ALWAYS'|'NEVER'|'MODIFIED'
-
-=over 4
-
-Specifies whether the folder should be written.  As could be expected,
-C<ALWAYS> means always (even if there are no changes), C<NEVER> means
-that changes to the folder will be lost, and C<MODIFIED> only saves the
-folder if there are any changes.
-
-=back
-
-I<Example:> 
-
- my $f = $mgr->open('spam', access => 'rw')
-     or die "Cannot open spam: $!\n";
-
- $f->message(0)->delete
-     if $f->messages;
-
- $f->close
-     or die "Couldn't write $f: $!\n";
-
-=back
-
-$obj-E<gt>B<copyTo>(FOLDER, OPTIONS)
-
-=over 4
-
-Copy the folder's messages to a new folder.  The new folder may be of
-a different type.
-
- Option         Defined in       Default                
- delete_copied                   <false>                
- select                          'ACTIVE'               
- share                           <not used>             
- subfolders                      <folder type dependent>
-
-. delete_copied BOOLEAN
-
-=over 4
-
-Flag the messages from the source folder to be deleted, just after it
-was copied.  The deletion will only take effect when the originating
-folder is closed.
-
-=back
-
-. select 'ACTIVE'|'DELETED'|'ALL'|LABEL|!LABEL|FILTER
-
-=over 4
-
-Which messages are to be copied. See the description of L<messages()|Mail::Box/"The messages">
-about how this works.
-
-=back
-
-. share BOOLEAN
-
-=over 4
-
-Try to share the message between the folders.  Some L<Mail::Box::Dir|Mail::Box::Dir>
-folder types do support it by creating a hardlink (on UNIX/Linux).
-
-=back
-
-. subfolders BOOLEAN|'FLATTEN'|'RECURSE'
-
-=over 4
-
-How to handle sub-folders.  When false (C<0> or C<undef>), sub-folders
-are simply ignored.  With C<FLATTEN>, messages from sub-folders are
-included in the main copy.  C<RECURSE> recursively copies the
-sub-folders as well.  By default, when the destination folder
-supports sub-folders C<RECURSE> is used, otherwise C<FLATTEN>.  A value
-of true will select the default.
-
-=back
-
-I<Example:> 
-
- my $mgr  = Mail::Box::Manager->new;
- my $imap = $mgr->open(type => 'imap', host => ...);
- my $mh   = $mgr->open(type => 'mh', folder => '/tmp/mh',
-     create => 1, access => 'w');
-
- $imap->copyTo($mh, delete_copied => 1);
- $mh->close; $imap->close;
-
-=back
-
-$obj-E<gt>B<delete>(OPTIONS)
-
-=over 4
-
-Remove the specified folder file or folder directory (depending on
-the type of folder) from disk.  Of course, THIS IS DANGEROUS: you "may"
-lose data.  Returns a C<true> value on success.
-
-WARNING: When moving messages from one folder to another, be sure to write the
-destination folder before deleting the source folder.  Otherwise you may lose
-data if the system crashes or if there are software problems.
-
- Option     Defined in  Default
- recursive              1      
-
-. recursive BOOLEAN
-
-I<Example:> removing an open folder
-
-
- my $folder = Mail::Box::Mbox->new(folder => 'InBox', access => 'rw');
- ... some other code ...
- $folder->delete;
-
-I<Example:> removing an closed folder
-
-
- my $folder = Mail::Box::Mbox->new(folder => 'INBOX', access => 'd');
- $folder->delete;
-
-=back
-
-$obj-E<gt>B<folderdir>([DIRECTORY])
-
-=over 4
-
-Get or set the DIRECTORY which is used to store mail-folders by default.
-
-I<Example:> 
-
- print $folder->folderdir;
- $folder->folderdir("$ENV{HOME}/nsmail");
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-Returns the name of the folder.  What the name represents depends on
-the actual type of mailbox used.
-
-I<Example:> 
-
- print $folder->name;
- print "$folder";       # overloaded stringification
-
-=back
-
-$obj-E<gt>B<organization>
-
-=over 4
-
-Returns how the folder is organized: as one C<FILE> with many messages,
-a C<DIRECTORY> with one message per file, or by a C<REMOTE> server.
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-Returns the size of the folder in bytes, not counting in the deleted
-messages.  The error in the presented result may be as large as 10%,
-because the in-memory representation of messages is not always the
-same as the size when they are written.
-
-=back
-
-$obj-E<gt>B<type>
-
-=over 4
-
-Returns a name for the type of mail box.  This can be C<mbox>, C<mh>,
-C<maildir>, or C<pop3>.
-
-=back
-
-$obj-E<gt>B<update>(OPTIONS)
-
-=over 4
-
-Read new messages from the folder, which where received after opening
-it.  This is quite dangerous and shouldn't be possible: folders which
-are open are locked.  However, some applications do not use locks or
-the wrong kind of locks.  This method reads the changes (not always
-failsafe) and incorporates them in the open folder administration.
-
-The OPTIONS are extra values which are passed to the
-L<updateMessages()|Mail::Box/"Internals"> method which is doing the actual work here.
-
-=back
-
-$obj-E<gt>B<url>
-
-=over 4
-
-Represent the folder as a URL (Universal Resource Locator) string.  You may
-pass such a URL as folder name to L<Mail::Box::Manager::open()|Mail::Box::Manager/"Manage open folders">.
-
-I<Example:> 
-
- print $folder->url;
- # may result in
- #   mbox:/var/mail/markov   or
- #   pop3://user:password@pop.aol.com:101
-
-=back
-
-=head2 Folder flags
-
-
-$obj-E<gt>B<access>
-
-=over 4
-
-Returns the access mode of the folder, as set by L<new(access)|Mail::Box/"Constructors">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-Checks if the folder, as stored in memory, is modified.  A true value is
-returned when any of the messages is to be deleted, has changed, or messages
-were added after the folder was read from file.
-
-WARNING: this flag is not related to an external change to the folder
-structure on disk.  Have a look at L<update()|Mail::Box/"The folder"> for that.
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-Sets whether the folder is modified or not.
-
-=back
-
-$obj-E<gt>B<writable>
-
-=over 4
-
-Checks whether the current folder is writable.
-
-I<Example:> 
-
- $folder->addMessage($msg) if $folder->writable;
-
-=back
-
-=head2 The messages
-
-
-$obj-E<gt>B<current>([NUMBER|MESSAGE|MESSAGE-ID])
-
-=over 4
-
-Some mail-readers keep the I<current> message, which represents the last
-used message.  This method returns [after setting] the current message.
-You may specify a NUMBER, to specify that that message number is to be
-selected as current, or a MESSAGE/MESSAGE-ID (as long as you are sure
-that the header is already loaded, otherwise they are not recognized).
-
-I<Example:> 
-
- $folder->current(0);
- $folder->current($message);
-
-=back
-
-$obj-E<gt>B<find>(MESSAGE-ID)
-
-=over 4
-
-Like L<messageId()|Mail::Box/"The messages">, this method searches for a message with the
-MESSAGE-ID, returning the corresponding message object.  However, C<find>
-will cause unparsed message in the folder to be parsed until the message-id
-is found.  The folder will be scanned back to front.
-
-=back
-
-$obj-E<gt>B<findFirstLabeled>(LABEL, [BOOLEAN, [ARRAY-OF-MSGS]])
-
-=over 4
-
-Find the first message which has this LABEL with the correct setting. The
-BOOLEAN indicates whether any true value or any false value is to
-be found.  By default, a true value is searched for.  When a message
-does not have the requested label, it is taken as false.
-
-I<Example:> looking for a labeled message
-
-
- my $current = $folder->findFirstLabeled('current');
-
- my $first   = $folder->findFirstLabeled(seen => 0);
-
- my $last    = $folder->findFirstLabeled(seen => 0,
-                 [ reverse $self->messages('ACTIVE') ] )
-
-=back
-
-$obj-E<gt>B<message>(INDEX [,MESSAGE])
-
-=over 4
-
-Get or set a message with on a certain index.  Messages which are flagged
-for deletion are counted.  Negative indexes start at the end of the folder.
-
-I<Example:> 
-
- my $msg = $folder->message(3);
- $folder->message(3)->delete;   # status changes to `deleted'
- $folder->message(3, $msg);
- print $folder->message(-1);    # last message.
-
-=back
-
-$obj-E<gt>B<messageId>(MESSAGE-ID [,MESSAGE])
-
-=over 4
-
-With one argument, returns the message in the folder with the specified
-MESSAGE-ID. If a reference to a message object is passed as the optional
-second argument, the message is first stored in the folder, replacing any
-existing message whose message ID is MESSAGE-ID. (The message ID of MESSAGE
-need not match MESSAGE-ID.)
-
-!!WARNING!!: when the message headers are delay-parsed, the message
-might be in the folder but not yet parsed into memory. In this case, use
-L<find()|Mail::Box/"The messages"> instead of C<messageId()> if you really need a thorough search.
-This is especially the case for directory organized folders without
-special indexi, like L<Mail::Box::MH|Mail::Box::MH>.
-
-The MESSAGE-ID may still be in angles, which will be stripped.  In that
-case blanks (which origin from header line folding) are removed too.  Other
-info around the angles will be removed too.
-
-I<Example:> 
-
- my $msg = $folder->messageId('<complex-message.id>');
- $folder->messageId("<complex-message\n.id>", $msg);
- my $msg = $folder->messageId('complex-message.id');
- my $msg = $folder->messageId('garbage <complex-message.id> trash');
-
-=back
-
-$obj-E<gt>B<messageIds>
-
-=over 4
-
-Returns a list of I<all> message-ids in the folder, including
-those of messages which are to be deleted.
-
-For some folder-types (like MH), this method may cause all message-files
-to be read.  See their respective manual pages.
-
-I<Example:> 
-
- foreach my $id ($folder->messageIds) {
-    $folder->messageId($id)->print;
- }
-
-=back
-
-$obj-E<gt>B<messages>(['ALL',RANGE,'ACTIVE','DELETED',LABEL,!LABEL,FILTER])
-
-=over 4
-
-Returns multiple messages from the folder.  The default is C<ALL>
-which will return (as expected maybe) all the messages in the
-folder.  The C<ACTIVE> flag will return the messages not flagged for
-deletion.  This is the opposite of C<DELETED>, which returns all
-messages from the folder which will be deleted when the folder is
-closed.
-
-You may also specify a RANGE: two numbers specifying begin and end
-index in the array of messages.  Negative indexes count from the
-end of the folder.  When an index is out-of-range, the returned
-list will be shorter without complaints.
-
-Everything else than the predefined names is seen as labels.  The messages
-which have that label set will be returned.  When the sequence starts
-with an exclamation mark (!), the search result is reversed.
-
-For more complex searches, you can specify a FILTER, which is
-simply a code reference.  The message is passed as only argument.
-
-I<Example:> 
-
- foreach my $message ($folder->messages) {...}
- foreach my $message (@$folder) {...}
-
- # twice the same
- my @messages   = $folder->messages;
- my @messages   = $folder->messages('ALL');
-
- # Selection based on a range (begin, end)
- my $subset     = $folder->messages(10,-8);
-
- # twice the same:
- my @not_deleted= grep {not $_->isDeleted}
-                     $folder->messages;
- my @not_deleted= $folder->messages('ACTIVE');
-
- # scalar context the number of messages
- my $nr_of_msgs = $folder->messages;
-
- # third message, via overloading
- $folder->[2];
-
- # Selection based on labels
- $mgr->moveMessages($spam, $inbox->message('spam'));
- $mgr->moveMessages($archive, $inbox->message('seen'));
-
-=back
-
-$obj-E<gt>B<nrMessages>(OPTIONS)
-
-=over 4
-
-Simply calls L<messages()|Mail::Box/"The messages"> in scalar context to return a count instead
-of the messages itself.  Some people seem to understand this better.
-
-=back
-
-$obj-E<gt>B<scanForMessages>(MESSAGE, MESSAGE-IDS, TIMESPAN, WINDOW)
-
-=over 4
-
-You start with a MESSAGE, and are looking for a set of messages
-which are related to it.  For instance, messages which appear in
-the 'In-Reply-To' and 'Reference' header fields of that message.
-These messages are known by their MESSAGE-IDS and you want to find
-them in the folder.
-
-When all message-ids are known, then looking-up messages is simple:
-they are found in a plain hash using L<messageId()|Mail::Box/"The messages">.  But Mail::Box
-is lazy where it can, so many messages may not have been read from
-file yet, and that's the prefered situation, because that saves
-time and memory.
-
-It is not smart to search for the messages from front to back in
-the folder: the chances are much higher that related message
-reside closely to each other.  Therefore, this method starts
-scanning the folder from the specified MESSAGE, back to the front
-of the folder.
-
-The TIMESPAN can be used to terminate the search based on the time
-enclosed in the message.  When the constant string C<EVER> is used as
-TIMESPAN, then the search is not limited by that.  When an integer
-is specified, it will be used as absolute time in time-ticks as
-provided by your platform dependent C<time> function.  In other cases,
-it is passed to L<timespan2seconds()|Mail::Box/"Other methods"> to determine the threshold
-as time relative to the message's time.
-
-The WINDOW is used to limit the search in number of messages to be
-scanned as integer or constant string C<ALL>.
-
-Returned are the message-ids which were not found during the scan.
-Be warned that a message-id could already be known and therefore not
-found: check that first.
-
-I<Example:> scanning through a folder for a message
-
-
- my $refs   = $msg->get('References') or return;
- my @msgids = $ref =~ m/\<([^>]+\>/g;
- my @failed = $folder->scanForMessages($msg, \@msgids, '3 days', 50);
-
-=back
-
-=head2 Sub-folders
-
-
-$obj-E<gt>B<listSubFolders>(OPTIONS)
-
-Mail::Box-E<gt>B<listSubFolders>(OPTIONS)
-
-=over 4
-
-List the names of all sub-folders to this folder, not recursively
-decending.  Use these names as argument to L<openSubFolder()|Mail::Box/"Sub-folders">, to get
-access to that folder.
-
-For MBOX folders, sub-folders are simulated.
-
- Option      Defined in       Default              
- check                        <false>              
- folder                       <from calling object>
- folderdir                    <from folder>        
- skip_empty                   <false>              
-
-. check BOOLEAN
-
-=over 4
-
-Should all returned foldernames be checked to be sure that they are of
-the right type?  Each sub-folder may need to be opened to check this,
-with a folder type dependent penalty (in some cases very expensive).
-
-=back
-
-. folder FOLDERNAME
-
-=over 4
-
-The folder whose sub-folders should be listed.
-
-=back
-
-. folderdir DIRECTORY
-
-. skip_empty BOOL
-
-=over 4
-
-Shall empty folders (folders which currently do not contain any messages)
-be included?  Empty folders are not useful to open, but may be useful
-to save to.
-
-=back
-
-I<Example:> 
-
- my $folder = $mgr->open('=in/new');
- my @subs = $folder->listSubFolders;
-
- my @subs = Mail::Box::Mbox->listSubFolders(folder => '=in/new');
- my @subs = Mail::Box::Mbox->listSubFolders; # toplevel folders.
-
-=back
-
-$obj-E<gt>B<nameOfSubFolder>(SUBNAME, [PARENTNAME])
-
-Mail::Box-E<gt>B<nameOfSubFolder>(SUBNAME, [PARENTNAME])
-
-=over 4
-
-Returns the constructed name of the folder with NAME, which is a
-sub-folder of this current one.  You have either to call this method
-as instance method, or specify a PARENTNAME.
-
-I<Example:> how to get the name of a subfolder
-
-
- my $sub = Mail::Box::Mbox->nameOfSubfolder('xyz', 'abc');
- print $sub;                        # abc/xyz
-
- my $f = Mail::Box::Mbox->new(folder => 'abc');
- print $f->nameOfSubfolder('xyz');  # abc/xyz
-
- my $sub = Mail::Box::Mbox->nameOfSubfolder('xyz', undef);
- print $sub;                        # xyz
-
-=back
-
-$obj-E<gt>B<openRelatedFolder>(OPTIONS)
-
-=over 4
-
-Open a folder (usually a sub-folder) with the same options as this one.
-If there is a folder manager in use, it will be informed about this new
-folder.  OPTIONS overrule the options which where used for the folder
-this method is called upon.
-
-=back
-
-$obj-E<gt>B<openSubFolder>(SUBNAME, OPTIONS)
-
-=over 4
-
-Open (or create, if it does not exist yet) a new subfolder in an
-existing folder.
-
-I<Example:> 
-
- my $folder = Mail::Box::Mbox->new(folder => '=Inbox');
- my $sub    = $folder->openSubFolder('read');
-
-=back
-
-$obj-E<gt>B<topFolderWithMessages>
-
-Mail::Box-E<gt>B<topFolderWithMessages>
-
-=over 4
-
-Some folder types can have messages in the top-level folder, some other
-can't.
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<coerce>(MESSAGE, OPTIONS)
-
-=over 4
-
-Coerce the MESSAGE to be of the correct type to be placed in the
-folder.  You can specify Mail::Internet and MIME::Entity objects
-here: they will be translated into Mail::Message messages first.
-
-=back
-
-$obj-E<gt>B<create>(FOLDERNAME, OPTIONS)
-
-Mail::Box-E<gt>B<create>(FOLDERNAME, OPTIONS)
-
-=over 4
-
-Create a folder.  If the folder already exists, it will be left unchanged.
-The folder is created, but not opened!  If you want to open a file which
-may need to be created, then use L<Mail::Box::Manager::open()|Mail::Box::Manager/"Manage open folders"> with the
-create flag, or L<Mail::Box::new(create)|Mail::Box/"Constructors">.
-
- Option     Defined in  Default
- folderdir              undef  
-
-. folderdir DIRECTORY
-
-=over 4
-
-When the foldername is preceded by a C<=>, the C<folderdir> directory
-will be searched for the named folder.
-
-=back
-
-=back
-
-$obj-E<gt>B<determineBodyType>(MESSAGE, HEAD)
-
-=over 4
-
-Determine which kind of body will be created for this message when
-reading the folder initially.
-
-=back
-
-Mail::Box-E<gt>B<foundIn>([FOLDERNAME], OPTIONS)
-
-=over 4
-
-Determine if the specified folder is of the type handled by the
-folder class. This method is extended by each folder sub-type.
-
-The FOLDERNAME specifies the name of the folder, as is specified by the
-application.  You need to specified the C<folder> option when you skip
-this first argument.
-
-OPTIONS is a list of extra information for the request.  Read
-the documentation for each type of folder for type specific options, but
-each folder class will at least support the C<folderdir> option:
-
- Option     Defined in  Default
- folderdir              undef  
-
-. folderdir DIRECTORY
-
-=over 4
-
-The location where the folders of this class are stored by default.  If the
-user specifies a name starting with a C<=>, that indicates that the folder is
-to be found in this default DIRECTORY.
-
-=back
-
-I<Example:> 
-
- Mail::Box::Mbox->foundIn('=markov',
-     folderdir => "$ENV{HOME}/Mail");
- Mail::Box::MH->foundIn(folder => '=markov');
-
-=back
-
-$obj-E<gt>B<lineSeparator>([STRING|'CR'|'LF'|'CRLF'])
-
-=over 4
-
-Returns the character or characters used to separate lines in the folder
-file, optionally after setting it to STRING, or one of the constants.
-The first line of the folder sets the default.
-
-UNIX uses a LF character, Mac a CR, and Windows both a CR and a LF.  Each
-separator will be represented by a "\n" within your program.  However,
-when processing platform foreign folders, complications appear.  Think about
-the C<Size> field in the header.
-
-When the separator is changed, the whole folder me be rewritten.  Although,
-that may not be required.
-
-=back
-
-$obj-E<gt>B<locker>
-
-=over 4
-
-Returns the locking object.
-
-=back
-
-$obj-E<gt>B<read>(OPTIONS)
-
-=over 4
-
-Read messages from the folder into memory.  The OPTIONS are folder
-specific.  Do not call C<read()> yourself: it will be called for you
-when you open the folder via the manager or instantiate a folder
-object directly.
-
-NOTE: if you are copying messages from one folder to another, use
-L<addMessages()|Mail::Box/"The folder"> instead of C<read()>.
-
-I<Example:> 
-
- my $mgr = Mail::Box::Manager->new;
- my $folder = $mgr->open('InBox');             # implies read
- my $folder = Mail::Box::Mbox->new(folder => 'Inbox'); # same
-
-=back
-
-$obj-E<gt>B<readMessages>(OPTIONS)
-
-=over 4
-
-Called by L<read()|Mail::Box/"Internals"> to actually read the messages from one specific
-folder type.  The L<read()|Mail::Box/"Internals"> organizes the general activities.
-
-The OPTIONS are C<trusted>, C<head_type>, C<field_type>,
-C<message_type>, C<body_delayed_type>, and C<head_delayed_type> as
-defined by the folder at hand.  The defaults are the constructor
-defaults (see L<new()|Mail::Box/"Constructors">).
-
-=back
-
-$obj-E<gt>B<storeMessage>(MESSAGE)
-
-=over 4
-
-Store the message in the folder without the checks as performed by
-L<addMessage()|Mail::Box/"The folder">.
-
-=back
-
-$obj-E<gt>B<toBeThreaded>(MESSAGES)
-
-=over 4
-
-The specified message is ready to be removed from a thread.
-This will be passed on to the mail-manager, which keeps an overview on
-which thread-detection objects are floating around.
-
-=back
-
-$obj-E<gt>B<toBeUnthreaded>(MESSAGES)
-
-=over 4
-
-The specified message is ready to be included in a thread.
-This will be passed on to the mail-manager, which keeps an overview on
-which thread-detection objects are floating around.
-
-=back
-
-$obj-E<gt>B<updateMessages>(OPTIONS)
-
-=over 4
-
-Called by L<update()|Mail::Box/"The folder"> to read messages which arrived in the folder
-after it was opened.  Sometimes, external applications dump messages
-in a folder without locking (or using a different lock than your
-application does).
-
-Although this is quite a dangerous, it only fails when a folder is
-updated (reordered or message removed) at exactly the same time as
-new messages arrive.  These collisions are sparse.
-
-The options are the same as for L<readMessages()|Mail::Box/"Internals">.
-
-=back
-
-$obj-E<gt>B<write>(OPTIONS)
-
-=over 4
-
-Write the data to disk.  The folder (a C<true> value) is returned if
-successful.  Deleted messages are transformed into destroyed messages:
-their memory is freed.
-
-WARNING: When moving messages from one folder to another, be sure to
-write (or L<close()|Mail::Box/"The folder">) the destination folder before writing (or closing)
-the source folder: otherwise you may lose data if the system crashes or
-if there are software problems.
-
-To write a folder to a different file, you must first create a new folder,
-then move all the messages, and then write or L<close()|Mail::Box/"The folder"> that new folder.
-
- Option        Defined in       Default
- force                          <false>
- save_deleted                   <false>
-
-. force BOOLEAN
-
-=over 4
-
-Override write-protection with L<new(access)|Mail::Box/"Constructors"> while opening the folder
-(whenever possible, it may still be blocked by the operating system).
-
-=back
-
-. save_deleted BOOLEAN
-
-=over 4
-
-Do also write messages which where flagged to be deleted to their folder.  The
-flag for deletion is conserved (when possible), which means that a re-open of
-the folder may remove the messages for real.  See L<close(save_deleted)|Mail::Box/"The folder">.
-
-=back
-
-=back
-
-$obj-E<gt>B<writeMessages>(OPTIONS)
-
-=over 4
-
-Called by L<write()|Mail::Box/"Internals"> to actually write the messages from one specific
-folder type.  The C<write> organizes the general activities.  All options
-to L<write()|Mail::Box/"Internals"> are passed to C<writeMessages> as well.  Besides, a few extra
-are added by C<write> itself.
-
- Option    Defined in  Default   
- messages              <required>
-
-. messages ARRAY
-
-=over 4
-
-The messages to be written, which is a sub-set of all messages in the
-current folder.
-
-=back
-
-=back
-
-=head2 Other methods
-
-
-$obj-E<gt>B<timespan2seconds>(TIME)
-
-Mail::Box-E<gt>B<timespan2seconds>(TIME)
-
-=over 4
-
-TIME is a string, which starts with a float, and then one of the
-words 'hour', 'hours', 'day', 'days', 'week', or 'weeks'.  For instance:
-'1 hour' or '4 weeks'.
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Box-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Box-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Box-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-This method is called by Perl when an folder-object is no longer accessible
-by the rest of the program.
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> Changes not written to read-only folder $self.
-
-You have opened the folder read-only --which is the default set
-by L<new(access)|Mail::Box/"Constructors">--, made modifications, and now want to close it.
-Set L<close(force)|Mail::Box/"The folder"> if you want to overrule the access mode, or close
-the folder with L<close(write)|Mail::Box/"The folder"> set to C<NEVER>.
-
-I<Error:> Copying failed for one message.
-
-For some reason, for instance disc full, removed by external process, or
-read-protection, it is impossible to copy one of the messages.  Copying will
-proceed for the other messages.
-
-I<Error:> Destination folder $name is not writable.
-
-The folder where the messages are copied to is not opened with write
-access (see L<new(access)|Mail::Box/"Constructors">).  This has no relation with write permission
-to the folder which is controled by your operating system.
-
-I<Warning:> Different messages with id $msgid
-
-The message id is discovered more than once within the same folder, but the
-content of the message seems to be different.  This should not be possible:
-each message must be unique.
-
-I<Error:> Folder $name is opened read-only
-
-You can not write to this folder unless you have opened the folder to
-write or append with L<new(access)|Mail::Box/"Constructors">, or the C<force> option is set true.
-
-I<Error:> Folder $name not deleted: not writable.
-
-The folder must be opened with write access via L<new(access)|Mail::Box/"Constructors">, otherwise
-removing it will be refused.  So, you may have write-access according to
-the operating system, but that will not automatically mean that this
-C<delete> method permits you to.  The reverse remark is valid as well.
-
-I<Error:> Invalid timespan '$timespan' specified.
-
-The string does not follow the strict rules of the time span syntax which
-is permitted as parameter.
-
-I<Warning:> Message-id '$msgid' does not contain a domain.
-
-According to the RFCs, message-ids need to contain a unique random part,
-then an C<@>, and then a domain name.  This is made to avoid the creation
-of two messages with the same id.  The warning emerges when the C<@> is
-missing from the string.
-
-I<Error:> No folder name specified.
-
-You did not specify the name of a folder to be opened.  Use the
-L<new(folder)|Mail::Box/"Constructors"> option or set the C<MAIL> environment variable.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unable to create subfolder $name of $folder.
-
-The copy includes the subfolders, but for some reason it was not possible
-to copy one of these.  Copying will proceed for all other sub-folders.
-
-I<Error:> Writing folder $name failed
-
-For some reason (you probably got more error messages about this problem)
-it is impossible to write the folder, although you should because there
-were changes made.
-
-
-=head1 DETAILS
-
-
-=head2 Different kinds of folders
-
-In general, there are three classes of folders: those who group messages
-per file, those who group messages in a directory, and those do not
-provide direct access to the message data.  These folder types are
-each based on a different base class.
-
-=over 4
-
-=item * File based folders L<Mail::Box::File|Mail::Box::File>
-
-File based folders maintain a folder (a set of messages) in one
-single file.  The advantage is that your folder has only one
-single file to access, which speeds-up things when all messages
-must be accessed at once.
-
-One of the main disadvantages over directory based folders
-is that you have to construct some means to keep all message apart.
-For instance MBOX adds a message separator line between the messages
-in the file, and this line can cause confusion with the message's
-contents.
-
-Where access to all messages at once is faster in file based folders,
-access to a single message is (much) slower, because the whole folder
-must be read.  However, in directory based folders you have to figure-out
-which message you need, which may be a hassle as well.
-
-Examples of file based folders are MBOX, DBX, and NetScape.
-
-=item * Directory based folders L<Mail::Box::Dir|Mail::Box::Dir>
-
-In stead of collecting multiple messages in one file, you can also
-put each message in a separate file and collect those files in a
-directory to represent a folder.
-
-The main disadvantages of these folders are the enormous amount of
-tiny files you usually get in your file-system.  It is extremely
-slow to search through your whole folder, because many files have
-to be opened to do so.
-
-The best feature of this organization is that each message is kept
-exactly as it was received, and can be processed with external scripts
-as well: you do not need any mail user agent (MUA).
-
-Examples of directoy organized folders are MH, Maildir, EMH, and XMH.
-
-=item * Network (external) folders L<Mail::Box::Net|Mail::Box::Net>
-
-Where both types described before provide direct access to the
-message data, maintain these folder types the message data for you:
-you have to request for messages or parts of them.  These folders
-do not have a filename, file-system privileges and system locking
-to worry about, but typically require a hostname, folder and message
-IDs, and authorization.
-
-Examples of these folder types are the popular POP and IMAP, and
-database oriented message storage.
-
-=back
-
-=head2 Available folder types
-
-=over 4
-
-=item * L<Mail::Box::Dbx|Mail::Box::Dbx> (read only)
-
-Dbx files are created by Outlook Express. Using the external (optional)
-Mail::Transport::Dbx module, you can read these folders, even
-when you are running MailBox on a UNIX/Linux platform.
-
-Writing and deleting messages is not supported by the library, and
-therefore not by MailBox. Read access is enough to do folder conversions,
-for instance.
-
-=item * L<Mail::Box::IMAP4|Mail::Box::IMAP4> (partially)
-
-The IMAP protocol is very complex.  Some parts are implemented to
-create (sub-optimal but usable) IMAP clients.  Besides, there are
-also some parts for IMAP servers present.  The most important lacking
-feature is support for encrypted connections.
-
-=item * L<Mail::Box::Maildir|Mail::Box::Maildir>
-
-Maildir folders have a directory for each folder.  A folder directory
-contains C<tmp>, C<new>, and C<cur> sub-directories, each containting
-messages with a different purpose.  Files with new messages are created
-in C<tmp>, then moved to C<new> (ready to be accepted).  Later, they are
-moved to the C<cur> directory (accepted).  Each message is one file with
-a name starting with timestamp.  The name also contains flags about the
-status of the message.
-
-Maildir folders can not be used on Windows by reason of file-name
-limitations on that platform.
-
-=item * L<Mail::Box::Mbox|Mail::Box::Mbox>
-
-A folder type in which all related messages are stored in one file.  This
-is a very common folder type for UNIX.
-
-=item * L<Mail::Box::MH|Mail::Box::MH>
-
-This folder creates a directory for each folder, and a message is one
-file inside that directory.  The message files are numbered sequentially
-on order of arrival.  A special C<.mh_sequences> file maintains flags
-about the messages.
-
-=item * L<Mail::Box::POP3|Mail::Box::POP3> (read/delete only)
-
-POP3 is a protocol which can be used to retreive messages from a
-remote system.  After the connection to a POP server is made, the
-messages can be looked at and removed as if they are on the local
-system.
-
-=item * Mail::Box::Netzwert
-
-The Netzwert folder type is optimized for mailbox handling on a cluster
-of systems with a shared NFS storage.  The code is not released under
-GPL (yet)
-
-=back
-
-Other folder types are on the (long) wishlist to get implemented.  Please,
-help implementing more of them.
-
-=head2 Folder class implementation
-
-The class structure of folders is very close to that of messages.  For
-instance, a L<Mail::Box::File::Message|Mail::Box::File::Message> relates to a L<Mail::Box::File|Mail::Box::File>
-folder.  The folder types are:
-
-                    Mail::Box::Netzwert
- Mail::Box::Mbox   | Mail::Box::Maildir Mail::Box::POP3
- |  Mail::Box::Dbx | | Mail::Box::MH    |  Mail::Box::IMAP4
- |  |               | | |                 |  |
- |  |               | | |                 |  |
- Mail::Box::File   Mail::Box::Dir       Mail::Box::Net
-       |                  |                   |
-       `--------------.   |   .---------------'
-                      |   |   |
-                      Mail::Box
-                          |
-                          |
-                    Mail::Reporter (general base class)
-
-By far most folder features are implemented in L<Mail::Box|Mail::Box>, so
-available to all folder types.  Sometimes, features which appear
-in only some of the folder types are simulated for folders that miss
-them, like sub-folder support for MBOX.
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Box.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Box.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Construct.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Body/Construct.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Construct.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,157 +0,0 @@
-use strict;
-use warnings;
-
-# Mail::Message::Body::Construct adds functionality to Mail::Message::Body
-
-package Mail::Message::Body;
-use vars '$VERSION';
-$VERSION = '2.062';
-
-use Carp;
-use Mail::Message::Body::String;
-use Mail::Message::Body::Lines;
-
-
-sub foreachLine($)
-{   my ($self, $code) = @_;
-    my $changes = 0;
-    my @result;
-
-    foreach ($self->lines)
-    {   my $becomes = $code->();
-        if(defined $becomes)
-        {   push @result, $becomes;
-            $changes++ if $becomes ne $_;
-        }
-        else {$changes++}
-     }
-      
-     return $self unless $changes;
-
-     ref($self)->new
-      ( based_on => $self
-      , data     => \@result
-      );
-}
-
-#------------------------------------------
-
-
-sub concatenate(@)
-{   my $self = shift;
-
-    my @bodies;
-    foreach (@_)
-    {   next unless defined $_;
-        push @bodies
-         , !ref $_           ? Mail::Message::Body::String->new(data => $_)
-         : ref $_ eq 'ARRAY' ? Mail::Message::Body::Lines->new(data => $_)
-         : $_->isa('Mail::Message')       ? $_->body
-         : $_->isa('Mail::Message::Body') ? $_
-         : carp "Cannot concatenate element ". at bodies;
-    }
-
-    my @unified;
-
-    my $changes  = 0;
-    foreach my $body (@bodies)
-    {   my $unified = $self->unify($body);
-        if(defined $unified)
-        {   $changes++ unless $unified==$body;
-            push @unified, $unified;
-        }
-        elsif($body->mimeType->mediaType eq 'text')
-        {   # Text stuff can be unified anyhow, although we do not want to
-            # include postscript or such.
-            push @unified, $body;
-        }
-        else { $changes++ }
-    }
-
-    return $self if @bodies==1 && $bodies[0]==$self;  # unmodified, and single
-
-    ref($self)->new
-      ( based_on => $self
-      , data     => [ map {$_->lines} @unified ]
-      );
-}
-
-#------------------------------------------
-
-
-sub attach(@)
-{   my $self  = shift;
-
-    my @parts;
-    push @parts, shift while @_ && ref $_[0];
-
-    return $self unless @parts;
-    unshift @parts,
-      ( $self->isNested    ? $self->nested
-      : $self->isMultipart ? $self->parts
-      : $self
-      );
-
-    return $parts[0] if @parts==1;
-    Mail::Message::Body::Multipart->new(parts => \@parts, @_);
-}
-
-#------------------------------------------
-
-
-# tests in t/51stripsig.t
-
-sub stripSignature($@)
-{   my ($self, %args) = @_;
-
-    return $self if $self->mimeType->isBinary;
-
-    my $pattern = !defined $args{pattern} ? qr/^--\s?$/
-                : !ref $args{pattern}     ? qr/^\Q${args{pattern}}/
-                :                           $args{pattern};
- 
-    my $lines   = $self->lines;   # no copy!
-    my $stop    = defined $args{max_lines}? @$lines - $args{max_lines}
-                : exists $args{max_lines} ? 0 
-                :                           @$lines-10;
-
-    $stop = 0 if $stop < 0;
-    my ($sigstart, $found);
- 
-    if(ref $pattern eq 'CODE')
-    {   for($sigstart = $#$lines; $sigstart >= $stop; $sigstart--)
-        {   next unless $pattern->($lines->[$sigstart]);
-            $found = 1;
-            last;
-        }
-    }
-    else
-    {   for($sigstart = $#$lines; $sigstart >= $stop; $sigstart--)
-        {   next unless $lines->[$sigstart] =~ $pattern;
-            $found = 1;
-            last;
-        }
-    }
- 
-    return $self unless $found;
- 
-    my $bodytype = $args{result_type} || ref $self;
-
-    my $stripped = $bodytype->new
-      ( based_on => $self
-      , data     => [ @$lines[0..$sigstart-1] ]
-      );
-
-    return $stripped unless wantarray;
-
-    my $sig      = $bodytype->new
-      ( based_on => $self
-      , data     => [ @$lines[$sigstart..$#$lines] ]
-      );
-      
-    ($stripped, $sig);
-}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Construct.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Body/Construct.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Construct.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Body/Construct.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Construct.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,192 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Body::Construct - adds functionality to Mail::Message::Body
-
-
-
-=head1 SYNOPSIS
-
-
-
-=head1 DESCRIPTION
-
-This package adds complex functionality to the L<Mail::Message::Body|Mail::Message::Body>
-class.  This functions less often used, so many programs will not
-compile this package.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructing a body
-
-
-$obj-E<gt>B<attach>(MESSAGES, OPTIONS)
-
-=over 4
-
-Make a multipart containing this body and the specified MESSAGES. The
-options are passed to the constructor of the multi-part body.  If you
-need more control, create the multi-part body yourself.  At least
-take a look at L<Mail::Message::Body::Multipart|Mail::Message::Body::Multipart>.
-
-The message-parts will be coerced into a L<Mail::Message::Part|Mail::Message::Part>, so you
-may attach Mail::Internet or MIME::Entity objects if you want --see
-L<Mail::Message::coerce()|Mail::Message/"Internals">.  A new body with attached messages is
-returned.
-
-I<Example:> 
-
- my $pgpkey = Mail::Message::Body::File->new(file => 'a.pgp');
- my $msg    = Mail::Message->buildFromBody(
-    $message->decoded->attach($pgpkey));
-
- # The last message of the $multi multiparted body becomes a coerced $entity.
- my $entity  = MIME::Entity->new;
- my $multi   = $msg->body->attach($entity);
-
- # Now create a new message
- my $msg     = Mail::Message->new(head => ..., body => $multi);
-
-=back
-
-$obj-E<gt>B<concatenate>(COMPONENTS)
-
-=over 4
-
-Concatenate a list of elements into one new body.  The encoding is defined by
-the body where this method is called upon (and which does not need to be
-included in the result).
-
-Specify a list of COMPONENTS.  Each component can be
-a message (L<Mail::Message|Mail::Message>, the body of the message is used),
-a plain body (L<Mail::Message::Body|Mail::Message::Body>), 
-C<undef> (which will be skipped),
-a scalar (which is split into lines), or
-an array of scalars (each providing one line).
-
-I<Example:> 
-
- # all arguments are Mail::Message::Body's.
- my $sum = $body->concatenate($preamble, $body, $epilogue, "-- \n" , $sig);
-
-=back
-
-$obj-E<gt>B<foreachLine>(CODE)
-
-=over 4
-
-Create a new body by performing an action on each of its lines.  If none
-of the lines change, the current body will be returned, otherwise a new
-body is created of the same type as the current.
-
-The CODE refers to a subroutine which is called, where C<$_> contains
-body's original line.  DO NOT CHANGE C<$_>!!!  The result of the routine
-is taken as new line.  When the routine returns C<undef>, the line will be
-skipped.
-
-I<Example:> 
-
- my $content  = $msg->decoded;
- my $reply    = $content->foreachLine( sub { '> '.$_ } );
- my $rev      = $content->foreachLine( sub {reverse} );
-
- sub filled() { length $_ > 1 ? $_ : undef }
- my $nonempty = $content->foreachLine( \&filled );
-
- my $wrong    = $content->foreachLine( sub {s/a/A/} );  # WRONG!!!
- my $right    = $content->foreachLine(
-        sub {(my $x=$_) =~ s/a/A/; $x} );
-
-=back
-
-$obj-E<gt>B<stripSignature>(OPTIONS)
-
-=over 4
-
-Strip the signature from the body.  The body must already be decoded
-otherwise the wrong lines may get stripped.  Returned is the stripped
-version body, and in list context also the signature, encapsulated in
-its own body object.  The signature separator is the first line of the
-returned signature body.
-
-The signature is added by the sender to tell about him- or herself.
-It is superfluous in some situations, for instance if you want to create
-a reply to the person's message you do not need to include that signature.
-
-If the body had no signature, the original body object is returned,
-and C<undef> for the signature body.
-
- Option       Defined in       Default          
- max_lines                     C<10>            
- pattern                       C<qr/^--\s?$/>   
- result_type                   <same as current>
-
-. max_lines INTEGER|undef
-
-=over 4
-
-The maximum number of lines which can be the length of a signature.
-Specify C<undef> to remove the limit.
-
-=back
-
-. pattern REGEX|STRING|CODE
-
-=over 4
-
-Which pattern defines the line which indicates the separator between
-the message and the signature.  In case of a STRING, this is matched
-to the beginning of the line, and REGEX is a full regular expression.
-
-In case of CODE, each line (from last to front) is passed to the
-specified subroutine as first argument.  The subroutine must return
-TRUE when the separator is found.
-
-=back
-
-. result_type CLASS
-
-=over 4
-
-The type of body to be created for the stripped body (and maybe also to
-contain the stripped signature)
-
-=back
-
-I<Example:> 
-
- my $start = $message->decoded;
- my $start = $body->decoded;
-
- my $stripped = $start->stripSignature;
-
- my ($stripped, $sign) = $start->stripSignature
-     (max_lines => 5, pattern => '-*-*-');
-
-=back
-
-
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Construct.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Body/Construct.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Delayed.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Body/Delayed.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Delayed.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,131 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message::Body::Delayed;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Reporter';
-
-use Object::Realize::Later
-    becomes          => 'Mail::Message::Body',
-    realize          => 'load',
-    warn_realization => 0,
-    believe_caller   => 1;
-
-use Carp;
-use Scalar::Util 'weaken';
-
-
-use overload '""'    => 'string_unless_carp'
-           , bool    => sub {1}
-           , '@{}'   => sub {shift->load->lines};
-
-#------------------------------------------
-
-
-sub init($)
-{   my ($self, $args) = @_;
-    $self->SUPER::init($args);
-
-    $self->{MMB_seqnr}    = -1;  # for overloaded body comparison
-    $self->{MMBD_message} = $args->{message}
-        or $self->log(INTERNAL => "A message must be specified to a delayed body.");
-
-    weaken($self->{MMBD_message});
-    $self;
-}
-
-#------------------------------------------
-
-
-sub message() { shift->{MMBD_message} }
-
-#------------------------------------------
-
-
-sub modified(;$)
-{   return 0 if @_==1 || !$_[1];
-    shift->forceRealize(shift);
-}
-
-#------------------------------------------
-
-
-sub isModified() { 0 }
-
-#------------------------------------------
-
-
-sub isDelayed()   {1}
-
-#------------------------------------------
-
-
-sub isMultipart() {shift->message->head->isMultipart}
-
-#------------------------------------------
-
-
-sub guessSize()   {shift->{MMBD_size}}
-
-#------------------------------------------
-
-
-sub nrLines()
-{   my ($self) = @_;
-      defined $self->{MMBD_lines}
-    ? $self->{MMBD_lines}
-    : $_[0]->forceRealize->nrLines;
-}
-
-#------------------------------------------
-
-sub string_unless_carp()
-{   my $self = shift;
-    return $self->load->string unless (caller)[0] eq 'Carp';
-
-    (my $class = ref $self) =~ s/^Mail::Message/MM/g;
-    "$class object";
-}
-
-#------------------------------------------
-
-
-sub read($$;$@)
-{   my ($self, $parser, $head, $bodytype) = splice @_, 0, 4;
-    $self->{MMBD_parser} = $parser;
-
-    @$self{ qw/MMBD_begin MMBD_end MMBD_size MMBD_lines/ }
-        = $parser->bodyDelayed(@_);
-
-    $self;
-}
-
-#------------------------------------------
-
-
-sub fileLocation(;@) {
-   my $self = shift;
-   return @$self{ qw/MMBD_begin MMBD_end/ } unless @_;
-   @$self{ qw/MMBD_begin MMBD_end/ } = @_;
-}
-
-#------------------------------------------
-
-
-sub moveLocation($)
-{   my ($self, $dist) = @_;
-    $self->{MMBD_begin} -= $dist;
-    $self->{MMBD_end}   -= $dist;
-    $self;
-}
-
-#------------------------------------------
-
-
-sub load() {$_[0] = $_[0]->message->loadBody}
-
-#------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Delayed.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Body/Delayed.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Delayed.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Body/Delayed.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Delayed.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,329 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Body::Delayed - body of a Mail::Message but not read yet.
-
-
-=head1 INHERITANCE
-
- Mail::Message::Body::Delayed realizes a Mail::Message::Body
-
- Mail::Message::Body::Delayed
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- See Mail::Message::Body
-
-
-=head1 DESCRIPTION
-
-Message bodies of this type will be replaced by another type the moment you
-access the content.  In this documentation you will find the description of
-how a message body gets delay loaded.
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-(stringification) Returns the body as string --which will trigger
-completion-- unless called to produce a string for C<Carp>.  The latter
-to avoid deep recursions.
-
-I<Example:> stringification of delayed body
-
-
- print $msg->body;   # implicit by print
-
- my $body = $msg->body;
- my $x    = "$body"; # explicit by interpolation
-
-=back
-
-overload: B<@{}>
-
-=over 4
-
-When a body object is used as being an array reference, the lines of
-the body are returned.  This is the same as using the C<lines> method.
-
-=back
-
-overload: B<bool>
-
-=over 4
-
-Always returns a true value, which is needed to have overloaded
-objects to be used as in C<if($body)>.  Otherwise, C<if(defined $body)>
-would be needed to avoid a runtime error.
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Message::Body::Delayed-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option   Defined in       Default      
- log      L<Mail::Reporter>  C<'WARNINGS'>
- message                   <required>   
- trace    L<Mail::Reporter>  C<'WARNINGS'>
-
-. log LEVEL
-
-. message MESSAGE
-
-=over 4
-
-The MESSAGE object which contains this delayed body.
-
-=back
-
-. trace LEVEL
-
-=back
-
-=head2 The body
-
-
-$obj-E<gt>B<message>
-
-=over 4
-
-=back
-
-=head2 About to the payload
-
-
-$obj-E<gt>B<guessSize>
-
-=over 4
-
-=back
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-=back
-
-$obj-E<gt>B<modified>
-
-=over 4
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<fileLocation>([BEGIN, END])
-
-=over 4
-
-=back
-
-$obj-E<gt>B<load>
-
-=over 4
-
-Returns the loaded version of this body.
-
-=back
-
-$obj-E<gt>B<moveLocation>(DISTANCE)
-
-=over 4
-
-=back
-
-$obj-E<gt>B<read>(PARSER, HEAD, BODYTYPE)
-
-=over 4
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Body::Delayed-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Body::Delayed-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Body::Delayed-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Delayed.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Body/Delayed.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Encode.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Body/Encode.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Encode.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,254 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Message::Body;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Reporter';
-
-use Carp;
-
-use MIME::Types;
-use File::Basename 'basename';
-
-my MIME::Types $mime_types;
-
-
-sub encode(@)
-{   my ($self, %args) = @_;
-
-    # simplify the arguments
-
-    my $type_from = $self->type;
-    my $type_to   = $args{mime_type} || $type_from->clone;
-    $type_to = Mail::Message::Field->new('Content-Type' => $type_to)
-        unless ref $type_to;
-
-    if(my $charset = delete $args{charset})
-    {   # Charset conversions are ignored for now.
-        $type_to->attribute(charset => $charset);
-    }
-
-    my $transfer = $args{transfer_encoding} || $self->transferEncoding->clone;
-    $transfer    = Mail::Message::Field->new('Content-Transfer-Encoding' =>
-         $transfer) unless ref $transfer;
-
-    # What will we do?
-#   my $mime_was  = lc $type_from;
-#   my $mime_to   = lc $type_to;
-
-# If possible, update unify() too.
-#   my $char_was  = $type_from->attribute('charset');
-#   my $char_to   = $type_to->attribute('charset');
-
-    my $trans_was = lc $self->transferEncoding;
-    my $trans_to  = lc $transfer;
-
-    #
-    # The only translations implemented now is content transfer encoding.
-    #
-
-#warn "Translate ($trans_was) -> ($trans_to)\n";
-    return $self if $trans_was eq $trans_to;
-
-    my $bodytype  = $args{result_type} || ref $self;
-
-    my $decoded;
-    if($trans_was eq 'none') {$decoded = $self}
-    elsif(my $decoder = $self->getTransferEncHandler($trans_was))
-    {   $decoded = $decoder->decode($self, result_type => $bodytype) }
-    else
-    {   $self->log(WARNING =>
-           "No decoder defined for transfer encoding $trans_was.");
-        return $self;
-    }
-
-    my $encoded;
-    if($trans_to eq 'none') {$encoded = $decoded}
-    elsif(my $encoder = $self->getTransferEncHandler($trans_to))
-    {   $encoded = $encoder->encode($decoded, result_type => $bodytype) }
-    else
-    {   $self->log(WARNING =>
-           "No encoder defined for transfer encoding $trans_to.");
-        return $decoded;
-    }
-    $encoded;
-}
-
-#------------------------------------------
-
-
-sub check()
-{   my $self     = shift;
-    return $self if $self->checked;
-    my $eol      = $self->eol;
-
-    my $encoding = $self->transferEncoding->body;
-    return $self->eol($eol)
-       if $encoding eq 'none';
-
-    my $encoder  = $self->getTransferEncHandler($encoding);
-
-    my $checked
-      = $encoder
-      ? $encoder->check($self)->eol($eol)
-      : $self->eol($eol);
-
-    $checked->checked(1);
-    $checked;
-}
-
-#------------------------------------------
-
-
-sub encoded()
-{   my $self = shift;
-
-    return $self->check
-        unless $self->transferEncoding eq 'none';
-
-    $mime_types ||= MIME::Types->new;
-
-    my $mime = $mime_types->type($self->type->body);
-    $self->encode(transfer_encoding =>
-         defined $mime ? $mime->encoding : 'base64');
-}
-
-#------------------------------------------
-
-
-sub unify($)
-{   my ($self, $body) = @_;
-    return $self if $self==$body;
-
-    my $mime     = $self->type;
-    my $transfer = $self->transferEncoding;
-
-    my $encoded  = $body->encode
-     ( mime_type         => $mime
-     , transfer_encoding => $transfer
-     );
-
-    # Encode makes the best of it, but is it good enough?
-
-    my $newmime     = $encoded->type;
-    return unless $newmime  eq $mime;
-    return unless $transfer eq $encoded->transferEncoding;
-
-# Character transformation not possible yet.
-#   my $want_charset= $mime->attribute('charset')    || '';
-#   my $got_charset = $newmime->attribute('charset') || '';
-#   return unless $want_charset eq $got_charset;
-
-    $encoded;
-}
-
-#------------------------------------------
-
-
-sub isBinary()
-{   my $self = shift;
-    $mime_types ||= MIME::Types->new(only_complete => 1);
-    my $type = $self->type                    or return 1;
-    my $mime = $mime_types->type($type->body) or return 1;
-    $mime->isBinary;
-}
- 
-#------------------------------------------
-
-
-sub isText() { not shift->isBinary }
-
-#------------------------------------------
-
-
-sub dispositionFilename(;$)
-{   my $self = shift;
-    my $raw;
-
-    my $field;
-    if($field = $self->disposition)
-    {   $raw  = $field->attribute('filename')
-             || $field->attribute('file')
-             || $field->attribute('name');
-    }
-
-    if(!defined $raw && ($field = $self->type))
-    {   $raw  = $field->attribute('filename')
-             || $field->attribute('file')
-             || $field->attribute('name');
-    }
-
-    return $raw unless @_;
-
-    my $dir      = shift;
-    my $filename = '';
-    if(defined $raw)
-    {   $filename = basename $raw;
-        $filename =~ s/[^\w.-]//;
-    }
-
-    unless(length $filename)
-    {   my $ext    = ($self->mimeType->extensions)[0] || 'raw';
-        my $unique;
-        for($unique = 'part-0'; 1; $unique++)
-        {   my $out = File::Spec->catfile($dir, "$unique.$ext");
-            open IN, "<", $out or last;  # does not exist: can use it
-            close IN;
-        }
-        $filename = "$unique.$ext";
-    }
-
-    File::Spec->catfile($dir, $filename);
-}
-
-#------------------------------------------
-
-
-my %transfer_encoder_classes =
- ( base64  => 'Mail::Message::TransferEnc::Base64'
- , binary  => 'Mail::Message::TransferEnc::Binary'
- , '8bit'  => 'Mail::Message::TransferEnc::EightBit'
- , 'quoted-printable' => 'Mail::Message::TransferEnc::QuotedPrint'
- , '7bit'  => 'Mail::Message::TransferEnc::SevenBit'
- );
-
-my %transfer_encoders;   # they are reused.
-
-sub getTransferEncHandler($)
-{   my ($self, $type) = @_;
-
-    return $transfer_encoders{$type}
-        if exists $transfer_encoders{$type};   # they are reused.
-
-    my $class = $transfer_encoder_classes{$type};
-    return unless $class;
-
-    eval "require $class";
-    confess "Cannot load $class: $@\n" if $@;
-
-    $transfer_encoders{$type} = $class->new;
-}
-
-#------------------------------------------
-
-
-sub addTransferEncHandler($$)
-{   my ($this, $name, $what) = @_;
-
-    my $class;
-    if(ref $what)
-    {   $transfer_encoders{$name} = $what;
-        $class = ref $what;
-    }
-    else
-    {   delete $transfer_encoders{$name};
-        $class = $what;
-    }
-
-    $transfer_encoder_classes{$name} = $class;
-    $this;
-}
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Encode.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Body/Encode.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Encode.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Body/Encode.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Encode.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,248 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Body::Encode - organize general message encodings
-
-
-
-=head1 SYNOPSIS
-
- my Mail::Message $msg = ...;
- my $decoded = $msg->decoded;
- my $encoded = $msg->encode(mime_type => 'image/gif',
-     transfer_encoding => 'base64');
-
- my $body = $msg->body;
- my $decoded = $body->decoded;
- my $encoded = $body->encode(transfer_encoding => '7bit');
-
-
-=head1 DESCRIPTION
-
-Manages the message's body encodings and decodings on request of the
-main program.  This package adds functionality to the L<Mail::Message::Body|Mail::Message::Body>
-class when the L<decoded()|Mail::Message::Body/"Constructing a body"> or L<encode()|Mail::Message::Body::Encode/"Constructing a body"> method is called.
-
-Four types of encodings are handled (in the right order)
-
-=over 4
-
-=item * eol encoding
-
-Various operating systems have different ideas about how to encode the
-line termination.  UNIX uses a LF character, MacOS uses a CR, and
-Windows uses a CR/LF combination.  Messages which are transported over
-Internet will always use the CRLF separator.
-
-=item * transfer encoding
-
-Messages transmitted over Internet have to be plain ASCII.  Complicated
-characters and binary files (like images and archives) must be encoded
-during transmission to an ASCII representation.
-
-The implementation of the required encoders and decoders is found in
-the L<Mail::Message::TransferEnc|Mail::Message::TransferEnc> set of packages.  The related
-manual page lists the transfer encodings which are supported.
-
-=item * mime-type translation
-
-NOT IMPLEMENTED YET
-
-=item * charset conversion
-
-NOT IMPLEMENTED YET
-
-=back
-
-
-
-=head1 METHODS
-
-
-=head2 Constructing a body
-
-
-$obj-E<gt>B<check>
-
-=over 4
-
-Check the content of the body not to include illegal characters.  Which
-characters are considered illegal depends on the encoding of this body.
-
-A body is returned which is checked.  This may be the body where this
-method is called upon, but also a new object, when serious changes had
-to be made.  If the check could not be made, because the decoder is not
-defined, then C<undef> is returned.
-
-=back
-
-$obj-E<gt>B<encode>(OPTIONS)
-
-=over 4
-
-Encode (translate) a L<Mail::Message::Body|Mail::Message::Body> into a different format.
-See the DESCRIPTION above.  Options which are not specified will not trigger
-conversions.
-
- Option             Defined in       Default         
- charset                             undef           
- mime_type                           undef           
- result_type                         <same as source>
- transfer_encoding                   undef           
-
-. charset STRING
-
-. mime_type STRING|FIELD
-
-=over 4
-
-Convert into the specified mime type, which can be specified as STRING
-or FIELD.  The FIELD is a L<Mail::Message::Field|Mail::Message::Field>, and the STRING is
-converted in such object before use.
-
-=back
-
-. result_type CLASS
-
-=over 4
-
-The type of body to be created when the body is changed to fulfill the request
-on re-coding.  Also the intermediate stages in the translation process (if
-needed) will use this type. CLASS must extend L<Mail::Message::Body|Mail::Message::Body>.
-
-=back
-
-. transfer_encoding STRING|FIELD
-
-=back
-
-$obj-E<gt>B<encoded>
-
-=over 4
-
-Encode the body to a format what is acceptable to transmit or write to
-a folder file.  This returns the body where this method was called
-upon when everything was already prepared, or a new encoded body
-otherwise.  In either case, the body is checked.
-
-=back
-
-$obj-E<gt>B<unify>(BODY)
-
-=over 4
-
-Unify the type of the given BODY objects with the type of the called
-body.  C<undef> is returned when unification is impossible.  If the
-bodies have the same settings, the BODY object is returned unchanged.
-
-Examples:
-
- my $bodytype = Mail::Message::Body::Lines;
- my $html  = $bodytype->new(mime_type=>'text/html', data => []);
- my $plain = $bodytype->new(mime_type=>'text/plain', ...);
-
- my $unified = $html->unify($plain);
- # $unified is the data of plain translated to html (if possible).
-
-=back
-
-=head2 About the payload
-
-
-$obj-E<gt>B<dispositionFilename>([DIRECTORY])
-
-=over 4
-
-Returns the name which can be used as filename to store the information
-in the indicated DIRECTORY. To get a filename, various fields are searched
-for C<filename> and C<name> attributes.  Without DIRECTORY, the name found
-will be returned.
-
-Only the basename of the found name will be used, for security reasons:
-otherwise, it may be possible to access other directories than the
-one indicated.  If no name was found, or the name is already in use,
-then an unique name is generated.
-
-=back
-
-$obj-E<gt>B<isBinary>
-
-=over 4
-
-Returns true when the un-encoded message is binary data.  This information
-is retrieved from knowledge provided by L<MIME::Types|MIME::Types>.
-
-=back
-
-$obj-E<gt>B<isText>
-
-=over 4
-
-Returns true when the un-encoded message contains printable
-text.
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<addTransferEncHandler>(NAME, CLASS|OBJECT)
-
-Mail::Message::Body-E<gt>B<addTransferEncHandler>(NAME, CLASS|OBJECT)
-
-=over 4
-
-Relate the NAMEd transfer encoding to an OBJECTs or object of the specified
-CLASS.  In the latter case, an object of that CLASS will be created on the
-moment that one is needed to do encoding or decoding.
-
-The CLASS or OBJECT must extend L<Mail::Message::TransferEnc|Mail::Message::TransferEnc>.  It will
-replace existing class and object for this NAME.
-
-Why aren't you contributing this class to MailBox?
-
-=back
-
-$obj-E<gt>B<getTransferEncHandler>(TYPE)
-
-=over 4
-
-Get the transfer encoder/decoder which is able to handle TYPE, or return
-undef if there is no such handler.
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> No decoder defined for transfer encoding $name.
-
-The data (message body) is encoded in a way which is not currently understood,
-therefore no decoding (or recoding) can take place.
-
-I<Warning:> No encoder defined for transfer encoding $name.
-
-The data (message body) has been decoded, but the required encoding is
-unknown.  The decoded data is returned.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Encode.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Body/Encode.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/File.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Body/File.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/File.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,291 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message::Body::File;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Body';
-
-use Mail::Box::Parser;
-use Mail::Message;
-
-use Carp;
-use POSIX 'tmpnam';
-use File::Copy;
-
-
-sub _data_from_filename(@)
-{   my ($self, $filename) = @_;
-
-    local $_;
-    local (*IN, *OUT);
-
-    unless(open IN, '<', $filename)
-    {   $self->log(ERROR =>
-            "Unable to read file $filename for message body file: $!");
-        return;
-    }
-
-    my $file   = $self->tempFilename;
-    unless(open OUT, '>', $file)
-    {   $self->log(ERROR => "Cannot write to temporary body file $file: $!");
-        return;
-    }
-
-    my $nrlines = 0;
-    while(<IN>) { print OUT; $nrlines++ }
-
-    close OUT;
-    close IN;
-
-    $self->{MMBF_nrlines} = $nrlines;
-    $self;
-}
-
-sub _data_from_filehandle(@)
-{   my ($self, $fh) = @_;
-    my $file    = $self->tempFilename;
-    my $nrlines = 0;
-
-    local *OUT;
-
-    unless(open OUT, '>', $file)
-    {   $self->log(ERROR => "Cannot write to temporary body file $file: $!");
-        return;
-    }
-
-    while(my $l = $fh->getline)
-    {   print OUT $l;
-        $nrlines++;
-    }
-    close OUT;
-
-    $self->{MMBF_nrlines} = $nrlines;
-    $self;
-}
-
-sub _data_from_glob(@)
-{   my ($self, $fh) = @_;
-    my $file    = $self->tempFilename;
-    my $nrlines = 0;
-
-    local $_;
-    local *OUT;
-
-    unless(open OUT, '>', $file)
-    {   $self->log(ERROR => "Cannot write to temporary body file $file: $!");
-        return;
-    }
-
-    while(<$fh>)
-    {   print OUT;
-        $nrlines++;
-    }
-    close OUT;
-
-    $self->{MMBF_nrlines} = $nrlines;
-    $self;
-}
-
-sub _data_from_lines(@)
-{   my ($self, $lines)  = @_;
-    my $file = $self->tempFilename;
-
-    local *OUT;
-
-    unless(open OUT, '>', $file)
-    {   $self->log(ERROR => "Cannot write to $file: $!");
-        return;
-    }
-
-    print OUT @$lines;
-    close OUT;
-
-    $self->{MMBF_nrlines} = @$lines;
-    $self;
-}
-
-#------------------------------------------
-
-sub clone()
-{   my $self  = shift;
-    my $clone = ref($self)->new(based_on => $self);
-
-    copy($self->tempFilename, $clone->tempFilename)
-       or return;
-
-    $clone->{MMBF_nrlines} = $self->{MMBF_nrlines};
-    $clone->{MMBF_size}    = $self->{MMBF_size};
-    $self;
-}
-
-#------------------------------------------
-
-sub nrLines()
-{   my $self    = shift;
-
-    return $self->{MMBF_nrlines}
-        if defined $self->{MMBF_nrlines};
-
-    my $file    = $self->tempFilename;
-    my $nrlines = 0;
-
-    local $_;
-    local *IN;
-
-    open IN, '<', $file
-        or die "Cannot read from $file: $!\n";
-
-    $nrlines++ while <IN>;
-    close IN;
-
-    $self->{MMBF_nrlines} = $nrlines;
-}
-
-#------------------------------------------
-
-sub size()
-{   my $self = shift;
-
-    return $self->{MMBF_size}
-       if exists $self->{MMBF_size};
-
-    my $size = -s $self->tempFilename;
-
-    $size   -= $self->nrLines
-        if $Mail::Message::crlf_platform;   # remove count for extra CR's
-
-    $self->{MMBF_size} = $size;
-}
-
-
-#------------------------------------------
-
-sub string()
-{   my $self = shift;
-
-    my $file = $self->tempFilename;
-
-    local *IN;
-
-    open IN, '<', $file
-        or die "Cannot read from $file: $!\n";
-
-    my $return = join '', <IN>;
-    close IN;
-
-    $return;
-}
-
-#------------------------------------------
-
-sub lines()
-{   my $self = shift;
-
-    my $file = $self->tempFilename;
-
-    local *IN;
-    open IN, '<', $file
-        or die "Cannot read from $file: $!\n";
-
-    my @r = <IN>;
-    close IN;
-
-    $self->{MMBF_nrlines} = @r;
-    wantarray ? @r: \@r;
-}
-
-#------------------------------------------
-
-sub file()
-{   open my $tmp, '<', shift->tempFilename;
-    $tmp;
-}
-
-#------------------------------------------
-
-sub print(;$)
-{   my $self = shift;
-    my $fh   = shift || select;
-    my $file = $self->tempFilename;
-
-    local $_;
-    local *IN;
-
-    open IN, '<', $file
-        or croak "Cannot read from $file: $!\n";
-
-    if(ref $fh eq 'GLOB') {print $fh $_ while <IN>}
-    else                  {$fh->print($_) while <IN>}
-    close IN;
-
-    $self;
-}
-
-#------------------------------------------
-
-sub printEscapedFrom($)
-{   my ($self, $fh) = @_;
-    my $file = $self->tempFilename;
-
-    local $_;
-    local *IN;
-
-    open IN, '<', $file
-        or croak "Cannot read from $file: $!\n";
-
-    if(ref $fh eq 'GLOB')
-    {   while( <IN> )
-        {   s/^(?=\>*From )/>/;
-            print $fh;
-        }
-    }
-    else
-    {   while( <IN> )
-        {   s/^(?=\>*From )/>/;
-            $fh->print($_);
-        }
-    }
-
-    close IN;
-
-    $self;
-}
-
-#------------------------------------------
-
-sub read($$;$@)
-{   my ($self, $parser, $head, $bodytype) = splice @_, 0, 4;
-    my $file = $self->tempFilename;
-
-    local *OUT;
-
-    open OUT, '>', $file
-        or die "Cannot write to $file: $!.\n";
-
-    (my $begin, my $end, $self->{MMBF_nrlines}) = $parser->bodyAsFile(\*OUT, at _);
-    close OUT;
-
-    $self->fileLocation($begin, $end);
-    $self;
-}
-
-#------------------------------------------
-
-
-sub tempFilename(;$)
-{   my $self = shift;
-
-      @_                     ? ($self->{MMBF_filename} = shift)
-    : $self->{MMBF_filename} ? $self->{MMBF_filename}
-    :                          ($self->{MMBF_filename} = tmpnam);
-}
-
-#------------------------------------------
-
-
-sub DESTROY { unlink shift->tempFilename }
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/File.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Body/File.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/File.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Body/File.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/File.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,659 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Body::File - body of a message temporarily stored in a file
-
-
-=head1 INHERITANCE
-
- Mail::Message::Body::File
-   is a Mail::Message::Body
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- See Mail::Message::Body
-
-
-=head1 DESCRIPTION
-
-The body (content) of a message can be stored in various ways.  In this
-documentation you find the description of extra functionality you have
-when a message is stored in a file.
-
-Storing a whole message is a file is useful when the body is large.  Although
-access through a file is slower, it is saving a lot of memory.
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Message::Body/"OVERLOADED">
-
-=back
-
-overload: B<'==' and '!='>
-
-=over 4
-
-See L<Mail::Message::Body/"OVERLOADED">
-
-=back
-
-overload: B<@{}>
-
-=over 4
-
-See L<Mail::Message::Body/"OVERLOADED">
-
-=back
-
-overload: B<bool>
-
-=over 4
-
-See L<Mail::Message::Body/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>
-
-=over 4
-
-See L<Mail::Message::Body/"Constructors">
-
-=back
-
-Mail::Message::Body::File-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option             Defined in       Default        
- based_on           L<Mail::Message::Body>  undef          
- charset            L<Mail::Message::Body>  C<'us-ascii'>  
- checked            L<Mail::Message::Body>  <false>        
- data               L<Mail::Message::Body>  undef          
- disposition        L<Mail::Message::Body>  undef          
- eol                L<Mail::Message::Body>  C<'NATIVE'>    
- file               L<Mail::Message::Body>  undef          
- log                L<Mail::Reporter>  C<'WARNINGS'>  
- message            L<Mail::Message::Body>  undef          
- mime_type          L<Mail::Message::Body>  C<'text/plain'>
- modified           L<Mail::Message::Body>  <false>        
- trace              L<Mail::Reporter>  C<'WARNINGS'>  
- transfer_encoding  L<Mail::Message::Body>  C<'none'>      
-
-. based_on BODY
-
-. charset STRING
-
-. checked BOOLEAN
-
-. data ARRAY-OF-LINES | STRING
-
-. disposition STRING|FIELD
-
-. eol 'CR'|'LF'|'CRLF'|'NATIVE'
-
-. file FILENAME|FILEHANDLE|IOHANDLE
-
-. log LEVEL
-
-. message MESSAGE
-
-. mime_type STRING|FIELD|MIME
-
-. modified BOOLEAN
-
-. trace LEVEL
-
-. transfer_encoding STRING|FIELD
-
-=back
-
-=head2 Constructing a body
-
-
-$obj-E<gt>B<attach>(MESSAGES, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body::Construct/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<check>
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<concatenate>(COMPONENTS)
-
-=over 4
-
-See L<Mail::Message::Body::Construct/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<decoded>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<encode>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<encoded>
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<eol>(['CR'|'LF'|'CRLF'|'NATIVE'])
-
-=over 4
-
-See L<Mail::Message::Body/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<foreachLine>(CODE)
-
-=over 4
-
-See L<Mail::Message::Body::Construct/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<stripSignature>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body::Construct/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<unify>(BODY)
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Constructing a body">
-
-=back
-
-=head2 The body
-
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-See L<Mail::Message::Body/"The body">
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-See L<Mail::Message::Body/"The body">
-
-=back
-
-$obj-E<gt>B<isNested>
-
-=over 4
-
-See L<Mail::Message::Body/"The body">
-
-=back
-
-$obj-E<gt>B<message>([MESSAGE])
-
-=over 4
-
-See L<Mail::Message::Body/"The body">
-
-=back
-
-=head2 About the payload
-
-
-$obj-E<gt>B<charset>
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<checked>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<disposition>([STRING|FIELD])
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<dispositionFilename>([DIRECTORY])
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"About the payload">
-
-=back
-
-$obj-E<gt>B<isBinary>
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"About the payload">
-
-=back
-
-$obj-E<gt>B<isText>
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"About the payload">
-
-=back
-
-$obj-E<gt>B<mimeType>
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<transferEncoding>([STRING|FIELD])
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<type>([STRING|FIELD])
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-=head2 Access to the payload
-
-
-$obj-E<gt>B<file>
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-$obj-E<gt>B<lines>
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-$obj-E<gt>B<printEscapedFrom>(FILEHANDLE)
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-$obj-E<gt>B<write>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<addTransferEncHandler>(NAME, CLASS|OBJECT)
-
-Mail::Message::Body::File-E<gt>B<addTransferEncHandler>(NAME, CLASS|OBJECT)
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Internals">
-
-=back
-
-$obj-E<gt>B<contentInfoFrom>(HEAD)
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<contentInfoTo>(HEAD)
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<fileLocation>([BEGIN,END])
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<getTransferEncHandler>(TYPE)
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Internals">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<load>
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<moveLocation>([DISTANCE])
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<read>(PARSER, HEAD, BODYTYPE [,CHARS [,LINES]])
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<tempFilename>([FILENAME])
-
-=over 4
-
-Returns the name of the temporary file which is used to store this body.
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Message::Body/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Body::File-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Body::File-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Body::File-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-The temporary file is automatically removed when the body is
-not required anymore.
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot write to temporary body file $filename: $!
-
-The message body is to be stored in a temporary file (probably because it is a
-large body), but for the indicated reason, this file cannot be created.
-
-I<Warning:> No decoder defined for transfer encoding $name.
-
-The data (message body) is encoded in a way which is not currently understood,
-therefore no decoding (or recoding) can take place.
-
-I<Warning:> No encoder defined for transfer encoding $name.
-
-The data (message body) has been decoded, but the required encoding is
-unknown.  The decoded data is returned.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unable to read file $filename for message body file: $!
-
-A L<Mail::Message::Body::File|Mail::Message::Body::File> object is to be created from a named file, but
-it is impossible to read that file to retrieve the lines within.  Therefore,
-no copy to a temporary file can be made.
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/File.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Body/File.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Lines.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Body/Lines.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Lines.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,134 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message::Body::Lines;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Body';
-
-use Mail::Box::Parser;
-use IO::Lines;
-
-use Carp;
-
-
-sub _data_from_filename(@)
-{   my ($self, $filename) = @_;
-
-    local *IN;
-
-    unless(open IN, '<', $filename)
-    {   $self->log(ERROR =>
-             "Unable to read file $filename for message body lines: $!");
-        return;
-    }
-
-    $self->{MMBL_array} = [ <IN> ];
-
-    close IN;
-    $self;
-}
-
-sub _data_from_filehandle(@)
-{   my ($self, $fh) = @_;
-    $self->{MMBL_array} =
-       ref $fh eq 'Mail::Box::FastScalar' ? $fh->getlines : [ $fh->getlines ];
-    $self
-}
-
-sub _data_from_glob(@)
-{   my ($self, $fh) = @_;
-    $self->{MMBL_array} = [ <$fh> ];
-    $self;
-}
-
-sub _data_from_lines(@)
-{   my ($self, $lines)  = @_;
-    $lines = [ split /^/, $lines->[0] ]    # body passed in one string.
-        if @$lines==1;
-
-    $self->{MMBL_array} = $lines;
-    $self;
-}
-
-#------------------------------------------
-
-sub clone()
-{   my $self  = shift;
-    ref($self)->new(data => [ $self->lines ], based_on => $self);
-}
-
-#------------------------------------------
-
-sub nrLines() { scalar @{shift->{MMBL_array}} }
-
-#------------------------------------------
-# Optimized to be computed only once.
-
-sub size()
-{   my $self = shift;
-    return $self->{MMBL_size} if exists $self->{MMBL_size};
-
-    my $size = 0;
-    $size += length $_ foreach @{$self->{MMBL_array}};
-    $self->{MMBL_size} = $size;
-}
-
-#------------------------------------------
-
-sub string() { join '', @{shift->{MMBL_array}} }
-
-#------------------------------------------
-
-sub lines()  { wantarray ? @{shift->{MMBL_array}} : shift->{MMBL_array} }
-
-#------------------------------------------
-
-sub file() { IO::Lines->new(shift->{MMBL_array}) }
-
-#------------------------------------------
-
-sub print(;$)
-{   my $self = shift;
-    my $fh   = shift || select;
-    if(ref $fh eq 'GLOB') { print $fh @{$self->{MMBL_array}}   }
-    else                  { $fh->print(@{$self->{MMBL_array}}) }
-    $self;
-}
-
-#------------------------------------------
-
-sub printEscapedFrom($)
-{   my ($self, $fh) = @_;
-
-    if(ref $fh eq 'GLOB')
-    {   foreach ( @{$self->{MMBL_array}} )
-        {   s/^(?=\>*From )/>/;
-            print $fh;
-        }
-    }
-    else
-    {   foreach ( @{$self->{MMBL_array}} )
-        {   s/^(?=\>*From )/>/;
-            $fh->print($_);
-        }
-    }
-
-    $self;
-}
-
-#------------------------------------------
-
-sub read($$;$@)
-{   my ($self, $parser, $head, $bodytype) = splice @_, 0, 4;
-    my ($begin, $end, $lines) = $parser->bodyAsList(@_);
-    $lines or return undef;
-
-    $self->fileLocation($begin, $end);
-    $self->{MMBL_array} = $lines;
-    $self;
-}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Lines.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Body/Lines.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Lines.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Body/Lines.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Lines.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,645 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Body::Lines - body of a Mail::Message stored as array of lines
-
-
-=head1 INHERITANCE
-
- Mail::Message::Body::Lines
-   is a Mail::Message::Body
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- See Mail::Message::Body
-
-
-=head1 DESCRIPTION
-
-The body (content) of a message can be stored in various ways.  In this
-documentation you find the description of extra functionality you have
-when a message is stored in an array of lines.
-
-Storing a whole message as an array of lines is useful when the data is not
-encoded, and you want to process it on a line-by-line basis (a common practice
-for inspecting message bodies).
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Message::Body/"OVERLOADED">
-
-=back
-
-overload: B<'==' and '!='>
-
-=over 4
-
-See L<Mail::Message::Body/"OVERLOADED">
-
-=back
-
-overload: B<@{}>
-
-=over 4
-
-See L<Mail::Message::Body/"OVERLOADED">
-
-=back
-
-overload: B<bool>
-
-=over 4
-
-See L<Mail::Message::Body/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>
-
-=over 4
-
-See L<Mail::Message::Body/"Constructors">
-
-=back
-
-Mail::Message::Body::Lines-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option             Defined in       Default        
- based_on           L<Mail::Message::Body>  undef          
- charset            L<Mail::Message::Body>  C<'us-ascii'>  
- checked            L<Mail::Message::Body>  <false>        
- data               L<Mail::Message::Body>  undef          
- disposition        L<Mail::Message::Body>  undef          
- eol                L<Mail::Message::Body>  C<'NATIVE'>    
- file               L<Mail::Message::Body>  undef          
- log                L<Mail::Reporter>  C<'WARNINGS'>  
- message            L<Mail::Message::Body>  undef          
- mime_type          L<Mail::Message::Body>  C<'text/plain'>
- modified           L<Mail::Message::Body>  <false>        
- trace              L<Mail::Reporter>  C<'WARNINGS'>  
- transfer_encoding  L<Mail::Message::Body>  C<'none'>      
-
-. based_on BODY
-
-. charset STRING
-
-. checked BOOLEAN
-
-. data ARRAY-OF-LINES | STRING
-
-. disposition STRING|FIELD
-
-. eol 'CR'|'LF'|'CRLF'|'NATIVE'
-
-. file FILENAME|FILEHANDLE|IOHANDLE
-
-. log LEVEL
-
-. message MESSAGE
-
-. mime_type STRING|FIELD|MIME
-
-. modified BOOLEAN
-
-. trace LEVEL
-
-. transfer_encoding STRING|FIELD
-
-=back
-
-=head2 Constructing a body
-
-
-$obj-E<gt>B<attach>(MESSAGES, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body::Construct/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<check>
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<concatenate>(COMPONENTS)
-
-=over 4
-
-See L<Mail::Message::Body::Construct/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<decoded>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<encode>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<encoded>
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<eol>(['CR'|'LF'|'CRLF'|'NATIVE'])
-
-=over 4
-
-See L<Mail::Message::Body/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<foreachLine>(CODE)
-
-=over 4
-
-See L<Mail::Message::Body::Construct/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<stripSignature>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body::Construct/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<unify>(BODY)
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Constructing a body">
-
-=back
-
-=head2 The body
-
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-See L<Mail::Message::Body/"The body">
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-See L<Mail::Message::Body/"The body">
-
-=back
-
-$obj-E<gt>B<isNested>
-
-=over 4
-
-See L<Mail::Message::Body/"The body">
-
-=back
-
-$obj-E<gt>B<message>([MESSAGE])
-
-=over 4
-
-See L<Mail::Message::Body/"The body">
-
-=back
-
-=head2 About the payload
-
-
-$obj-E<gt>B<charset>
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<checked>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<disposition>([STRING|FIELD])
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<dispositionFilename>([DIRECTORY])
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"About the payload">
-
-=back
-
-$obj-E<gt>B<isBinary>
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"About the payload">
-
-=back
-
-$obj-E<gt>B<isText>
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"About the payload">
-
-=back
-
-$obj-E<gt>B<mimeType>
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<transferEncoding>([STRING|FIELD])
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<type>([STRING|FIELD])
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-=head2 Access to the payload
-
-
-$obj-E<gt>B<file>
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-$obj-E<gt>B<lines>
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-$obj-E<gt>B<printEscapedFrom>(FILEHANDLE)
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-$obj-E<gt>B<write>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<addTransferEncHandler>(NAME, CLASS|OBJECT)
-
-Mail::Message::Body::Lines-E<gt>B<addTransferEncHandler>(NAME, CLASS|OBJECT)
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Internals">
-
-=back
-
-$obj-E<gt>B<contentInfoFrom>(HEAD)
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<contentInfoTo>(HEAD)
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<fileLocation>([BEGIN,END])
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<getTransferEncHandler>(TYPE)
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Internals">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<load>
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<moveLocation>([DISTANCE])
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<read>(PARSER, HEAD, BODYTYPE [,CHARS [,LINES]])
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Message::Body/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Body::Lines-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Body::Lines-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Body::Lines-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> No decoder defined for transfer encoding $name.
-
-The data (message body) is encoded in a way which is not currently understood,
-therefore no decoding (or recoding) can take place.
-
-I<Warning:> No encoder defined for transfer encoding $name.
-
-The data (message body) has been decoded, but the required encoding is
-unknown.  The decoded data is returned.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unable to read file $filename for message body lines: $!
-
-A L<Mail::Message::Body::Lines|Mail::Message::Body::Lines> object is to be created from a named file,
-but it is impossible to read that file to retrieve the lines within.
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Lines.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Body/Lines.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Multipart.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Body/Multipart.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Multipart.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,428 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message::Body::Multipart;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Body';
-
-use Mail::Message::Body::Lines;
-use Mail::Message::Part;
-
-use Mail::Box::FastScalar;
-
-
-#------------------------------------------
-
-sub init($)
-{   my ($self, $args) = @_;
-    my $based = $args->{based_on};
-    $args->{mime_type} ||=
-        defined $based ? $based->mimeType : 'multipart/mixed';
-
-    $self->SUPER::init($args);
-
-    my @parts;
-    if($args->{parts})
-    {   foreach my $raw (@{$args->{parts}})
-        {   next unless defined $raw;
-            my $cooked = Mail::Message::Part->coerce($raw, $self);
-
-            $self->log(ERROR => 'Data not convertible to a message (type is '
-                      , ref $raw,")\n"), next unless defined $cooked;
-
-            push @parts, $cooked;
-        }
-    }
-
-    my $preamble = $args->{preamble};
-    $preamble    = Mail::Message::Body->new(data => $preamble)
-       if defined $preamble && ! ref $preamble;
-    
-    my $epilogue = $args->{epilogue};
-    $epilogue    = Mail::Message::Body->new(data => $epilogue)
-       if defined $epilogue && ! ref $epilogue;
-    
-    if($based)
-    {   $self->boundary($args->{boundary} || $based->boundary);
-        $self->{MMBM_preamble}
-            = defined $preamble ? $preamble : $based->preamble;
-
-        $self->{MMBM_parts}
-            = @parts              ? \@parts
-            : $based->isMultipart ? [ $based->parts('ACTIVE') ]
-            : [];
-
-        $self->{MMBM_epilogue}
-            = defined $epilogue ? $epilogue : $based->epilogue;
-    }
-    else
-    {   $self->boundary($args->{boundary} ||$self->type->attribute('boundary'));
-        $self->{MMBM_preamble} = $preamble;
-        $self->{MMBM_parts}    = \@parts;
-        $self->{MMBM_epilogue} = $epilogue;
-    }
-
-    $self;
-}
-
-#------------------------------------------
-
-sub isMultipart() {1}
-
-#------------------------------------------
-
-# A multipart body is never binary itself.  The parts may be.
-sub isBinary() {0}
-
-#------------------------------------------
-
-sub clone()
-{   my $self     = shift;
-    my $preamble = $self->preamble;
-    my $epilogue = $self->epilogue;
-
-    my $body     = ref($self)->new
-     ( $self->logSettings
-     , based_on => $self
-     , preamble => ($preamble ? $preamble->clone : undef)
-     , epilogue => ($epilogue ? $epilogue->clone : undef)
-     , parts    => [ map {$_->clone} $self->parts('ACTIVE') ]
-     );
-
-}
-
-#------------------------------------------
-
-sub nrLines()
-{   my $self   = shift;
-    my $nr     = 1;     # trailing boundary
-
-    if(my $preamble = $self->preamble) { $nr += $preamble->nrLines }
-    $nr += 2 + $_->nrLines foreach $self->parts('ACTIVE');
-    if(my $epilogue = $self->epilogue) { $nr += $epilogue->nrLines }
-    $nr;
-}
-
-#------------------------------------------
-
-sub size()
-{   my $self   = shift;
-    my $bbytes = length($self->boundary) +3;
-
-    my $bytes  = 0;
-    if(my $preamble = $self->preamble) { $bytes += $preamble->size }
-    $bytes     += $bbytes + 2;  # last boundary
-    $bytes += $bbytes + 1 + $_->size foreach $self->parts('ACTIVE');
-    if(my $epilogue = $self->epilogue) { $bytes += $epilogue->size }
-
-    $bytes;
-}
-
-#------------------------------------------
-
-sub string() { join '', shift->lines }
-
-#------------------------------------------
-
-sub lines()
-{   my $self     = shift;
-
-    my $boundary = $self->boundary;
-    my @lines;
-
-    my $preamble = $self->preamble;
-    push @lines, $preamble->lines if $preamble;
-
-    push @lines, "--$boundary\n", $_->lines
-        foreach $self->parts('ACTIVE');
-
-    push @lines, "--$boundary--\n";
-
-    my $epilogue = $self->epilogue;
-    push @lines, $epilogue->lines if $epilogue;
-
-    wantarray ? @lines : \@lines;
-}
-
-#------------------------------------------
-
-sub file()                    # It may be possible to speed-improve the next
-{   my $self   = shift;       # code, which first produces a full print of
-    my $text;                 # the message in memory...
-    my $dump   = Mail::Box::FastScalar->new(\$text);
-    $self->print($dump);
-    $dump->seek(0,0);
-    $dump;
-}
-
-#------------------------------------------
-
-sub print(;$)
-{   my $self = shift;
-    my $out  = shift || select;
-
-    my $boundary = $self->boundary;
-    if(my $preamble = $self->preamble) { $preamble->print($out) }
-
-    if(ref $out eq 'GLOB')
-    {   foreach my $part ($self->parts('ACTIVE'))
-        {   print $out "--$boundary\n";
-            $part->print($out);
-        }
-        print $out "--$boundary--\n";
-    }
-    else
-    {   foreach my $part ($self->parts('ACTIVE'))
-        {   $out->print("--$boundary\n");
-            $part->print($out);
-        }
-        $out->print("--$boundary--\n");
-    }
-
-    if(my $epilogue = $self->epilogue) { $epilogue->print($out) }
-
-    $self;
-}
-
-#------------------------------------------
-
-sub printEscapedFrom($)
-{   my ($self, $out) = @_;
-
-    my $boundary = $self->boundary;
-    if(my $preamble = $self->preamble) { $preamble->printEscapedFrom($out) }
-
-    if(ref $out eq 'GLOB')
-    {   foreach my $part ($self->parts('ACTIVE'))
-        {   print $out "--$boundary\n";
-            $part->printEscapedFrom($out);
-            print $out "\n";
-        }
-        print $out "--$boundary--\n";
-    }
-    else
-    {   foreach my $part ($self->parts('ACTIVE'))
-        {   $out->print("--$boundary\n");
-            $part->printEscapedFrom($out);
-            $out->print("\n");
-        }
-        $out->print("--$boundary--\n");
-    }
-
-    if(my $epilogue = $self->epilogue) { $epilogue->printEscapedFrom($out) }
-
-    $self;
-}
-
-#------------------------------------------
-
-sub check()
-{   my $self = shift;
-    $self->foreachComponent( sub {$_[1]->check} );
-}
-
-#------------------------------------------
-
-sub encode(@)
-{   my ($self, %args) = @_;
-    $self->foreachComponent( sub {$_[1]->encode(%args)} );
-}
-
-#------------------------------------------
-
-sub encoded()
-{   my $self = shift;
-    $self->foreachComponent( sub {$_[1]->encoded} );
-}
-
-#------------------------------------------
-
-sub read($$$$)
-{   my ($self, $parser, $head, $bodytype) = @_;
-
-    my $boundary = $self->boundary;
-
-    $parser->pushSeparator("--$boundary");
-    my @msgopts  = ($self->logSettings);
-
-    my @sloppyopts = 
-      ( mime_type         => 'text/plain'
-      , transfer_encoding => ($head->get('Content-Transfer-Encoding') || undef)
-      );
-
-    # Get preamble.
-    my $headtype = ref $head;
-
-    my $begin    = $parser->filePosition;
-    my $preamble = Mail::Message::Body::Lines->new(@msgopts, @sloppyopts)
-       ->read($parser, $head);
-
-    $self->{MMBM_preamble} = $preamble if defined $preamble;
-
-    # Get the parts.
-
-    my @parts;
-    while(my $sep = $parser->readSeparator)
-    {   last if $sep eq "--$boundary--\n";
-
-        my $part = Mail::Message::Part->new
-         ( @msgopts
-         , container => $self
-         );
-
-        last unless $part->readFromParser($parser, $bodytype);
-        push @parts, $part;
-    }
-    $self->{MMBM_parts} = \@parts;
-
-    # Get epilogue
-
-    $parser->popSeparator;
-    my $epilogue = Mail::Message::Body::Lines->new(@msgopts, @sloppyopts)
-        ->read($parser, $head);
-
-    $self->{MMBM_epilogue} = $epilogue if defined $epilogue;
-    my $end = defined $epilogue ? ($epilogue->fileLocation)[1]
-            : @parts            ? ($parts[-1]->fileLocation)[1]
-            : defined $preamble ? ($preamble->fileLocation)[1]
-            :                      $begin;
-
-    $self->fileLocation($begin, $end);
-
-    $self;
-}
-
-#------------------------------------------
-
-
-sub foreachComponent($)
-{   my ($self, $code) = @_;
-    my $changes  = 0;
-
-    my $new_preamble;
-    if(my $preamble = $self->preamble)
-    {   $new_preamble = $code->($self, $preamble);
-        $changes++ unless $preamble == $new_preamble;
-    }
-
-    my $new_epilogue;
-    if(my $epilogue = $self->epilogue)
-    {   $new_epilogue = $code->($self, $epilogue);
-        $changes++ unless $epilogue == $new_epilogue;
-    }
-
-    my @new_bodies;
-    foreach my $part ($self->parts('ACTIVE'))
-    {   my $part_body = $part->body;
-        my $new_body  = $code->($self, $part_body);
-
-        $changes++ if $new_body != $part_body;
-        push @new_bodies, [$part, $new_body];
-    }
-
-    return $self unless $changes;
-
-    my @new_parts;
-    foreach (@new_bodies)
-    {   my ($part, $body) = @$_;
-        my $new_part = Mail::Message::Part->new
-           ( head      => $part->head->clone,
-             container => undef
-           );
-        $new_part->body($body);
-        push @new_parts, $new_part;
-    }
-
-    my $constructed = (ref $self)->new
-      ( preamble => $new_preamble
-      , parts    => \@new_parts
-      , epilogue => $new_epilogue
-      , based_on => $self
-      );
-
-    $_->container($constructed)
-       foreach @new_parts;
-
-    $constructed;
-}
-
-#------------------------------------------
-
-
-sub attach(@)
-{   my $self  = shift;
-    my $new   = ref($self)->new
-      ( based_on => $self
-      , parts    => [$self->parts, @_]
-      );
-}
-
-#-------------------------------------------
-
-
-sub stripSignature(@)
-{   my $self  = shift;
-
-    my @allparts = $self->parts;
-    my @parts    = grep {! $_->body->mimeType->isSignature} @allparts;
-
-    @allparts==@parts ? $self
-    : (ref $self)->new(based_on => $self, parts => \@parts);
-}
-
-#------------------------------------------
-
-
-sub preamble() {shift->{MMBM_preamble}}
-
-#------------------------------------------
-
-
-sub epilogue() {shift->{MMBM_epilogue}}
-
-#------------------------------------------
-
-
-sub parts(;$)
-{   my $self  = shift;
-    return @{$self->{MMBM_parts}} unless @_;
-
-    my $what  = shift;
-    my @parts = @{$self->{MMBM_parts}};
-
-      $what eq 'RECURSE' ? (map {$_->parts('RECURSE')} @parts)
-    : $what eq 'ALL'     ? @parts
-    : $what eq 'DELETED' ? (grep {$_->isDeleted} @parts)
-    : $what eq 'ACTIVE'  ? (grep {not $_->isDeleted} @parts)
-    : ref $what eq 'CODE'? (grep {$what->($_)} @parts)
-    : ($self->log(ERROR => "Unknown criterium $what to select parts."), return ());
-}
-
-#-------------------------------------------
-
-
-sub part($) { shift->{MMBM_parts}[shift] }
-
-#-------------------------------------------
-
-
-my $unique_boundary = time;
-
-sub boundary(;$)
-{   my $self  = shift;
-    my $mime  = $self->type;
-
-    unless(@_)
-    {   my $boundary = $mime->attribute('boundary');
-        return $boundary if defined $boundary;
-    }
-
-    my $boundary = @_ && defined $_[0] ? (shift) : "boundary-".$unique_boundary++;
-    $self->type->attribute(boundary => $boundary);
-}
-
-#-------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Multipart.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Body/Multipart.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Multipart.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Body/Multipart.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Multipart.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,828 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Body::Multipart - body of a message with attachments
-
-
-=head1 INHERITANCE
-
- Mail::Message::Body::Multipart
-   is a Mail::Message::Body
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- See Mail::Message::Body
-
- if($body->isMultipart) {
-    my @attachments = $body->parts;
-    my $attachment3 = $body->part(2);
-    my $before      = $body->preamble;
-    my $after       = $body->epilogue;
-    $body->part(1)->delete;
- }
-
-
-=head1 DESCRIPTION
-
-The body (content) of a message can be stored in various ways.  In this
-manual-page you find the description of extra functionality you have
-when a message contains attachments (parts).
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Message::Body/"OVERLOADED">
-
-=back
-
-overload: B<'==' and '!='>
-
-=over 4
-
-See L<Mail::Message::Body/"OVERLOADED">
-
-=back
-
-overload: B<@{}>
-
-=over 4
-
-See L<Mail::Message::Body/"OVERLOADED">
-
-=back
-
-overload: B<bool>
-
-=over 4
-
-See L<Mail::Message::Body/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>
-
-=over 4
-
-See L<Mail::Message::Body/"Constructors">
-
-=back
-
-Mail::Message::Body::Multipart-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option             Defined in       Default             
- based_on           L<Mail::Message::Body>  undef               
- boundary                            undef               
- charset            L<Mail::Message::Body>  C<'us-ascii'>       
- checked            L<Mail::Message::Body>  <false>             
- data               L<Mail::Message::Body>  undef               
- disposition        L<Mail::Message::Body>  undef               
- eol                L<Mail::Message::Body>  C<'NATIVE'>         
- epilogue                            undef               
- file               L<Mail::Message::Body>  undef               
- log                L<Mail::Reporter>  C<'WARNINGS'>       
- message            L<Mail::Message::Body>  undef               
- mime_type          L<Mail::Message::Body>  C<'multipart/mixed'>
- modified           L<Mail::Message::Body>  <false>             
- parts                               undef               
- preamble                            undef               
- trace              L<Mail::Reporter>  C<'WARNINGS'>       
- transfer_encoding  L<Mail::Message::Body>  C<'none'>           
-
-. based_on BODY
-
-. boundary STRING
-
-=over 4
-
-Separator to be used between parts of the message.  This separator must
-be unique in case the message contains nested multiparts (which are not
-unusual).  If C<undef>, a nice unique boundary will be generated.
-
-=back
-
-. charset STRING
-
-. checked BOOLEAN
-
-. data ARRAY-OF-LINES | STRING
-
-. disposition STRING|FIELD
-
-. eol 'CR'|'LF'|'CRLF'|'NATIVE'
-
-. epilogue BODY|STRING
-
-=over 4
-
-The text which is included in the main body after the final boundary.  This
-is usually empty, and has no meaning.
-
-Provide a BODY object or a STRING which will automatically translated
-into a C<text/plain> body.
-
-=back
-
-. file FILENAME|FILEHANDLE|IOHANDLE
-
-. log LEVEL
-
-. message MESSAGE
-
-. mime_type STRING|FIELD|MIME
-
-. modified BOOLEAN
-
-. parts ARRAY-OF-(MESSAGES|BODIES)
-
-=over 4
-
-Specifies an initial list of parts in this body.  These may be full
-MESSAGES, or BODIES which transformed into messages before use.  Each
-message is coerced into a L<Mail::Message::Part|Mail::Message::Part> object.
-
-MIME::Entity and Mail::Internet objects are acceptable in the
-list, because they are coercible into L<Mail::Message::Part|Mail::Message::Part>'s.  Values
-of C<undef> will be skipped silently.
-
-=back
-
-. preamble BODY|STRING
-
-=over 4
-
-The text which is included in the body before the first part.  It is
-common use to include a text to warn the user that the message is a
-multipart.  However, this was useful in earlier days: most mail
-agents are very capable in warning the user themselves.
-
-Provide a BODY object or a STRING which will automatically translated
-into a text/plain body.
-
-=back
-
-. trace LEVEL
-
-. transfer_encoding STRING|FIELD
-
-I<Example:> 
-
- my $intro = Mail::Message::Body->new(data => ['part one']);
- my $pgp   = Mail::Message::Body->new(data => ['part three']);
-
- my $body  = Mail::Message::Body::Multipart->new
-   ( boundary => time . '--it-s-mine'
-   , preamble => "This is a multi-part message in MIME format.\n\n"
-   , parts    => [ $intro, $folder->message(3)->decoded, $pgp ]
-   );
-
-=back
-
-=head2 Constructing a body
-
-
-$obj-E<gt>B<attach>(MESSAGES|BODIES)
-
-=over 4
-
-Attach a list of MESSAGES to this multipart.  A new body is returned.
-When you specify BODIES, they will first be translated into
-real messages.  MIME::Entity and Mail::Internet objects may be
-specified too.  In any case, the parts will be coerced into
-L<Mail::Message::Part|Mail::Message::Part>'s.
-
-=back
-
-$obj-E<gt>B<check>
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<concatenate>(COMPONENTS)
-
-=over 4
-
-See L<Mail::Message::Body::Construct/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<decoded>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<encode>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<encoded>
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<eol>(['CR'|'LF'|'CRLF'|'NATIVE'])
-
-=over 4
-
-See L<Mail::Message::Body/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<foreachComponent>(CODE)
-
-=over 4
-
-Execute the CODE for each component of the message: the preamble, the
-epilogue, and each of the parts.
-
-Each component is a body and is passed as second argument to the CODE.
-The first argument is a reference to this multi-parted body.  The CODE
-returns a body object.  When any of the returned bodies differs from
-the body which was passed, then a new multi-part body will be returned.
-Reference to the not-changed bodies and the changed bodies will be
-included in that new multi-part.
-
-I<Example:> 
-
- my $checked = $multi->foreachComponent(sub {$_[1]->check});
-
-=back
-
-$obj-E<gt>B<foreachLine>(CODE)
-
-=over 4
-
-See L<Mail::Message::Body::Construct/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<stripSignature>(OPTIONS)
-
-=over 4
-
-Removes all parts which contains data usually defined as being signature.
-The L<MIME::Type|MIME::Type> module provides this knowledge.  A new multipart is
-returned, containing the remaining parts.  No OPTIONS are defined yet,
-although some may be specified, because this method overrules the
-C<stripSignature> method for normal bodies.
-
- Option       Defined in       Default          
- max_lines    L<Mail::Message::Body::Construct>  C<10>            
- pattern      L<Mail::Message::Body::Construct>  C<qr/^--\s?$/>   
- result_type  L<Mail::Message::Body::Construct>  <same as current>
-
-. max_lines INTEGER|undef
-
-. pattern REGEX|STRING|CODE
-
-. result_type CLASS
-
-=back
-
-$obj-E<gt>B<unify>(BODY)
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Constructing a body">
-
-=back
-
-=head2 The body
-
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-See L<Mail::Message::Body/"The body">
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-See L<Mail::Message::Body/"The body">
-
-=back
-
-$obj-E<gt>B<isNested>
-
-=over 4
-
-See L<Mail::Message::Body/"The body">
-
-=back
-
-$obj-E<gt>B<message>([MESSAGE])
-
-=over 4
-
-See L<Mail::Message::Body/"The body">
-
-=back
-
-=head2 About the payload
-
-
-$obj-E<gt>B<charset>
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<checked>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<disposition>([STRING|FIELD])
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<dispositionFilename>([DIRECTORY])
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"About the payload">
-
-=back
-
-$obj-E<gt>B<isBinary>
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"About the payload">
-
-=back
-
-$obj-E<gt>B<isText>
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"About the payload">
-
-=back
-
-$obj-E<gt>B<mimeType>
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<transferEncoding>([STRING|FIELD])
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<type>([STRING|FIELD])
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-=head2 Access to the payload
-
-
-$obj-E<gt>B<boundary>([STRING])
-
-=over 4
-
-Returns the boundary which is used to separate the parts in this
-body.  If none was read from file, then one will be assigned.  With
-STRING you explicitly set the boundary to be used.
-
-=back
-
-$obj-E<gt>B<epilogue>
-
-=over 4
-
-Returns the epilogue; the text after the last message part (after the
-last real attachment).
-The epilogue is stored in a BODY object, and its encoding is taken
-from the general multipart header.
-
-=back
-
-$obj-E<gt>B<file>
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-$obj-E<gt>B<lines>
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-$obj-E<gt>B<part>(INDEX)
-
-=over 4
-
-Returns only the part with the specified INDEX.  You may use a negative
-value here, which counts from the back in the list.  Parts which are
-flagged to be deleted are included in the count.
-
-I<Example:> 
-
- $message->body->part(2)->print;
- $body->part(1)->delete;
-
-=back
-
-$obj-E<gt>B<parts>(['ALL'|'ACTIVE'|'DELETED'|'RECURSE'|FILTER])
-
-=over 4
-
-Return all parts by default, or when ALL is specified.  C<ACTIVE> returns
-the parts which are not flagged for deletion, as opposite to C<DELETED>.
-C<RECURSE> descents into all nested multiparts to collect all parts.
-
-You may also specify a code reference which is called for each nested
-part.  The first argument will be the message part.  When the code
-returns true, the part is incorporated in the return list.
-
-I<Example:> 
-
- print "Number of attachments: ",
-     scalar $message->body->parts('ACTIVE');
-
- foreach my $part ($message->body->parts) {
-     print "Type: ", $part->get('Content-Type');
- }
-
-=back
-
-$obj-E<gt>B<preamble>
-
-=over 4
-
-Returns the preamble; the text before the first message part (before the
-first real attachment).
-The preamble is stored in a BODY object, and its encoding is taken
-from the multipart header.
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-$obj-E<gt>B<printEscapedFrom>(FILEHANDLE)
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-$obj-E<gt>B<write>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<addTransferEncHandler>(NAME, CLASS|OBJECT)
-
-Mail::Message::Body::Multipart-E<gt>B<addTransferEncHandler>(NAME, CLASS|OBJECT)
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Internals">
-
-=back
-
-$obj-E<gt>B<contentInfoFrom>(HEAD)
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<contentInfoTo>(HEAD)
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<fileLocation>([BEGIN,END])
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<getTransferEncHandler>(TYPE)
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Internals">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<load>
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<moveLocation>([DISTANCE])
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<read>(PARSER, HEAD, BODYTYPE [,CHARS [,LINES]])
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Message::Body/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Body::Multipart-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Body::Multipart-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Body::Multipart-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Data not convertible to a message (type is $type)
-
-An object which is not coercable into a L<Mail::Message::Part|Mail::Message::Part> object was
-passed to the initiation.  The data is ignored.
-
-I<Warning:> No decoder defined for transfer encoding $name.
-
-The data (message body) is encoded in a way which is not currently understood,
-therefore no decoding (or recoding) can take place.
-
-I<Warning:> No encoder defined for transfer encoding $name.
-
-The data (message body) has been decoded, but the required encoding is
-unknown.  The decoded data is returned.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unknown criterium $what to select parts.
-
-Valid choices fdr part selections are C<ALL>, C<ACTIVE>, C<DELETED>,
-C<RECURSE> or a code reference.  However, some other argument was passed.
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Multipart.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Body/Multipart.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Nested.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Body/Nested.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Nested.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,181 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message::Body::Nested;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Body';
-
-use Mail::Message::Body::Lines;
-use Mail::Message::Part;
-
-use Carp;
-
-
-sub init($)
-{   my ($self, $args) = @_;
-    $args->{mime_type} ||= 'message/rfc822';
-
-    $self->SUPER::init($args);
-
-    my $nested;
-    if(my $raw = $args->{nested})
-    {   $nested = Mail::Message::Part->coerce($raw, $self);
-
-        croak 'Data not convertible to a message (type is ', ref $raw,")\n"
-            unless defined $nested;
-    }
-
-    $self->{MMBN_nested} = $nested;
-    $self;
-}
-
-#------------------------------------------
-
-sub isNested() {1}
-
-#------------------------------------------
-
-sub isBinary() { shift->nested->body->isBinary }
-
-#------------------------------------------
-
-sub clone()
-{   my $self     = shift;
-
-    ref($self)->new
-     ( $self->logSettings
-     , based_on => $self
-     , nested   => $self->nested->clone
-     );
-}
-
-#------------------------------------------
-
-sub nrLines() { shift->nested->nrLines }
-
-#------------------------------------------
-
-sub size()    { shift->nested->size }
-
-#------------------------------------------
-
-sub string()
-{    my $nested = shift->nested;
-     defined $nested ? $nested->string : '';
-}
-
-#------------------------------------------
-
-sub lines()
-{    my $nested = shift->nested;
-     defined $nested ? ($nested->lines) : ();
-}
-
-#------------------------------------------
-
-sub file()
-{    my $nested = shift->nested;
-     defined $nested ? $nested->file : undef;
-}
-
-#------------------------------------------
-
-sub print(;$)
-{   my $self = shift;
-    $self->nested->print(shift || select);
-}
-
-#------------------------------------------
-
-sub printEscapedFrom($)
-{   my $self = shift;
-    $self->nested->printEscapedFrom(shift);
-}
-
-sub check() { shift->forNested( sub {$_[1]->check} ) }
-
-#------------------------------------------
-
-sub encode(@)
-{   my ($self, %args) = @_;
-    $self->forNested( sub {$_[1]->encode(%args)} );
-}
-
-#------------------------------------------
-
-sub encoded() { shift->forNested( sub {$_[1]->encoded} ) }
-
-#------------------------------------------
-
-sub read($$$$)
-{   my ($self, $parser, $head, $bodytype) = @_;
-
-    my $nest = Mail::Message::Part->new(container => undef);
-    $nest->readFromParser($parser, $bodytype)
-       or return;
-
-    $nest->container($self);
-    $self->{MMBN_nested} = $nest;
-    $self;
-}
-
-#-------------------------------------------
-
-sub fileLocation()
-{   my $nested   = shift->nested;
-
-    ( ($nested->head->fileLocation)[0]
-    , ($nested->body->fileLocation)[1]
-    );
-}
-
-#------------------------------------------
-
-sub moveLocation($)
-{   my $self   = shift;
-    my $nested = $self->nested;
-    my $dist   = shift or return $self;  # no move
-
-    $nested->head->moveLocation($dist);
-    $nested->body->moveLocation($dist);
-    $self;
-}
-
-#------------------------------------------
-
-
-sub nested() { shift->{MMBN_nested} }
-
-#------------------------------------------
-
-
-sub forNested($)
-{   my ($self, $code) = @_;
-    my $nested    = $self->nested;
-    my $body      = $nested->body;
-
-    my $new_body  = $code->($self, $body)
-       or return;
-
-    return $self if $new_body == $body;
-
-    my $new_nested  = Mail::Message::Part->new
-       ( head      => $nested->head->clone
-       , container => undef
-       );
-
-    $new_nested->body($new_body);
-
-    my $created = (ref $self)->new
-      ( based_on => $self
-      , nested   => $new_nested
-      );
-
-    $new_nested->container($created);
-    $created;
-}
-
-#-------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Nested.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Body/Nested.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Nested.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Body/Nested.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Nested.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,684 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Body::Nested - body of a message which contains a message
-
-
-=head1 INHERITANCE
-
- Mail::Message::Body::Nested
-   is a Mail::Message::Body
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- See Mail::Message::Body
-
- if($body->isNested) {
-    my $nest = $body->nested;
-    $nest->delete;
- }
-
-
-=head1 DESCRIPTION
-
-The body (content) of a message can be stored in various ways.  In this
-manual-page you find the description of extra functionality you have
-when a message contains a nested message, like C<message/rfc822>.
-
-A nested message is different from a multipart message which contains
-only one element, because a nested message has a full set of message
-header fields defined by the RFC882, where a part of a multipart has
-only a few.  But because we do not keep track whether all fields are
-presented, a C<Mail::Message::Part> is used anyway.
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Message::Body/"OVERLOADED">
-
-=back
-
-overload: B<'==' and '!='>
-
-=over 4
-
-See L<Mail::Message::Body/"OVERLOADED">
-
-=back
-
-overload: B<@{}>
-
-=over 4
-
-See L<Mail::Message::Body/"OVERLOADED">
-
-=back
-
-overload: B<bool>
-
-=over 4
-
-See L<Mail::Message::Body/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>
-
-=over 4
-
-See L<Mail::Message::Body/"Constructors">
-
-=back
-
-Mail::Message::Body::Nested-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option             Defined in       Default            
- based_on           L<Mail::Message::Body>  undef              
- charset            L<Mail::Message::Body>  C<'us-ascii'>      
- checked            L<Mail::Message::Body>  <false>            
- data               L<Mail::Message::Body>  undef              
- disposition        L<Mail::Message::Body>  undef              
- eol                L<Mail::Message::Body>  C<'NATIVE'>        
- file               L<Mail::Message::Body>  undef              
- log                L<Mail::Reporter>  C<'WARNINGS'>      
- message            L<Mail::Message::Body>  undef              
- mime_type          L<Mail::Message::Body>  C<'message/rfc822'>
- modified           L<Mail::Message::Body>  <false>            
- nested                              undef              
- trace              L<Mail::Reporter>  C<'WARNINGS'>      
- transfer_encoding  L<Mail::Message::Body>  C<'none'>          
-
-. based_on BODY
-
-. charset STRING
-
-. checked BOOLEAN
-
-. data ARRAY-OF-LINES | STRING
-
-. disposition STRING|FIELD
-
-. eol 'CR'|'LF'|'CRLF'|'NATIVE'
-
-. file FILENAME|FILEHANDLE|IOHANDLE
-
-. log LEVEL
-
-. message MESSAGE
-
-. mime_type STRING|FIELD|MIME
-
-. modified BOOLEAN
-
-. nested MESSAGE
-
-=over 4
-
-The message which is encapsulated within this body.
-
-=back
-
-. trace LEVEL
-
-. transfer_encoding STRING|FIELD
-
-I<Example:> 
-
- my $msg   = $folder->message(3);
- my $encaps= Mail::Message::Body::Nested->new(nested => $msg);
-
- # The body will be coerced into a message, which lacks a few
- # lines but we do not bother.
- my $intro = Mail::Message::Body->new(data => ...);
- my $body  = Mail::Message::Body::Nested->new(nested  => $intro);
-
-=back
-
-=head2 Constructing a body
-
-
-$obj-E<gt>B<attach>(MESSAGES, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body::Construct/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<check>
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<concatenate>(COMPONENTS)
-
-=over 4
-
-See L<Mail::Message::Body::Construct/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<decoded>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<encode>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<encoded>
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<eol>(['CR'|'LF'|'CRLF'|'NATIVE'])
-
-=over 4
-
-See L<Mail::Message::Body/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<foreachLine>(CODE)
-
-=over 4
-
-See L<Mail::Message::Body::Construct/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<stripSignature>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body::Construct/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<unify>(BODY)
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Constructing a body">
-
-=back
-
-=head2 The body
-
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-See L<Mail::Message::Body/"The body">
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-See L<Mail::Message::Body/"The body">
-
-=back
-
-$obj-E<gt>B<isNested>
-
-=over 4
-
-See L<Mail::Message::Body/"The body">
-
-=back
-
-$obj-E<gt>B<message>([MESSAGE])
-
-=over 4
-
-See L<Mail::Message::Body/"The body">
-
-=back
-
-=head2 About the payload
-
-
-$obj-E<gt>B<charset>
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<checked>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<disposition>([STRING|FIELD])
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<dispositionFilename>([DIRECTORY])
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"About the payload">
-
-=back
-
-$obj-E<gt>B<isBinary>
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"About the payload">
-
-=back
-
-$obj-E<gt>B<isText>
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"About the payload">
-
-=back
-
-$obj-E<gt>B<mimeType>
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<transferEncoding>([STRING|FIELD])
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<type>([STRING|FIELD])
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-=head2 Access to the payload
-
-
-$obj-E<gt>B<file>
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-$obj-E<gt>B<forNested>(CODE)
-
-=over 4
-
-Execute the CODE for the nested message.  This returns a new
-nested body object.  Returns C<undef> when the CODE returns C<undef>.
-
-=back
-
-$obj-E<gt>B<lines>
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-$obj-E<gt>B<nested>
-
-=over 4
-
-Returns the L<Mail::Message::Part|Mail::Message::Part> message which is enclosed within
-this body.
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-$obj-E<gt>B<printEscapedFrom>(FILEHANDLE)
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-$obj-E<gt>B<write>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<addTransferEncHandler>(NAME, CLASS|OBJECT)
-
-Mail::Message::Body::Nested-E<gt>B<addTransferEncHandler>(NAME, CLASS|OBJECT)
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Internals">
-
-=back
-
-$obj-E<gt>B<contentInfoFrom>(HEAD)
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<contentInfoTo>(HEAD)
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<fileLocation>([BEGIN,END])
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<getTransferEncHandler>(TYPE)
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Internals">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<load>
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<moveLocation>([DISTANCE])
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<read>(PARSER, HEAD, BODYTYPE [,CHARS [,LINES]])
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Message::Body/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Body::Nested-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Body::Nested-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Body::Nested-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> No decoder defined for transfer encoding $name.
-
-The data (message body) is encoded in a way which is not currently understood,
-therefore no decoding (or recoding) can take place.
-
-I<Warning:> No encoder defined for transfer encoding $name.
-
-The data (message body) has been decoded, but the required encoding is
-unknown.  The decoded data is returned.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/Nested.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Body/Nested.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/String.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Body/String.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/String.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,145 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message::Body::String;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Body';
-
-use Carp;
-use Mail::Box::FastScalar;
-
-
-#------------------------------------------
-# The scalar is stored as reference to avoid a copy during creation of
-# a string object.
-
-sub _data_from_filename(@)
-{   my ($self, $filename) = @_;
-
-    delete $self->{MMBS_nrlines};
-
-    local *IN;
-    unless(open IN, '<', $filename)
-    {   $self->log(ERROR =>
-            "Unable to read file $filename for message body scalar: $!");
-        return;
-    }
-
-    my @lines = <IN>;
-    close IN;
-
-    $self->{MMBS_nrlines} = @lines;
-    $self->{MMBS_scalar}  = join '', @lines;
-    $self;
-}
-
-sub _data_from_filehandle(@)
-{   my ($self, $fh) = @_;
-    if(ref $fh eq 'Mail::Box::FastScalar')
-    {   my $lines = $fh->getlines;
-        $self->{MMBS_nrlines} = @$lines;
-        $self->{MMBS_scalar}  = join '', @$lines;
-    }
-    else
-    {    my @lines = $fh->getlines;
-         $self->{MMBS_nrlines} = @lines;
-         $self->{MMBS_scalar}  = join '', @lines;
-    }
-    $self;
-}
-
-sub _data_from_glob(@)
-{   my ($self, $fh) = @_;
-    my @lines = <$fh>;
-    $self->{MMBS_nrlines} = @lines;
-    $self->{MMBS_scalar}  = join '', @lines;
-    $self;
-}
-
-sub _data_from_lines(@)
-{   my ($self, $lines) = @_;
-    $self->{MMBS_nrlines} = @$lines unless @$lines==1;
-    $self->{MMBS_scalar}  = @$lines==1 ? shift @$lines : join('', @$lines);
-    $self;
-}
-
-#------------------------------------------
-
-sub clone()
-{   my $self = shift;
-    ref($self)->new(data => $self->string, based_on => $self);
-}
-
-#------------------------------------------
-# Only compute it once, if needed.  The scalar contains lines, so will
-# have a \n even at the end.
-
-sub nrLines()
-{   my $self = shift;
-    return $self->{MMBS_nrlines} if defined $self->{MMBS_nrlines};
-
-    my $nrlines = 0;
-    for($self->{MMBS_scalar})
-    {   $nrlines++ while /\n/g;
-    }
-
-    $self->{MMBS_nrlines} = $nrlines;
-}
-
-#------------------------------------------
-
-sub size() { length shift->{MMBS_scalar} }
-
-#------------------------------------------
-
-sub string() { shift->{MMBS_scalar} }
-
-#------------------------------------------
-
-sub lines()
-{   my @lines = split /^/, shift->{MMBS_scalar};
-    wantarray ? @lines : \@lines;
-}
-
-#------------------------------------------
-
-sub file() { Mail::Box::FastScalar->new(shift->{MMBS_scalar}) }
-
-#------------------------------------------
-
-sub print(;$)
-{   my $self = shift;
-    my $fh   = shift || select;
-    if(ref $fh eq 'GLOB') { print $fh $self->{MMBS_scalar} }
-    else                  { $fh->print($self->{MMBS_scalar}) }
-    $self;
-}
-
-#------------------------------------------
-
-sub printEscapedFrom($)
-{   my ($self, $fh) = @_;
-
-    my $text = $self->{MMBS_scalar};    # copy required
-    $text    =~ s/^(?=\>*From )/>/;
-    if(ref $fh eq 'GLOB') { print $fh $text   }
-    else                  { $fh->print($text) }
-    $self;
-}
-
-#------------------------------------------
-
-sub read($$;$@)
-{   my ($self, $parser, $head, $bodytype) = splice @_, 0, 4;
-    delete $self->{MMBS_nrlines};
-
-    (my $begin, my $end, $self->{MMBS_scalar}) = $parser->bodyAsString(@_);
-    $self->fileLocation($begin, $end);
-
-    $self;
-}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/String.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Body/String.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/String.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Body/String.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/String.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,646 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Body::String - body of a Mail::Message stored as single string
-
-
-=head1 INHERITANCE
-
- Mail::Message::Body::String
-   is a Mail::Message::Body
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- See Mail::Message::Body
-
-
-=head1 DESCRIPTION
-
-The body (content) of a message can be stored in various ways.  In this
-documentation you will find the description of extra functionality you have
-when a message is stored as a single scalar.  
-
-Storing a whole message in one string is only a smart choice when the content
-is small or encoded. Even when stored as a scalar, you can still treat the
-body as if the data is stored in lines or an external file, but this will be
-slower.
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Message::Body/"OVERLOADED">
-
-=back
-
-overload: B<'==' and '!='>
-
-=over 4
-
-See L<Mail::Message::Body/"OVERLOADED">
-
-=back
-
-overload: B<@{}>
-
-=over 4
-
-See L<Mail::Message::Body/"OVERLOADED">
-
-=back
-
-overload: B<bool>
-
-=over 4
-
-See L<Mail::Message::Body/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>
-
-=over 4
-
-See L<Mail::Message::Body/"Constructors">
-
-=back
-
-Mail::Message::Body::String-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option             Defined in       Default        
- based_on           L<Mail::Message::Body>  undef          
- charset            L<Mail::Message::Body>  C<'us-ascii'>  
- checked            L<Mail::Message::Body>  <false>        
- data               L<Mail::Message::Body>  undef          
- disposition        L<Mail::Message::Body>  undef          
- eol                L<Mail::Message::Body>  C<'NATIVE'>    
- file               L<Mail::Message::Body>  undef          
- log                L<Mail::Reporter>  C<'WARNINGS'>  
- message            L<Mail::Message::Body>  undef          
- mime_type          L<Mail::Message::Body>  C<'text/plain'>
- modified           L<Mail::Message::Body>  <false>        
- trace              L<Mail::Reporter>  C<'WARNINGS'>  
- transfer_encoding  L<Mail::Message::Body>  C<'none'>      
-
-. based_on BODY
-
-. charset STRING
-
-. checked BOOLEAN
-
-. data ARRAY-OF-LINES | STRING
-
-. disposition STRING|FIELD
-
-. eol 'CR'|'LF'|'CRLF'|'NATIVE'
-
-. file FILENAME|FILEHANDLE|IOHANDLE
-
-. log LEVEL
-
-. message MESSAGE
-
-. mime_type STRING|FIELD|MIME
-
-. modified BOOLEAN
-
-. trace LEVEL
-
-. transfer_encoding STRING|FIELD
-
-=back
-
-=head2 Constructing a body
-
-
-$obj-E<gt>B<attach>(MESSAGES, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body::Construct/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<check>
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<concatenate>(COMPONENTS)
-
-=over 4
-
-See L<Mail::Message::Body::Construct/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<decoded>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<encode>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<encoded>
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<eol>(['CR'|'LF'|'CRLF'|'NATIVE'])
-
-=over 4
-
-See L<Mail::Message::Body/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<foreachLine>(CODE)
-
-=over 4
-
-See L<Mail::Message::Body::Construct/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<stripSignature>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body::Construct/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<unify>(BODY)
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Constructing a body">
-
-=back
-
-=head2 The body
-
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-See L<Mail::Message::Body/"The body">
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-See L<Mail::Message::Body/"The body">
-
-=back
-
-$obj-E<gt>B<isNested>
-
-=over 4
-
-See L<Mail::Message::Body/"The body">
-
-=back
-
-$obj-E<gt>B<message>([MESSAGE])
-
-=over 4
-
-See L<Mail::Message::Body/"The body">
-
-=back
-
-=head2 About the payload
-
-
-$obj-E<gt>B<charset>
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<checked>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<disposition>([STRING|FIELD])
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<dispositionFilename>([DIRECTORY])
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"About the payload">
-
-=back
-
-$obj-E<gt>B<isBinary>
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"About the payload">
-
-=back
-
-$obj-E<gt>B<isText>
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"About the payload">
-
-=back
-
-$obj-E<gt>B<mimeType>
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<transferEncoding>([STRING|FIELD])
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-$obj-E<gt>B<type>([STRING|FIELD])
-
-=over 4
-
-See L<Mail::Message::Body/"About the payload">
-
-=back
-
-=head2 Access to the payload
-
-
-$obj-E<gt>B<file>
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-$obj-E<gt>B<lines>
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-$obj-E<gt>B<printEscapedFrom>(FILEHANDLE)
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-$obj-E<gt>B<write>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body/"Access to the payload">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<addTransferEncHandler>(NAME, CLASS|OBJECT)
-
-Mail::Message::Body::String-E<gt>B<addTransferEncHandler>(NAME, CLASS|OBJECT)
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Internals">
-
-=back
-
-$obj-E<gt>B<contentInfoFrom>(HEAD)
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<contentInfoTo>(HEAD)
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<fileLocation>([BEGIN,END])
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<getTransferEncHandler>(TYPE)
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Internals">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<load>
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<moveLocation>([DISTANCE])
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-$obj-E<gt>B<read>(PARSER, HEAD, BODYTYPE [,CHARS [,LINES]])
-
-=over 4
-
-See L<Mail::Message::Body/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Message::Body/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Body::String-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Body::String-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Body::String-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> No decoder defined for transfer encoding $name.
-
-The data (message body) is encoded in a way which is not currently understood,
-therefore no decoding (or recoding) can take place.
-
-I<Warning:> No encoder defined for transfer encoding $name.
-
-The data (message body) has been decoded, but the required encoding is
-unknown.  The decoded data is returned.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Unable to read file $filename for message body scalar: $!
-
-A L<Mail::Message::Body::String|Mail::Message::Body::String> object is to be created from a named
-file, but it is impossible to read that file to retrieve the lines within.
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body/String.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Body/String.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Body.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,454 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message::Body;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Reporter';
-
-use Mail::Message::Field;
-use Mail::Message::Body::Lines;
-use Mail::Message::Body::File;
-
-use Carp;
-use Scalar::Util     'weaken';
-use File::Basename   'basename';
-
-use MIME::Types;
-my $mime_types = MIME::Types->new;
-my $mime_plain = $mime_types->type('text/plain');
-
-
-use overload bool  => sub {1}   # $body->print if $body
-           , '""'  => 'string_unless_carp'
-           , '@{}' => 'lines'
-           , '=='  => sub {$_[0]->{MMB_seqnr}==$_[1]->{MMB_seqnr}}
-           , '!='  => sub {$_[0]->{MMB_seqnr}!=$_[1]->{MMB_seqnr}};
-
-#------------------------------------------
-
-
-my $body_count = 0;  # to be able to compare bodies for equivalence.
-
-sub new(@)
-{   my $class = shift;
-
-    return $class->SUPER::new(@_)
-         unless $class eq __PACKAGE__;
-
-    my %args  = @_;
-
-      exists $args{file}
-    ? Mail::Message::Body::File->new(@_)
-    : Mail::Message::Body::Lines->new(@_);
-}
-
-# All body implementations shall implement all of the following!!
-
-sub _data_from_filename(@)   {shift->notImplemented}
-sub _data_from_filehandle(@) {shift->notImplemented}
-sub _data_from_glob(@)       {shift->notImplemented}
-sub _data_from_lines(@)      {shift->notImplemented}
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    $self->SUPER::init($args);
-
-    $self->{MMB_modified} = $args->{modified} || 0;
-
-    my $filename;
-    if(defined(my $file = $args->{file}))
-    {
-        if(!ref $file)
-        {    $self->_data_from_filename($file) or return;
-             $filename = $file;
-        }
-        elsif(ref $file eq 'GLOB')
-        {    $self->_data_from_glob($file) or return }
-        elsif($file->isa('IO::Handle'))
-        {    $self->_data_from_filehandle($file) or return }
-        else
-        {    croak "Illegal datatype for file option." }
-    }
-    elsif(defined(my $data = $args->{data}))
-    {
-        if(!ref $data)
-        {   my @lines = split /^/, $data;
-            $self->_data_from_lines(\@lines)
-        }
-        elsif(ref $data eq 'ARRAY')
-        {   $self->_data_from_lines($data) or return;
-        }
-        else
-        {   croak "Illegal datatype for data option." }
-    }
-    elsif(! $self->isMultipart && ! $self->isNested)
-    {   # Neither 'file' nor 'data', so empty body.
-        $self->_data_from_lines( [] ) or return;
-    }
-
-    # Set the content info
-
-    my ($mime, $transfer, $disp, $charset)
-      = @$args{ qw/mime_type transfer_encoding disposition charset/ };
-
-    if(defined $filename)
-    {   $disp = Mail::Message::Field->new
-           ('Content-Disposition' => (-T $filename ? 'inline':'attachment')
-           , filename => basename($filename)
-           ) unless defined $disp;
-
-        unless(defined $mime)
-        {   $mime = $mime_types->mimeTypeOf($filename);
-            $mime = -T $filename ? 'text/plain' : 'application/octet-stream'
-                unless defined $mime;
-        }
-    }
-
-    if(ref $mime && $mime->isa('MIME::Type'))
-    {   $mime    = $mime->type;
-    }
-
-    if(defined(my $based = $args->{based_on}))
-    {   $mime     = $based->type             unless defined $mime;
-        $transfer = $based->transferEncoding unless defined $transfer;
-        $disp     = $based->disposition      unless defined $disp;
-        $charset  = $based->charset          unless defined $charset;
-
-        $self->{MMB_checked}
-               = defined $args->{checked} ? $args->{checked} : $based->checked;
-    }
-    else
-    {   $transfer = $args->{transfer_encoding};
-        $self->{MMB_checked} = $args->{checked}|| 0;
-    }
-
-    if(defined $mime)
-    {   #$charset ||= 'us-ascii' if $mime =~ m!^text/!i;
-        $mime = $self->type($mime);
-        $mime->attribute(charset => $charset) if defined $charset;
-    }
-
-    $self->transferEncoding($transfer) if defined $transfer;
-    $self->disposition($disp)          if defined $disp;
-
-    $self->{MMB_eol}   = $args->{eol} || 'NATIVE';
-
-    # Set message where the body belongs to.
-
-    $self->message($args->{message})
-        if defined $args->{message};
-
-    $self->{MMB_seqnr} = $body_count++;
-    $self;
-}
-
-#------------------------------------------
-
-
-sub clone() {shift->notImplemented}
-
-#------------------------------------------
-
-
-sub decoded(@)
-{   my $self = shift;
-    $self->encode
-     ( mime_type         => 'text/plain'
-     , charset           => 'us-ascii'
-     , transfer_encoding => 'none'
-     , @_
-     );
-}
-
-#------------------------------------------
-
-
-sub eol(;$)
-{   my $self = shift;
-    return $self->{MMB_eol} unless @_;
-
-    my $eol  = shift;
-    if($eol eq 'NATIVE')
-    {   $eol = $^O =~ m/^win/i ? 'CRLF'
-             : $^O =~ m/^mac/i ? 'CR'
-             :                   'LF';
-    }
-
-    return $eol if $eol eq $self->{MMB_eol} && $self->checked;
-    my $lines = $self->lines;
-
-       if($eol eq 'CR')    {s/[\015\012]+$/\015/     foreach @$lines}
-    elsif($eol eq 'LF')    {s/[\015\012]+$/\012/     foreach @$lines}
-    elsif($eol eq 'CRLF')  {s/[\015\012]+$/\015\012/ foreach @$lines}
-    else
-    {   $self->log(WARNING => "Unknown line terminator $eol ignored.");
-        return $self->eol('NATIVE');
-    }
-
-    (ref $self)->new
-      ( based_on => $self
-      , eol      => $eol
-      , data     => $lines
-      );
-}
-
-#------------------------------------------
-
-
-sub message(;$)
-{   my $self = shift;
-    if(@_)
-    {   $self->{MMB_message} = shift;
-        weaken($self->{MMB_message});
-    }
-    $self->{MMB_message};
-}
-
-#------------------------------------------
-
-
-sub isDelayed() {0}
-
-#------------------------------------------
-
-
-sub isMultipart() {0}
-
-#------------------------------------------
-
-
-sub isNested() {0}
-
-#------------------------------------------
-
-
-sub type(;$)
-{   my $self = shift;
-    return $self->{MMB_type} if !@_ && defined $self->{MMB_type};
-
-    delete $self->{MMB_mime};
-    my $type = defined $_[0] ? shift : 'text/plain';
-
-    $self->{MMB_type}
-      = ref $type ? $type->clone
-      : Mail::Message::Field->new('Content-Type' => $type);
-}
-
-#------------------------------------------
-
-
-sub mimeType()
-{   my $self  = shift;
-    return $self->{MMB_mime} if exists $self->{MMB_mime};
-
-    my $field = $self->{MMB_type};
-    my $body  = defined $field ? $field->body : '';
-
-    return $self->{MMB_mime} = $mime_plain
-       unless length $body;
-
-    $self->{MMB_mime}
-       = $mime_types->type($body) || MIME::Type->new(type => $body);
-}
-
-#------------------------------------------
-
-
-sub charset() { shift->type->attribute('charset') }
-
-#------------------------------------------
-
-
-sub transferEncoding(;$)
-{   my $self = shift;
-    return $self->{MMB_transfer} if !@_ && defined $self->{MMB_transfer};
-
-    my $set = defined $_[0] ? shift : 'none';
-    $self->{MMB_transfer} = ref $set ? $set->clone
-       : Mail::Message::Field->new('Content-Transfer-Encoding' => $set);
-}
-
-#------------------------------------------
-
-
-sub disposition(;$)
-{   my $self = shift;
-    return $self->{MMB_disposition} if !@_ && $self->{MMB_disposition};
-
-    my $disp = defined $_[0] ? shift : 'none';
-
-    $self->{MMB_disposition} = ref $disp ? $disp->clone
-       : Mail::Message::Field->new('Content-Disposition' => $disp);
-}
-
-#------------------------------------------
-
-
-sub checked(;$)
-{   my $self = shift;
-    @_ ? ($self->{MMB_checked} = shift) : $self->{MMB_checked};
-}
-
-#------------------------------------------
-
-
-sub nrLines(@)  {shift->notImplemented}
-
-#------------------------------------------
-
-
-sub size(@)  {shift->notImplemented}
-
-#------------------------------------------
-
-
-sub string() {shift->notImplemented}
-
-sub string_unless_carp()
-{   my $self  = shift;
-    return $self->string unless (caller)[0] eq 'Carp';
-
-    (my $class = ref $self) =~ s/^Mail::Message/MM/;
-    "$class object";
-}
-
-#------------------------------------------
-
-
-sub lines() {shift->notImplemented}
-
-#------------------------------------------
-
-
-sub file(;$) {shift->notImplemented}
-
-#------------------------------------------
-
-
-sub print(;$) {shift->notImplemented}
-
-#------------------------------------------
-
-
-sub printEscapedFrom($) {shift->notImplemented}
-
-#------------------------------------------
-
-
-sub write(@)
-{   my ($self, %args) = @_;
-    my $filename = $args{filename};
-    die "No filename for write() body" unless defined $filename;
-
-    open OUT, '>', $filename or return;
-    $self->print(\*OUT);
-    close OUT or return undef;
-    $self;
-}
-
-#------------------------------------------
-
-
-sub read(@) {shift->notImplemented}
-
-#------------------------------------------
-
-
-sub contentInfoTo($)
-{   my ($self, $head) = @_;
-    return unless defined $head;
-
-    my $lines  = $self->nrLines;
-    my $size   = $self->size;
-    $size     += $lines if $Mail::Message::crlf_platform;
-
-    $head->set($self->type);
-    $head->set('Content-Length' => $size);
-    $head->set(Lines            => $lines);
-
-    $head->set($self->transferEncoding);
-    $head->set($self->disposition);
-    $self;
-}
-
-#------------------------------------------
-
-
-sub contentInfoFrom($)
-{   my ($self, $head) = @_;
-
-    $self->type($head->get('Content-Type'));
-    $self->transferEncoding($head->get('Content-Transfer-Encoding'));
-    $self->disposition($head->get('Content-Disposition'));
-
-    delete $self->{MMB_mime};
-    $self;
-
-}
-#------------------------------------------
-
-
-sub modified(;$)
-{  my $self = shift;
-   return $self->isModified unless @_;  # compat 2.036
-   $self->{MMB_modified} = shift;
-}
-
-#------------------------------------------
-
-
-sub isModified() {  shift->{MMB_modified} }
-
-#------------------------------------------
-
-
-sub fileLocation(;@) {
-    my $self = shift;
-    return @$self{ qw/MMB_begin MMB_end/ } unless @_;
-    @$self{ qw/MMB_begin MMB_end/ } = @_;
-}
-
-#------------------------------------------
-
-
-sub moveLocation($)
-{   my ($self, $dist) = @_;
-    $self->{MMB_begin} -= $dist;
-    $self->{MMB_end}   -= $dist;
-    $self;
-}
-
-#------------------------------------------
-
-
-sub load() {shift}
-
-#------------------------------------------
-
-
-my @in_encode = qw/check encode encoded eol isBinary isText unify
-                   dispositionFilename/;
-my %in_module = map { ($_ => 'encode') } @in_encode;
-
-sub AUTOLOAD(@)
-{   my $self  = shift;
-    our $AUTOLOAD;
-    (my $call = $AUTOLOAD) =~ s/.*\:\://g;
-
-    my $mod = $in_module{$call} || 'construct';
-    if($mod eq 'encode'){ require Mail::Message::Body::Encode    }
-    else                { require Mail::Message::Body::Construct }
-
-    no strict 'refs';
-    return $self->$call(@_) if $self->can($call);  # now loaded
-
-    # Try parental AUTOLOAD
-    Mail::Reporter->$call(@_);
-}   
-
-#------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Body.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Body.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,1099 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Body - the data of a body in a message
-
-
-=head1 INHERITANCE
-
- Mail::Message::Body has extra code in
-   Mail::Message::Body::Construct
-   Mail::Message::Body::Encode
-
- Mail::Message::Body
-   is a Mail::Reporter
-
- Mail::Message::Body is extended by
-   Mail::Message::Body::File
-   Mail::Message::Body::Lines
-   Mail::Message::Body::Multipart
-   Mail::Message::Body::Nested
-   Mail::Message::Body::String
-
- Mail::Message::Body is realized by
-   Mail::Message::Body::Delayed
-
-
-=head1 SYNOPSIS
-
- my Mail::Message $msg = ...;
- my $body  = $msg->body;
- my @text  = $body->lines;
- my $text  = $body->string;
- my IO::Handle $file = $body->file;
- $body->print(\*FILE);
-
- my $content_type = $body->type;
- my $transfer_encoding = $body->transferEncoding;
- my $encoded  = $body->encode(mime_type => 'text/html',
-    charset => 'us-ascii', transfer_encoding => 'none');\n";
- my $decoded  = $body->decoded;
-
-
-=head1 DESCRIPTION
-
-The encoding and decoding functionality of a L<Mail::Message::Body|Mail::Message::Body> is
-implemented in the L<Mail::Message::Body::Encode|Mail::Message::Body::Encode> package.  That package is
-automatically loaded when encoding and decoding of messages needs to take
-place.  Methods to simply build an process body objects are implemented
-in L<Mail::Message::Body::Construct|Mail::Message::Body::Construct>.
-
-The body of a message (a L<Mail::Message|Mail::Message> object) is stored in one of the
-many body types.  The functionality of each body type is equivalent, but there
-are performance differences.  Each body type has its own documentation
-with details about its implementation.
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-(stringification) Returns the body as string --which will trigger
-completion-- unless called to produce a string for C<Carp>.  The latter
-to avoid deep recursions.
-
-I<Example:> stringification of body
-
-
- print $msg->body;   # implicit by print
-
- my $body = $msg->body;
- my $x    = "$body"; # explicit by interpolation
-
-=back
-
-overload: B<'==' and '!='>
-
-=over 4
-
-(numeric comparison) compares if two references point to the
-same message.  This only produces correct results is both arguments
-are message references B<within the same folder>.
-
-I<Example:> use of numeric comparison on a body
-
-
- my $skip = $folder->message(3);
- foreach my $msg (@$folder)
- {   next if $msg == $skip;
-     $msg->send;
- }
-
-=back
-
-overload: B<@{}>
-
-=over 4
-
-When a body object is used as being an array reference, the lines of
-the body are returned.  This is the same as using L<lines()|Mail::Message::Body/"Access to the payload">.
-
-I<Example:> using a body as array
-
-
- print $body->lines->[1];  # second line
- print $body->[1];         # same
-
- my @lines = $body->lines;
- my @lines = @$body;       # same
-
-=back
-
-overload: B<bool>
-
-=over 4
-
-Always returns a true value, which is needed to have overloaded
-objects to be used as in C<if($body)>.  Otherwise, C<if(defined $body)>
-would be needed to avoid a runtime error.
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>
-
-=over 4
-
-Return a copy of this body, usually to be included in a cloned
-message. Use L<Mail::Message::clone()|Mail::Message/"Constructors"> for a whole message.
-
-=back
-
-Mail::Message::Body-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-BE WARNED that, what you specify here are encodings and such which are
-already in place.  The options will not trigger conversions.  When you
-need conversions, first create a body with options which tell what you've
-got, and then call L<encode()|Mail::Message::Body::Encode/"Constructing a body"> for what you need.
-
- Option             Defined in       Default        
- based_on                            undef          
- charset                             C<'us-ascii'>  
- checked                             <false>        
- data                                undef          
- disposition                         undef          
- eol                                 C<'NATIVE'>    
- file                                undef          
- log                L<Mail::Reporter>  C<'WARNINGS'>  
- message                             undef          
- mime_type                           C<'text/plain'>
- modified                            <false>        
- trace              L<Mail::Reporter>  C<'WARNINGS'>  
- transfer_encoding                   C<'none'>      
-
-. based_on BODY
-
-=over 4
-
-The information about encodings must be taken from the specified BODY,
-unless specified differently.
-
-=back
-
-. charset STRING
-
-=over 4
-
-Defines the character-set which is used in the data.  Only useful in
-combination with a C<mime_type> which refers to C<text> in any shape.
-This field is case-insensitive.
-
-=back
-
-. checked BOOLEAN
-
-=over 4
-
-Whether the added information has been check not to contain illegal
-octets with respect to the transfer encoding and mime type.  If not
-checked, and then set as body for a message, it will be.
-
-=back
-
-. data ARRAY-OF-LINES | STRING
-
-=over 4
-
-The content of the body.  The only way to set the content of a body
-is during the creation of the body.  So if you want to modify the content
-of a message, you need to create a new body with the new content and
-add that to the body.  The reason behind this, is that correct encodings
-and body information must be guaranteed.  It avoids your hassle in
-calculating the number of lines in the body, and checking whether bad
-characters are enclosed in text.
-
-Specify a reference to an ARRAY of lines, each terminated by a newline.
-Or one STRING which may contain multiple lines, separated and terminated
-by a newline.
-
-=back
-
-. disposition STRING|FIELD
-
-=over 4
-
-How this message can be decomposed.  The data relates to the
-C<Content-Disposition> field.  Specify a STRING which will become the
-field content, or a real FIELD.
-
-The content of this field is specified in RFC 1806.  The body of the
-field can be C<inline>, to indicate that the body is intended to be
-displayed automatically upon display of the message. Use C<attachment>
-to indicate that they are separate from the main body of the mail
-message, and that their display should not be automatic, but contingent
-upon some further action of the user.
-
-The C<filename> attribute specifies a name to which is suggested to the
-reader of the message when it is extracted.
-
-=back
-
-. eol 'CR'|'LF'|'CRLF'|'NATIVE'
-
-=over 4
-
-Convert the message into having the specified string as line terminator
-for all lines in the body.  C<NATIVE> is used to represent the C<\n>
-on the current platform and will be translated in the applicable one.
-
-BE WARNED that folders with a non-native encoding may appear on your
-platform, for instance in Windows folders handled from a UNIX system.
-The eol encoding has effect on the size of the body!
-
-=back
-
-. file FILENAME|FILEHANDLE|IOHANDLE
-
-=over 4
-
-Read the data from the specified file, file handle, or object of
-type C<IO::Handle>.
-
-=back
-
-. log LEVEL
-
-. message MESSAGE
-
-=over 4
-
-The message where this body belongs to.
-
-=back
-
-. mime_type STRING|FIELD|MIME
-
-=over 4
-
-The type of data which is added.  You may specify a content of a header
-line as STRING, or a FIELD object.  You may also specify a L<MIME::Type|MIME::Type>
-object.  In any case, it will be kept internally as
-a real field (a L<Mail::Message::Field|Mail::Message::Field> object).  This relates to the
-C<Content-Type> header field.
-
-A mime-type specification consists of two parts: a general class (C<text>,
-C<image>, C<application>, etc) and a specific sub-class.  Examples for
-specific classes with C<text> are C<plain>, C<html>, and C<xml>.  This
-field is case-insensitive but case preserving.  The default mime-type
-is C<text/plain>,
-
-=back
-
-. modified BOOLEAN
-
-=over 4
-
-Whether the body is flagged modified, directly from its creation.
-
-=back
-
-. trace LEVEL
-
-. transfer_encoding STRING|FIELD
-
-=over 4
-
-The encoding that the data has.  If the data is to be encoded, than you
-will have to call L<encode()|Mail::Message::Body::Encode/"Constructing a body"> after the body is created.  That will
-return a new encoded body.  This field is case-insensitive and relates
-to the C<Content-Transfer-Encoding> field in the header.
-
-=back
-
-I<Example:> 
-
- my $body = Mail::Message::Body::String->new(file => \*IN,
-    mime_type => 'text/html; charset="ISO-8859-1"');
-
- my $body = Mail::Message::Body::Lines->new(data => ['first', $second],
-    charset => 'ISO-10646', transfer_encoding => 'none');
-
- my $body = Mail::Message::Body::Lines->new(data => \@lines,
-    transfer_encoding => 'base64');
-
- my $body = Mail::Message::Body::Lines->new(file => 'picture.gif',
-    mime_type => 'image/gif');
-
-=back
-
-=head2 Constructing a body
-
-
-$obj-E<gt>B<attach>(MESSAGES, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body::Construct/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<check>
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<concatenate>(COMPONENTS)
-
-=over 4
-
-See L<Mail::Message::Body::Construct/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<decoded>(OPTIONS)
-
-=over 4
-
-Returns a body, an object which is (a sub-)class of a L<Mail::Message::Body|Mail::Message::Body>,
-which contains a simplified representation of textual data.  The returned
-object may be the object where this is called on, but may also be a new
-body of any type.
-
- my $dec = $body->decoded;
- 
-is equivalent with
-
- my $dec = $body->encode(mime_type => 'text/plain', charset => 'us-ascii',
-    transfer_encoding => 'none');
-
-The C<$dec> which is returned is a body.  Ask with the L<mimeType()|Mail::Message::Body/"About the payload"> method
-what is produced.  This C<$dec> body is B<not related to a header>.
-
- Option       Defined in  Default          
- result_type              <same as current>
-
-. result_type CLASS
-
-=back
-
-$obj-E<gt>B<encode>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<encoded>
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<eol>(['CR'|'LF'|'CRLF'|'NATIVE'])
-
-=over 4
-
-Returns the character (or characters) which are used to separate lines
-within this body.  When a kind of separator is specified, the body
-is translated to contain the specified line endings.
-
-=back
-
-$obj-E<gt>B<foreachLine>(CODE)
-
-=over 4
-
-See L<Mail::Message::Body::Construct/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<stripSignature>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Body::Construct/"Constructing a body">
-
-=back
-
-$obj-E<gt>B<unify>(BODY)
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Constructing a body">
-
-=back
-
-=head2 The body
-
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-Returns a true or false value, depending on whether the body of this
-message has been read from file.  This can only false for a
-L<Mail::Message::Body::Delayed|Mail::Message::Body::Delayed>.
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-Returns whether this message-body contains parts which are messages
-by themselves.
-
-=back
-
-$obj-E<gt>B<isNested>
-
-=over 4
-
-Only true for a message body which contains exactly one sub-message:
-the C<Mail::Message::Body::Nested> body type.
-
-=back
-
-$obj-E<gt>B<message>([MESSAGE])
-
-=over 4
-
-Returns the message where this body belongs to, optionally setting it
-to a new MESSAGE first.  If C<undef> is passed, the body will be
-disconnected from the message.
-
-=back
-
-=head2 About the payload
-
-
-$obj-E<gt>B<charset>
-
-=over 4
-
-Returns the character set which is used in the text body as string.  This
-is part of the result of what the C<type> method returns.
-
-=back
-
-$obj-E<gt>B<checked>([BOOLEAN])
-
-=over 4
-
-Returns whether the body encoding has been checked or not (optionally
-after setting the flag to a new value).
-
-=back
-
-$obj-E<gt>B<disposition>([STRING|FIELD])
-
-=over 4
-
-Returns (optionally after setting) how the message can be disposed
-(unpacked).  The related header field is C<Content-Disposition>.
-A L<Mail::Message::Field|Mail::Message::Field> object is returned (which stringifies into
-the field content).  The field content will be C<none> if no disposition
-was specified.
-
-The argument can be a STRING (which is converted into a field), or a
-fully prepared header field.
-
-=back
-
-$obj-E<gt>B<dispositionFilename>([DIRECTORY])
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"About the payload">
-
-=back
-
-$obj-E<gt>B<isBinary>
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"About the payload">
-
-=back
-
-$obj-E<gt>B<isText>
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"About the payload">
-
-=back
-
-$obj-E<gt>B<mimeType>
-
-=over 4
-
-Returns a L<MIME::Type|MIME::Type> object which is related to this body's type.  This
-differs from the C<type> method, which results in a L<Mail::Message::Field|Mail::Message::Field>.
-
-I<Example:> 
-
- if($body->mimeType eq 'text/html') {...}
- print $body->mimeType->simplified;
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-Returns the number of lines in the message body.  For multi-part messages,
-this includes the header lines and boundaries of all the parts.
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-The total number of bytes in the message body. The size of the body
-is computed in the shape it is in. For example, if this is a base64
-encoded message, the size of the encoded data is returned; you may
-want to call L<Mail::Message::decoded()|Mail::Message/"The body"> first.
-
-=back
-
-$obj-E<gt>B<transferEncoding>([STRING|FIELD])
-
-=over 4
-
-Returns the transfer-encoding of the data within this body as
-L<Mail::Message::Field|Mail::Message::Field> (which stringifies to its content).  If it
-needs to be changed, call the L<encode()|Mail::Message::Body::Encode/"Constructing a body"> or L<decoded()|Mail::Message::Body/"Constructing a body"> method.
-When no encoding is present, the field contains the text C<none>.
-
-The optional STRING or FIELD enforces a new encoding to be set, without the
-actual required translations.
-
-I<Example:> 
-
- my $transfer = $msg->decoded->transferEncoding;
- $transfer->print;   # --> Content-Encoding: base64
- print $transfer;    # --> base64
-
- if($msg->body->transferEncoding eq 'none') {...}
-
-=back
-
-$obj-E<gt>B<type>([STRING|FIELD])
-
-=over 4
-
-Returns the type of information the body contains as
-L<Mail::Message::Field|Mail::Message::Field> object.  The type is taken from the header
-field C<Content-Type>. If the header did not contain that field,
-then you will get a default field containing C<text/plain>.
-
-You usually can better use L<mimeType()|Mail::Message::Body/"About the payload">, because that will return a
-clever object with type information.
-
-I<Example:> 
-
- my $msg     = $folder->message(6);
- $msg->get('Content-Type')->print;
-    # --> Content-Type: text/plain; charset="us-ascii"
-
- my $content = $msg->decoded;
- my $type    = $content->type;
-
- print "This is a $type message\n";
-    # --> This is a text/plain; charset="us-ascii" message
-
- print "This is a ", $type->body, "message\n";
-    # --> This is a text/plain message
-
- print "Comment: ", $type->comment, "\n";
-    # --> Comment: charset="us-ascii"
-
-=back
-
-=head2 Access to the payload
-
-
-$obj-E<gt>B<file>
-
-=over 4
-
-Return the content of the body as a file handle.  The returned stream may
-be a real file, or a simulated file in any form that Perl supports.  While
-you may not be able to write to the file handle, you can read from it.
-
-WARNING: Even if the file handle supports writing, do not write
-to the file handle. If you do, some of the internal values of the
-L<Mail::Message::Body|Mail::Message::Body> may not be updated.
-
-=back
-
-$obj-E<gt>B<lines>
-
-=over 4
-
-Return the content of the body as a list of lines (in LIST context) or a
-reference to an array of lines (in SCALAR context).  In scalar context the
-array of lines is cached to avoid needless copying and therefore provide
-much faster access for large messages.
-
-To just get the number of lines in the body, use the L<nrLines()|Mail::Message::Body/"About the payload"> method,
-which is usually much more efficient.
-
-BE WARNED: For some types of bodies the reference will refer to the
-original data. You must not change the referenced data! If you do, some of
-the essential internal variables of the L<Mail::Message::Body|Mail::Message::Body> may not be
-updated.
-
-I<Example:> 
-
- my @lines    = $body->lines;     # copies lines
- my $line3    = ($body->lines)[3] # only one copy
- print $lines[0];
-
- my $linesref = $body->lines;     # reference to originals
- my $line3    = $body->lines->[3] # only one copy (faster)
- print $linesref->[0];
-
- print $body->[0];                # by overloading
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-Print the body to the specified FILEHANDLE (defaults to the selected handle).
-The handle may be a GLOB, an IO::File object, or... any object with a
-C<print()> method will do.  Nothing useful is returned.
-
-=back
-
-$obj-E<gt>B<printEscapedFrom>(FILEHANDLE)
-
-=over 4
-
-Print the body to the specified FILEHANDLE but all lines which start
-with 'From ' (optionally already preceded by E<gt>'s) will habe an E<gt>
-added in front.  Nothing useful is returned.
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-Return the content of the body as a scalar (a single string).  This is
-a copy of the internally kept information.
-
-I<Example:> 
-
- my $text = $body->string;
- print "Body: $body\n";     # by overloading
-
-=back
-
-$obj-E<gt>B<write>(OPTIONS)
-
-=over 4
-
-Write the content of the body to a file.  Be warned that you may want to
-decode the body before writing it!
-
- Option    Defined in  Default   
- filename              <required>
-
-. filename FILENAME
-
-I<Example:> write the data to a file
-
-
- use File::Temp;
- my $fn = tempfile;
- $message->decoded->write(filename => $fn)
-    or die "Couldn't write to $fn: $!\n";
-
-I<Example:> using the content-disposition information to write
-
-
- use File::Temp;
- my $dir = tempdir; mkdir $dir or die;
- my $fn  = $message->body->dispositionFilename($dir);
- $message->decoded->write(filename => $fn)
-    or die "Couldn't write to $fn: $!\n";
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<addTransferEncHandler>(NAME, CLASS|OBJECT)
-
-Mail::Message::Body-E<gt>B<addTransferEncHandler>(NAME, CLASS|OBJECT)
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Internals">
-
-=back
-
-$obj-E<gt>B<contentInfoFrom>(HEAD)
-
-=over 4
-
-Transfer the body related info from the header into this body.
-
-=back
-
-$obj-E<gt>B<contentInfoTo>(HEAD)
-
-=over 4
-
-Copy the content information (the C<Content-*> fields) into the specified
-HEAD.  The body was created from raw data without the required information,
-which must be added.  See also L<contentInfoFrom()|Mail::Message::Body/"Internals">.
-
-=back
-
-$obj-E<gt>B<fileLocation>([BEGIN,END])
-
-=over 4
-
-The location of the body in the file.  Returned a list containing begin and
-end.  The begin is the offsets of the first byte if the folder used for
-this body.  The end is the offset of the first byte of the next message.
-
-=back
-
-$obj-E<gt>B<getTransferEncHandler>(TYPE)
-
-=over 4
-
-See L<Mail::Message::Body::Encode/"Internals">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-Returns whether the body has changed.
-
-=back
-
-$obj-E<gt>B<load>
-
-=over 4
-
-Be sure that the body is loaded.  This returns the loaded body.
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-Change the body modification flag.  This will force a re-write of the body
-to a folder file when it is closed.  It is quite dangerous to change the
-body: the same body may be shared between messages within your program.
-
-Especially be warned that you have to change the message-id when you
-change the body of the message: no two messages should have the same id.
-
-Without value, the current setting is returned, although you can better use
-L<isModified()|Mail::Message::Body/"Internals">.
-
-=back
-
-$obj-E<gt>B<moveLocation>([DISTANCE])
-
-=over 4
-
-Move the registration of the message to a new location over DISTANCE.  This
-is called when the message is written to a new version of the same
-folder-file.
-
-=back
-
-$obj-E<gt>B<read>(PARSER, HEAD, BODYTYPE [,CHARS [,LINES]])
-
-=over 4
-
-Read the body with the PARSER from file. The implementation of this method
-will differ between types of bodies.  The BODYTYPE argument is a class name
-or a code reference of a routine which can produce a class name, and is
-used in multipart bodies to determine the type of the body for each part.
-
-The CHARS argument is the estimated number of bytes in the body, or
-C<undef> when this is not known.  This data can sometimes be derived from
-the header (the C<Content-Length> line) or file-size.
-
-The second argument is the estimated number of LINES of the body.  It is less
-useful than the CHARS but may be of help determining whether the message
-separator is trustworthy.  This value may be found in the C<Lines> field
-of the header.
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-When an unknown method is called on a message body object, this may
-not be problematic.  For performance reasons, some methods are
-implemented in separate files, and only demand-loaded.  If this
-delayed compilation of additional modules does not help, an error
-will be produced.
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Body-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Body-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Body-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> No decoder defined for transfer encoding $name.
-
-The data (message body) is encoded in a way which is not currently understood,
-therefore no decoding (or recoding) can take place.
-
-I<Warning:> No encoder defined for transfer encoding $name.
-
-The data (message body) has been decoded, but the required encoding is
-unknown.  The decoded data is returned.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-=head1 DETAILS
-
-
-=head2 Access to the body
-
-A body can be contained in a message, but may also live without a message.
-In both cases it stores data, and the same questions can be asked: what
-type of data it is, how many bytes and lines, what encoding is used.  Any
-body can be encoded and decoded, returning a new body object.  However, 
-bodies which are part of a message will always be in a shape that they can
-be written to a file or send to somewhere: they will be encoded if needed.
-
-I<Example:> 
-
- my $body    = Mail::Message::Body::String->new(mime_type => 'image/gif');
- $body->print(\*OUT);    # this is binary image data...
-
- my $encoded = $message->body($body);
- $encoded->print(\*OUT); # ascii data, encoded image
-
-Now encoded refers to the body of the C<$message> which is the content of
-C<$body> in a shape that it can be transmitted.  Usually C<base64> encoding
-is used.
-
-=head2 Body class implementation
-
-The body of a message can be stored in many ways.  Roughtly, the
-implementations can be split in two groups: the data collectors and
-the complex bodies.  The primer implement various ways to access data,
-and are full compatible: they only differ in performance and memory
-footprint under different circumstances.  The latter are created to
-handle complex multiparts and lazy extraction.
-
-=head3 Data collector bodies
-
-=over 4
-
-=item * L<Mail::Message::Body::String|Mail::Message::Body::String>
-
-The whole message body is stored in one scalar.  Small messages can be
-contained this way without performance penalties.
-
-=item * L<Mail::Message::Body::Lines|Mail::Message::Body::Lines>
-
-Each line of the message body is stored as single scalar.  This is a
-useful representation for a detailed look in the message body, which is
-usually line-organized.
-
-=item * L<Mail::Message::Body::File|Mail::Message::Body::File>
-
-The message body is stored in an external temporary file.  This type of
-storage is especially useful when the body is large, the total folder is
-large, or memory is limited.
-
-=item * Mail::Message::Body::InFolder
-
-NOT IMPLEMENTED YET.
-The message is kept in the folder, and is only taken out when the
-content is changed.
-
-=item * Mail::Message::Body::External
-
-NOT IMPLEMENTED YET.
-The message is kept in a separate file, usually because the message body
-is large.  The difference with the C<::External> object is that this external
-storage stays this way between closing and opening of a folder. The
-C<::External> object only uses a file when the folder is open.
-
-=back
-
-=head3 Complex bodies
-
-=over 4
-
-=item * L<Mail::Message::Body::Delayed|Mail::Message::Body::Delayed>
-
-The message-body is not yet read, but the exact location of the
-body is known so the message can be read when needed.  This is part of
-the lazy extraction mechanism.  Once extracted, the object can become
-any simple or complex body.
-
-=item * L<Mail::Message::Body::Multipart|Mail::Message::Body::Multipart>
-
-The message body contains a set of sub-messages (which can contain
-multipart bodies themselves).  Each sub-message is an instance
-of L<Mail::Message::Part|Mail::Message::Part>, which is an extension of L<Mail::Message|Mail::Message>.
-
-=item * L<Mail::Message::Body::Nested|Mail::Message::Body::Nested>
-
-Nested messages, like C<message/rfc822>: they contain a message in
-the body.  For most code, they simply behave like multiparts.
-
-=back
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Body.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Body.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Bounce.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Bounce.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Bounce.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,63 +0,0 @@
-
-use strict;
-
-package Mail::Message;
-use vars '$VERSION';
-$VERSION = '2.062';
-
-use Mail::Message::Head::Complete;
-use Mail::Message::Field;
-use Carp         qw/croak/;
-
-
-sub bounce(@)
-{   my $self   = shift;
-    my $bounce = $self->clone;
-    my $head   = $bounce->head;
-
-    if(@_==1 && ref $_[0] && $_[0]->isa('Mail::Message::Head::ResentGroup' ))
-    {    $head->addResentGroup(shift);
-         return $bounce;
-    }
-
-    my @rgs    = $head->resentGroups;
-    my $rg     = $rgs[0];
-
-    if(defined $rg)
-    {   $rg->delete;     # Remove group to re-add it later: otherwise
-        while(@_)        #   field order in header would be disturbed.
-        {   my $field = shift;
-            ref $field ? $rg->set($field) : $rg->set($field, shift);
-        }
-    }
-    elsif(@_)
-    {   $rg = Mail::Message::Head::ResentGroup->new(@_);
-    }
-    else
-    {   croak "ERROR: bounce requires To, Cc, or Bcc";
-    }
- 
-    #
-    # Add some nice extra fields.
-    #
-
-    $rg->set(Date => Mail::Message::Field->toDate)
-        unless defined $rg->date;
-
-    unless(defined $rg->messageId)
-    {   my $msgid = $head->createMessageId;
-        $rg->set('Message-ID' => "<$msgid>");
-    }
-
-    $head->addResentGroup($rg);
-
-    #
-    # Flag action to original message
-    #
-
-    $self->label(passed => 1);    # used by some maildir clients
-
-    $bounce;
-}
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Bounce.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Bounce.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Bounce.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Bounce.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Bounce.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,94 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Construct::Bounce - bounce a Mail::Message
-
-
-
-=head1 SYNOPSIS
-
- $message->bounce(To => 'you')->send;
-
-
-=head1 DESCRIPTION
-
-Complex functionality on L<Mail::Message|Mail::Message> objects is implemented in
-different files which are autoloaded.  This file implements the
-functionality related to bouncing messages off to other destinations.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructing a message
-
-
-$obj-E<gt>B<bounce>([RG-OBJECT|OPTIONS])
-
-=over 4
-
-The program calling this method considers itself as an intermediate step
-in the message delivery process; it therefore leaves a resent group
-of header fields as trace.
-
-When a message is received, the Mail Transfer Agent (MTA) adds a
-C<Received> field to the header.  As OPTIONS, you may specify lines
-which are added to the resent group of that received field.  C<Resent->
-is prepended before the field-names automatically, unless already present.
-
-You may also specify an instantiated L<Mail::Message::Head::ResentGroup|Mail::Message::Head::ResentGroup> (RG)
-object.  See L<Mail::Message::Head::ResentGroup::new()|Mail::Message::Head::ResentGroup/"METHODS"> for the available
-options.  This is required if you want to add a new resent group: create
-a new C<Received> line in the header as well.
-
-If you are planning to change the body of a bounce message, don't!  Bounced
-messages have the same message-id as the original message, and therefore
-should have the same content (message-ids are universally unique).  If you
-still insist, use L<Mail::Message::body()|Mail::Message/"The body">.
-
-I<Example:> 
-
- my $bounce = $folder->message(3)->bounce(To => 'you', Bcc => 'everyone');
-
- $bounce->send;
- $outbox->addMessage($bounce);
-
- my $rg     = Mail::Message::Head::ResentGroup->new(To => 'you',
-    Received => 'from ... by ...');
- $msg->bounce($rg)->send;
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> bounce requires To, Cc, or Bcc
-
-The message L<bounce()|Mail::Message::Construct::Bounce/"Constructing a message"> method forwards a received message off to someone
-else without modification; you must specified it's new destination.
-If you have the urge not to specify any destination, you probably
-are looking for L<reply()|Mail::Message::Construct::Reply/"Constructing a message">. When you wish to modify the content, use
-L<forward()|Mail::Message::Construct::Forward/"Constructing a message">.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Bounce.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Bounce.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Build.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Build.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Build.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,136 +0,0 @@
-
-use strict;
-
-package Mail::Message;
-use vars '$VERSION';
-$VERSION = '2.062';
-
-use Mail::Message::Head::Complete  ();
-use Mail::Message::Body::Lines     ();
-use Mail::Message::Body::Multipart ();
-use Mail::Message::Body::Nested    ();
-use Mail::Message::Field           ();
-
-use Mail::Address  ();
-
-
-sub build(@)
-{   my $class = shift;
-
-    if($class->isa('Mail::Box::Message'))
-    {   $class->log(ERROR
-           => "Only build() Mail::Message's; they are not in a folder yet"); 
-         return undef;
-    }
-
-    my @parts
-      = ! ref $_[0] ? ()
-      : $_[0]->isa('Mail::Message')       ? shift
-      : $_[0]->isa('Mail::Message::Body') ? shift
-      :               ();
-
-    my ($head, @headerlines);
-    my ($type, $transfenc, $dispose);
-    while(@_)
-    {   my $key = shift;
-        if(ref $key && $key->isa('Mail::Message::Field'))
-        {   my $name = $key->name;
-               if($name eq 'content-type')              { $type      = $key }
-            elsif($name eq 'content-transfer-encoding') { $transfenc = $key }
-            elsif($name eq 'content-disposition')       { $dispose   = $key }
-            else { push @headerlines, $key }
-            next;
-        }
-
-        my $value = shift;
-        next unless defined $value;
-
-        my @data;
-
-        if($key eq 'head')
-        {   $head = $value }
-        elsif($key eq 'data')
-        {   @data = Mail::Message::Body->new(data => $value) }
-        elsif($key eq 'file')
-        {   @data = Mail::Message::Body->new(file => $value) }
-        elsif($key eq 'files')
-        {   @data = map {Mail::Message::Body->new(file => $_) } @$value }
-        elsif($key eq 'attach')
-        {   foreach my $c (ref $value eq 'ARRAY' ? @$value : $value)
-	    {   push @data, $c->isa('Mail::Message')
-		          ? Mail::Message::Body::Nested->new(nested => $c)
-			  : $c;
-            }
-	}
-        elsif($key =~ m/^content\-(type|transfer\-encoding|disposition)$/i )
-        {   my $k     = lc $1;
-            my $field = Mail::Message::Field->new($key, $value);
-               if($k eq 'type') { $type = $field }
-            elsif($k eq 'disposition' ) { $dispose = $field }
-            else { $transfenc = $field }
-        }
-        elsif($key =~ m/^[A-Z]/)
-        {   push @headerlines, $key, $value }
-        else
-        {   $class->log(WARNING => "Skipped unknown key $key in build");
-        }
-
-        push @parts, grep {defined $_} @data if @data;
-    }
-
-    my $body
-       = @parts==0 ? Mail::Message::Body::Lines->new()
-       : @parts==1 ? $parts[0]
-       : Mail::Message::Body::Multipart->new(parts => \@parts);
-
-    # Setting the type explicitly, only after the body object is finalized
-    $body->type($type) if defined $type;
-    $body->disposition($dispose) if defined $dispose;
-    $body->transferEncoding($transfenc) if defined $transfenc;
-
-    $class->buildFromBody($body, $head, @headerlines);
-}
-
-#------------------------------------------
-
-
-sub buildFromBody(@)
-{   my ($class, $body) = (shift, shift);
-    my @log     = $body->logSettings;
-
-    my $head;
-    if(ref $_[0] && $_[0]->isa('Mail::Message::Head')) { $head = shift }
-    else
-    {   shift unless defined $_[0];   # undef as head
-        $head = Mail::Message::Head::Complete->new(@log);
-    }
-
-    while(@_)
-    {   if(ref $_[0]) {$head->add(shift)}
-        else          {$head->add(shift, shift)}
-    }
-
-    my $message = $class->new
-     ( head => $head
-     , @log
-     );
-
-    $message->body($body);
-
-    # be sure the message-id is actually stored in the header.
-    $head->add('Message-Id' => '<'.$message->messageId.'>')
-        unless defined $head->get('message-id');
-
-    $head->add(Date => Mail::Message::Field->toDate)
-        unless defined $head->get('Date');
-
-    $head->add('MIME-Version' => '1.0')  # required by rfc2045
-        unless defined $head->get('MIME-Version');
-
-    $message;
-}
-
-#------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Build.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Build.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Build.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Build.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Build.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,346 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Construct::Build - building a Mail::Message from components
-
-
-
-=head1 SYNOPSIS
-
- my $msg3 = Mail::Message->build
-   (From => 'me', data => "only two\nlines\n");
-
- my $msg4 = Mail::Message->buildFromBody($body);
-
-
-=head1 DESCRIPTION
-
-Complex functionality on L<Mail::Message|Mail::Message> objects is implemented in
-different files which are autoloaded.  This file implements the
-functionality related to building of messages from various components.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructing a message
-
-
-Mail::Message-E<gt>B<build>([MESSAGE|PART|BODY], CONTENT)
-
-=over 4
-
-Simplified message object builder.  In case a MESSAGE or message PART is
-specified, a new message is created with the same body to start with, but
-new headers.  A BODY may be specified as well.  However, there are more
-ways to add data simply.
-
-The CONTENT is a list of key-value pairs and header field objects.
-The keys which start with a capital are used as header-lines.  Lower-cased
-fields are used for other purposes as listed below.  Each field may be used
-more than once.  Pairs where the value is C<undef> are ignored.
-
-If more than one C<data>, C<file>, and C<attach> is specified,
-a multi-parted message is created.  Some C<Content-> fields are
-treated separately: to enforce the content lines of the produced
-message body B<after> it has been created.  For instance, to explicitly
-state that you wish a C<multipart/alternative> in stead of the default
-C<multipart/mixed>.  If you wish to specify the type per datum, you need
-to start playing with L<Mail::Message::Body|Mail::Message::Body> objects yourself.
-
-This C<build> method will use L<buildFromBody()|Mail::Message::Construct::Build/"Constructing a message"> when the body object has
-been constructed.  Together, they produce your message.
-
- Option  Defined in       Default
- attach                   undef  
- data                     undef  
- file                     undef  
- files                    C<[ ]> 
- head                     undef  
-
-. attach BODY|PART|MESSAGE|ARRAY
-
-=over 4
-
-One attachment to the message.  Each attachment can be full MESSAGE, a
-PART, or a BODY.
-Any MESSAGE will get encapsulated into a C<message/rfc822> body.
-You can specify many items (may be of different types) at once.
-
- attach => $folder->message(3)->decoded  # body
- attach => $folder->message(3)           # message
- attach => [ $msg1, $msg2->part(6), $msg3->body ];
-
-=back
-
-. data STRING|ARRAY-OF-LINES
-
-=over 4
-
-The text for one part, specified as one STRING, or an ARRAY of lines.  Each
-line, including the last, must be terminated by a newline.  This argument
-is passed to L<Mail::Message::Body::new(data)|Mail::Message::Body/"Constructors"> to
-construct one.
-
-  data => [ "line 1\n", "line 2\n" ]     # array of lines
-  data => <<'TEXT'                       # string
- line 1
- line 2
- TEXT
-
-=back
-
-. file FILENAME|FILEHANDLE|IOHANDLE
-
-=over 4
-
-Create a body where the data is read from the specified FILENAME,
-FILEHANDLE, or object of type IO::Handle.  Also this body is used
-to create a L<Mail::Message::Body|Mail::Message::Body>.
-
- my $in = IO::File->new('/etc/passwd', 'r');
-
- file => 'picture.jpg'                   # filename
- file => \*MYINPUTFILE                   # file handle
- file => $in                             # any IO::Handle
-
- open my $in, '<', '/etc/passwd';        # alternative for IO::File
-
-=back
-
-. files ARRAY-OF-FILE
-
-=over 4
-
-See option file, but then an array reference collection more of them.
-
-=back
-
-. head HEAD
-
-=over 4
-
-Start with a prepared header, otherwise one is created.
-
-=back
-
-I<Example:> 
-
- my $msg = Mail::Message->build
-  ( From   => 'me at home.nl'
-  , To     => Mail::Address->new('your name', 'you at yourplace.aq')
-  , Cc     => 'everyone at example.com'
-  , $other_message->get('Bcc')
-
-  , data   => [ "This is\n", "the first part of\n", "the message\n" ]
-  , file   => 'myself.gif'
-  , file   => 'you.jpg'
-  , attach => $signature
-  );
-
- my $msg = Mail::Message->build
-  ( To     => 'you'
-  , 'Content-Type' => 'text/html'
-  , data   => "<html></html>"
-  );
-
-=back
-
-Mail::Message-E<gt>B<buildFromBody>(BODY, [HEAD], HEADERS)
-
-=over 4
-
-Shape a message around a BODY.  Bodies have information about their
-content in them, which is used to construct a header for the message.
-You may specify a HEAD object which is pre-initialized, or one is
-created for you (also when HEAD is C<undef>).
-Next to that, more HEADERS can be specified which are stored in that
-header.
-
-Header fields are added in order, and before the header lines as
-defined by the body are taken.  They may be supplied as key-value
-pairs or L<Mail::Message::Field|Mail::Message::Field> objects.  In case of a key-value
-pair, the field's name is to be used as key and the value is a
-string, address (Mail::Address object), or array of addresses.
-
-A C<Date>, C<Message-Id>, and C<MIME-Version> field are added unless
-supplied.
-
-I<Example:> 
-
- my $type = Mail::Message::Field->new('Content-Type', 'text/html'
-   , 'charset="us-ascii"');
-
- my @to   = ( Mail::Address->new('Your name', 'you at example.com')
-            , 'world at example.info'
-            );
-
- my $msg  = Mail::Message->buildFromBody
-   ( $body
-   , From => 'me at example.nl'
-   , To   => \@to
-   , $type
-   );
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Only build() Mail::Message's; they are not in a folder yet
-
-You may wish to construct a message to be stored in a some kind
-of folder, but you need to do that in two steps.  First, create a
-normal L<Mail::Message|Mail::Message>, and then add it to the folder.  During this
-L<Mail::Box::addMessage()|Mail::Box/"The folder"> process, the message will get L<coerce()|Mail::Message/"Internals">-d
-into the right message type, adding storage information and the like.
-
-
-=head1 DETAILS
-
-
-=head2 Building a message
-
-
-=head3 Rapid building
-
-Most messages you need to construct are relatively simple.  Therefore,
-this module provides a method to prepare a message with only one method
-call: L<build()|Mail::Message::Construct::Build/"Constructing a message">.
-
-=head3 Compared to MIME::Entity::build()
-
-The C<build> method in MailBox is modelled after the C<build> method
-as provided by MIMETools, but with a few simplifications:
-
-=over 4
-
-=item When a keys starts with a capital, than it is always a header field
-
-=item When a keys is lower-cased, it is always something else
-
-=item You use the real field-names, not abbreviations
-
-=item All field names are accepted
-
-=item You may specify field objects between key-value pairs
-
-=item A lot of facts are auto-detected, like content-type and encoding
-
-=item You can create a multipart at once
-
-=back
-
-Hum, reading the list above... what is equivalent?  L<MIME::Entity> is
-not that simple after all!  Let's look at an example from MIME::Entity's
-manual page:
-
- ### Create the top-level, and set up the mail headers:
- $top = MIME::Entity->build(Type     => "multipart/mixed",
-                            From     => 'me at myhost.com',
-                            To       => 'you at yourhost.com',
-                            Subject  => "Hello, nurse!");
-                                                                                
- ### Attachment #1: a simple text document:
- $top->attach(Path=>"./testin/short.txt");
-                                                                                
- ### Attachment #2: a GIF file:
- $top->attach(Path        => "./docs/mime-sm.gif",
-              Type        => "image/gif",
-              Encoding    => "base64");
-                                                                                
- ### Attachment #3: text we'll create with text we have on-hand:
- $top->attach(Data => $contents);
-                                                                                
-The MailBox equivalent could be
-
- my $msg = Mail::Message->build
-   ( From     => 'me at myhost.com'
-   , To       => 'you at yourhost.com'
-   , Subject  => "Hello, nurse!"
-
-   , file     => "./testin/short.txt"
-   , file     => "./docs/mime-sm.gif"
-   , data     => $contents
-   );
-
-One of the simplifications is that L<MIME::Types|MIME::Types> is used to lookup
-the right content type and optimal transfer encoding.  Good values
-for content-disposition and such are added as well.
-
-=head3 build, starting with nothing
-
-See L<build()|Mail::Message::Construct::Build/"Constructing a message">.
-
-=head3 buildFromBody, body becomes message
-
-See L<buildFromBody()|Mail::Message::Construct::Build/"Constructing a message">.
-
-=head3 The Content-* fields
-
-The various C<Content-*> fields are not as harmless as they look.  For
-instance, the "Content-Type" field will have an effect on the default
-transfer encoding.
-
-When a message is built this way:
-
- my $msg = Mail::Message->build
-  ( 'Content-Type' => 'video/mpeg3'
-  , 'Content-Transfer-Encoding' => 'base64'
-  , 'Content-Disposition' => 'attachment'
-  , file => '/etc/passwd'
-  );
-
-then first a C<text/plain> body is constructed (MIME::Types does not
-find an extension on the filename so defaults to C<text/plain>), with
-no encoding.  Only when that body is ready, the new type and requested
-encodings are set.  The content of the body will get base64 encoded,
-because it is requested that way.
-
-What basically happens is this:
-
- my $head = ...other header lines...;
- my $body = Mail::Message::Body::Lines->new(file => '/etc/passwd');
- $body->type('video/mpeg3');
- $body->transferEncoding('base64');
- $body->diposition('attachment');
- my $msg  = Mail::Message->buildFromBody($body, $head);
- 
-A safer way to construct the message is:
-
- my $body = Mail::Message::Body::Lines->new
-  ( file              => '/etc/passwd'
-  , mime_type         => 'video/mpeg3'
-  , transfer_encoding => 'base64'
-  , disposition       => 'attachment'
-  );
-
- my $msg  = Mail::Message->buildFromBody
-  ( $body
-  , ...other header lines...
-  );
-
-In the latter program, you will immediately start with a body of
-the right type.
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Build.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Build.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Forward.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Forward.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Forward.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,255 +0,0 @@
-
-use strict;
-
-package Mail::Message;
-use vars '$VERSION';
-$VERSION = '2.062';
-
-use Mail::Message::Body::Multipart;
-use Mail::Message::Body::Nested;
-use Scalar::Util 'blessed';
-
-
-# tests in t/57forw1f.t
-
-sub forward(@)
-{   my $self    = shift;
-    my %args    = @_;
-
-    return $self->forwardNo(@_) if exists $args{body};
-
-    my $include = $args{include} || 'INLINE';
-    return $self->forwardInline(@_) if $include eq 'INLINE';
-
-    my $preamble = $args{preamble};
-    push @_, preamble => Mail::Message::Body->new(data => $preamble)
-        if defined $preamble && ! ref $preamble;
-
-    return $self->forwardAttach(@_)      if $include eq 'ATTACH';
-    return $self->forwardEncapsulate(@_) if $include eq 'ENCAPSULATE';
-
-    $self->log(ERROR => 'Cannot include forward source as $include.');
-    undef;
-}
-
-#------------------------------------------
-
-
-sub forwardNo(@)
-{   my ($self, %args) = @_;
-
-    my $body = $args{body};
-    $self->log(INTERNAL => "No body supplied for forwardNo()")
-       unless defined $body;
-
-    #
-    # Collect header info
-    #
-
-    my $mainhead = $self->toplevel->head;
-
-    # Where it comes from
-    my $from = $args{From};
-    unless(defined $from)
-    {   my @from = $self->to;
-        $from    = \@from if @from;
-    }
-
-    # To whom to send
-    my $to = $args{To};
-    $self->log(ERROR => "No address to create forwarded to."), return
-       unless $to;
-
-    # Create a subject
-    my $srcsub  = $args{Subject};
-    my $subject
-     = ! defined $srcsub ? $self->forwardSubject($self->subject)
-     : ref $srcsub       ? $srcsub->($self->subject)
-     :                     $srcsub;
-
-    # Create a nice message-id
-    my $msgid   = $args{'Message-ID'} || $mainhead->createMessageId;
-    $msgid      = "<$msgid>" if $msgid && $msgid !~ /^\s*\<.*\>\s*$/;
-
-    # Thread information
-    my $origid  = '<'.$self->messageId.'>';
-    my $refs    = $mainhead->get('references');
-
-    my $forward = Mail::Message->buildFromBody
-      ( $body
-      , From        => ($from || '(undisclosed)')
-      , To          => $to
-      , Subject     => $subject
-      , References  => ($refs ? "$refs $origid" : $origid)
-      );
-
-    my $newhead = $forward->head;
-    $newhead->set(Cc   => $args{Cc}  ) if $args{Cc};
-    $newhead->set(Bcc  => $args{Bcc} ) if $args{Bcc};
-    $newhead->set(Date => $args{Date}) if $args{Date};
-
-    # Ready
-
-    $self->label(passed => 1);
-    $self->log(PROGRESS => "Forward created from $origid");
-    $forward;
-}
-
-#------------------------------------------
-
-
-sub forwardInline(@)
-{   my ($self, %args) = @_;
-
-    my $body     = $self->body;
-
-    while(1)    # simplify
-    {   if($body->isMultipart && $body->parts==1)
-                               { $body = $body->part(0)->body }
-        elsif($body->isNested) { $body = $body->nested->body }
-        else                   { last }
-    }
-
-    # Prelude must be a real body, otherwise concatenate will not work
-    my $prelude = exists $args{prelude} ? $args{prelude}
-       : $self->forwardPrelude;
-
-    $prelude     = Mail::Message::Body->new(data => $prelude)
-        if defined $prelude && ! blessed $prelude;
- 
-    # Postlude
-    my $postlude = exists $args{postlude} ? $args{postlude}
-       : $self->forwardPostlude;
- 
-    # Binary bodies cannot be inlined, therefore they will be rewritten
-    # into a forwardAttach... preamble must replace prelude and postlude.
-
-    if($body->isMultipart || $body->isBinary)
-    {   $args{preamble} ||= $prelude->concatenate
-           ( $prelude
-           , ($args{is_attached} || "[The forwarded message is attached]\n")
-           , $postlude
-           );
-        return $self->forwardAttach(%args);
-    }
-    
-    $body        = $body->decoded;
-    my $strip    = (!exists $args{strip_signature} || $args{strip_signature})
-                && !$body->isNested;
-
-    $body        = $body->stripSignature
-      ( pattern     => $args{strip_signature}
-      , max_lines   => $args{max_signature}
-      ) if $strip;
-
-    if(defined(my $quote = $args{quote}))
-    {   my $quoting = ref $quote ? $quote : sub {$quote . $_};
-        $body = $body->foreachLine($quoting);
-    }
-
-    #
-    # Create the message.
-    #
-
-    my $signature = $args{signature};
-    $signature = $signature->body
-        if defined $signature && $signature->isa('Mail::Message');
-
-    my $composed  = $body->concatenate
-      ( $prelude, $body, $postlude
-      , (defined $signature ? "-- \n" : undef), $signature
-      );
-
-    $self->forwardNo(%args, body => $composed);
-}
-
-#------------------------------------------
-
-
-sub forwardAttach(@)
-{   my ($self, %args) = @_;
-
-    my $body  = $self->body;
-    my $strip = !exists $args{strip_signature} || $args{strip_signature};
-
-    if($body->isMultipart)
-    {   $body = $body->stripSignature if $strip;
-        $body = $body->part(0)->body  if $body->parts == 1;
-    }
-
-    my $preamble = $args{preamble};
-    $self->log(ERROR => 'forwardAttach requires a preamble object'), return
-       unless ref $preamble;
-
-    my @parts = ($preamble, $body);
-    push @parts, $args{signature} if defined $args{signature};
-    my $multi = Mail::Message::Body::Multipart->new(parts => \@parts);
-
-    $self->forwardNo(%args, body => $multi);
-}
-
-#------------------------------------------
-
-
-sub forwardEncapsulate(@)
-{   my ($self, %args) = @_;
-
-    my $preamble = $args{preamble};
-    $self->log(ERROR => 'forwardEncapsulate requires a preamble object'), return
-       unless ref $preamble;
-
-    my $nested= Mail::Message::Body::Nested->new(nested => $self->clone);
-    my @parts = ($preamble, $nested);
-    push @parts, $args{signature} if defined $args{signature};
-
-    my $multi = Mail::Message::Body::Multipart->new(parts => \@parts);
-
-    $self->forwardNo(%args, body => $multi);
-}
-
-#------------------------------------------
-
-
-# tests in t/57forw0s.t
-
-sub forwardSubject($)
-{   my ($self, $subject) = @_;
-    defined $subject && length $subject ? "Forw: $subject" : "Forwarded";
-}
-
-#------------------------------------------
-
-
-sub forwardPrelude()
-{   my $head  = shift->head;
-
-    my @lines = "---- BEGIN forwarded message\n";
-    my $from  = $head->get('from');
-    my $to    = $head->get('to');
-    my $cc    = $head->get('cc');
-    my $date  = $head->get('date');
-
-    push @lines, $from->string if defined $from;
-    push @lines,   $to->string if defined $to;
-    push @lines,   $cc->string if defined $cc;
-    push @lines, $date->string if defined $date;
-    push @lines, "\n";
-
-    \@lines;
-}
-
-#------------------------------------------
-
-
-sub forwardPostlude()
-{   my $self = shift;
-    my @lines = ("---- END forwarded message\n");
-    \@lines;
-}
-
-#------------------------------------------
-
-
-#------------------------------------------
- 
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Forward.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Forward.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Forward.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Forward.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Forward.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,501 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Construct::Forward - forwarding a Mail::Message
-
-
-
-=head1 SYNOPSIS
-
- my Mail::Message $forward = $message->forward(To => 'you');
- $forward->send;
-
-
-=head1 DESCRIPTION
-
-Complex functionality on L<Mail::Message|Mail::Message> objects is implemented in
-different files which are autoloaded.  This file implements the
-functionality related to creating forwarded messages.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructing a message
-
-
-$obj-E<gt>B<forward>(OPTIONS)
-
-=over 4
-
-Forward the content of this message.  The body of the message to be forwarded
-is encapsulated in some accompanying text (if you have no wish for that, than
-C<bounce> is your choice).  A L<Mail::Message|Mail::Message> object is returned on success.
-
-You may forward a whole message, but also message parts.
-You may wish to overrule some of the default header settings for the
-reply immediately, or you may do that later with C<set> on the header.
-
-When a multi-part body is encountered, and the message is included to
-ATTACH, the parts which look like signatures will be removed.  If only
-one message remains, it will be the added as single attachment, otherwise
-a nested multipart will be the result.  The value of this option does not
-matter, as long as it is present.  See C<Mail::Message::Body::Multipart>.
-
- Option      Defined in       Default                                                                       
- Bcc                          undef                                                                         
- Cc                           undef                                                                         
- Date                         <now>                                                                         
- From                         <'to' in current>                                                             
- Message-ID                   <uniquely generated>                                                          
- Subject                      L<forwardSubject()|Mail::Message::Construct::Forward/"Constructing a message">
- To                           <required>                                                                    
- body                         undef                                                                         
- include                      <if body then C<'NO'> else C<'INLINE'>>                                       
- preamble                     C<constructed from prelude and postlude>                                      
- signature                    undef                                                                         
-
-. Bcc ADDRESSES
-
-=over 4
-
-Receivers of blind carbon copies: their names will not be published to
-other message receivers.
-
-=back
-
-. Cc ADDRESSES
-
-=over 4
-
-The carbon-copy receivers, by default none.
-
-=back
-
-. Date DATE
-
-=over 4
-
-The date to be used in the message sent.
-
-=back
-
-. From ADDRESSES
-
-=over 4
-
-Your identification, by default taken from the C<To> field of the
-source message.
-
-=back
-
-. Message-ID STRING
-
-=over 4
-
-Supply a STRING as specific message-id for the forwarded message.
-By default, one is generated for you.  If there are no angles around
-your id, they will be added.
-
-=back
-
-. Subject STRING|CODE
-
-=over 4
-
-Force the subject line to the specific STRING, or the result of the
-subroutine specified by CODE.  The subroutine will be called passing
-the subject of the original message as only argument.  By default,
-the L<forwardSubject()|Mail::Message::Construct::Forward/"Constructing a message"> method is used.
-
-=back
-
-. To ADDRESSES
-
-=over 4
-
-The destination of your message. Obligatory.  The ADDRESSES may be
-specified as string, a Mail::Address object, or as array of
-Mail::Address objects.
-
-=back
-
-. body OBJECT
-
-=over 4
-
-If you specify a fully prepared body OBJECT, it will be used as forwarded
-message contents.  In this case, only the headers are constructed for you.
-
-=back
-
-. include 'NO'|'INLINE'|'ATTACH'|'ENCAPSULATE'
-
-=over 4
-
-Must the message where this is a reply to be included in the message?
-When C<INLINE> is given, you may pass the options of L<forwardInline()|Mail::Message::Construct::Forward/"Constructing a message">
-as well.
-
-In many applications, the forward option C<as attachment> results in a
-structure which is produced when this option is set to C<ENCAPSULATE>.
-Their default behavior is usually C<INLINE>.
-
-It is only possible to inline textual messages, therefore binary or
-multi-part messages will always be enclosed as attachment.
-Read the details in section L</Creating a forward>..
-
-=back
-
-. preamble STRING|BODY
-
-=over 4
-
-Part which is attached before the forwarded message.  If no preamble
-is given, then it is constructed from the prelude and postlude.  When
-these are also not present, you will still get a one liner: the result
-of L<forwardPrelude()|Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-. signature BODY|MESSAGE
-
-=over 4
-
-The signature to be added in case of a multi-part forward.  The mime-type
-of the signature body should indicate this is a used as such.  However,
-in INLINE mode, the body will be taken, a line containing C<'-- '> added
-before it, and added behind the epilogue.
-
-=back
-
-=back
-
-$obj-E<gt>B<forwardAttach>(OPTIONS)
-
-=over 4
-
-Forward the message as I<flat> attachment to the specified C<preamble>.  You
-can specify all options available to C<forward()>, although a C<preamble>
-which is provided as body object is required, and any specified C<body>
-is ignored.
-
- Option    Defined in  Default   
- preamble              <required>
-
-. preamble BODY|PART
-
-=back
-
-$obj-E<gt>B<forwardEncapsulate>(OPTIONS)
-
-=over 4
-
-Like L<forwardAttach()|Mail::Message::Construct::Forward/"Constructing a message">, but in this case the original message is first
-encapsulated as nested message in a L<Mail::Message::Body::Nested|Mail::Message::Body::Nested>, and
-then joint into a multipart.
-
-You can specify all options available to C<forward()>, although a C<preamble>
-which is provided as body object is required, and any specified C<body>
-is ignored.  Signatures are not stripped.  Signatures are not stripped.
-
- Option    Defined in  Default   
- preamble              <required>
-
-. preamble BODY|PART
-
-=back
-
-$obj-E<gt>B<forwardInline>(OPTIONS)
-
-=over 4
-
-This method is equivalent in behavior to L<forward()|Mail::Message::Construct::Forward/"Constructing a message"> with the
-option C<include> set to C<'INLINE'>.  You can specify most of
-the fields which are available to L<forward()|Mail::Message::Construct::Forward/"Constructing a message"> except
-C<include> and C<body>.
-
- Option           Defined in       Default                                   
- is_attached                       C<"[The forwarded message is attached]\n">
- max_signature                     C<10>                                     
- postlude                          undef                                     
- prelude                           undef                                     
- quote                             undef                                     
- strip_signature                   C<qr/^--\s/>                              
-
-. is_attached STRING
-
-=over 4
-
-A forward on binary messages can not be inlined.  Therefore, they are
-automatically translated into an attachment, as made by L<forwardAttach()|Mail::Message::Construct::Forward/"Constructing a message">.
-The obligatory preamble option to that method may be specified as option
-to this method, to be used in case of such a forward of a binary, but
-is otherwise constructed from the prelude, the value of this option, and
-the postlude.
-
-=back
-
-. max_signature INTEGER
-
-=over 4
-
-Passed to L<Mail::Message::Body::stripSignature(max_lines)|Mail::Message::Body::Construct/"Constructing a body">.  Only
-effective for single-part messages.
-
-=back
-
-. postlude BODY
-
-=over 4
-
-The line(s) which to be added after the quoted reply lines.  Create a
-body for it first.  This should not include the signature, which has its
-own option.  The signature will be added after the postlude when the
-forwarded message is C<INLINE>d.
-
-=back
-
-. prelude BODY
-
-=over 4
-
-The line(s) which will be added before the quoted forwarded lines.
-If nothing is specified, the result of the L<forwardPrelude()|Mail::Message::Construct::Forward/"Constructing a message"> method
-is used.  When C<undef> is specified, no prelude will be added.
-
-=back
-
-. quote CODE|STRING
-
-=over 4
-
-Mangle the lines of an C<INLINE>d reply with CODE, or by prepending a
-STRING to each line.  The routine specified by CODE is called when the
-line is in C<$_>.
-
-By default, nothing is added before each line.  This option is processed
-after the body has been decoded.
-
-=back
-
-. strip_signature REGEXP|STRING|CODE
-
-=over 4
-
-Remove the signature of the sender.  The value of this parameter is
-passed to L<Mail::Message::Body::stripSignature(pattern)|Mail::Message::Body::Construct/"Constructing a body">, unless the
-source text is not included.  The signature is stripped from the message
-before quoting.
-
-=back
-
-=back
-
-$obj-E<gt>B<forwardNo>(OPTIONS)
-
-=over 4
-
-Construct a forward, where the whole body of the message is already
-constructed.  That complex body is usually produced in L<forwardInline()|Mail::Message::Construct::Forward/"Constructing a message">,
-L<forwardAttach()|Mail::Message::Construct::Forward/"Constructing a message">, or L<forwardEncapsulate()|Mail::Message::Construct::Forward/"Constructing a message">.
-
-The OPTIONS are the same as for C<forward()> except that C<body> is
-required.  Some other options, like C<preamble>, are ignored.
-
- Option  Defined in  Default   
- body                <required>
-
-. body BODY
-
-=back
-
-$obj-E<gt>B<forwardPostlude>
-
-=over 4
-
-Added after the forwarded message.
-
-I<Example:> 
-
- ---- END forwarded message
-
-=back
-
-$obj-E<gt>B<forwardPrelude>
-
-=over 4
-
-Create a few lines to be included before the forwarded message
-content.  The return is an array of lines.
-
-I<Example:> 
-
- ---- BEGIN forwarded message
- From: him at somewhere.else.nl (Original Sender)
- To: me at example.com (Me the receiver)
- Cc: the.rest at world.net
- Date: Wed, 9 Feb 2000 15:44:05 -0500
- <blank line>
-
-=back
-
-$obj-E<gt>B<forwardSubject>(STRING)
-
-=over 4
-
-Create a subject for a message which is a forward from this one.  This routine
-tries to count the level of reply in subject field, and transform it into
-a standard form.  Please contribute improvements.
-
-I<Example:> 
-
- subject                 --> Forw: subject
- Re: subject             --> Forw: Re: subject
- Re[X]: subject          --> Forw: Re[X]: subject
- <blank>                 --> Forwarded
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot include forward source as $include.
-
-Unknown alternative for the L<forward(include)|Mail::Message::Construct::Forward/"Constructing a message">.  Valid choices are
-C<NO>, C<INLINE>, C<ATTACH>, and C<ENCAPSULATE>.
-
-I<Error:> No address to create forwarded to.
-
-If a forward message is created, a destination address must be specified.
-
-I<Error:> forwardAttach requires a preamble object
-
-
-I<Error:> forwardEncapsulate requires a preamble object
-
-
-
-=head1 DETAILS
-
-
-=head2 Creating a forward
-
-The main difference between L<bounce()|Mail::Message::Construct::Bounce/"Constructing a message"> and L<forward()|Mail::Message::Construct::Forward/"Constructing a message"> is the reason
-for message processing.  The I<bounce> has no intention to modify the
-content of message: the same information is passed-on to someplace else.
-This may mean some conversions, but for instance, the Message-ID does
-not need to be changed.
-
-The purpose of I<forward()> is to pass on information which is
-modified: annotated or reduced.  The information is not sent back
-to the author of the original message (which is implemented by L<reply()|Mail::Message::Construct::Reply/"Constructing a message">),
-but to someone else.
-
-So: some information comes in, is modified, and than forwarded to someone
-else.  Currently, there are four ways to get the original information
-included, which are explained in the next sections.
-
-After the creation of the forward, you may want to L<rebuild()|Mail::Message::Construct::Rebuild/"Constructing a message"> the
-message to remove unnecessary complexities.  Of course, that is not
-required.
-
-=head3 forward, specify a body
-
-When you specify L<forward(body)|Mail::Message::Construct::Forward/"Constructing a message">, you have created your own body object to
-be used as content of the forwarded message.  This implies that
-L<forward(include)|Mail::Message::Construct::Forward/"Constructing a message"> is C<'NO'>: no automatic generation of the forwarded
-body.
-
-=head3 forward, inline the original
-
-The L<forward(include)|Mail::Message::Construct::Forward/"Constructing a message"> is set to C<'INLINE'> (the default)
-This is the most complicated situation, but most often used by MUAs:
-the original message is inserted textually in the new body.  You can
-set-up automatic stripping of signatures, the way of encapsulation,
-and texts which should be added before and after the encapsulated part.
-
-However, the result may not always be what you expect.  For instance,
-some people use very long signatures which will not be automatically
-stripped because the pass the threshold.  So, you probably need some
-manual intervention after the message is created and before it is sent.
-
-When a binary message is encountered, inlining is impossible.  In that
-case, the message is treated as if C<'ENCAPSULATE'> was requested.
-
-=head3 forward, attach the original
-
-When L<forward(include)|Mail::Message::Construct::Forward/"Constructing a message"> is explicitly set to C<'ATTACH'> the result
-will be a multipart which contains two parts.  The first part will
-be your message, and the second the body of the original message.
-
-This means that the headers of the forwarded message are used for
-the new message, and detached from the part which now contains the
-original body information.  Content related headers will (of course)
-still be part of that part, but lines line C<To> and C<Subject> will
-not be stored with that part.
-
-As example of the structural transformation:
-
- # code: $original->printStructure;
- multipart/alternative: The source message
-   text/plain: content in raw text
-   text/html: content as html
-
- # code: $fwd = $original->forward(include => 'ATTACH');
- # code: $fwd->printStructure
- multipart/mixed: The source message
-   text/plain: prelude/postlude/signature
-   multipart/alternative
-     text/plain: content in raw text
-     text/html: content as html
-
-=head3 forward, encapsulate the original
-
-When L<forward(include)|Mail::Message::Construct::Forward/"Constructing a message"> is explicitly set to C<'ENCAPSULATE'>, then
-the original message is left in-tact as good as possible.  The lines
-of the original message are used in the main message header but also
-enclosed in the part header.
-
-The encapsulation is implemented using a nested message, content type
-C<message/rfc822>.  As example of the structural transformation:
-
- # code: $original->printStructure;
- multipart/alternative: The source message
-   text/plain: content in raw text
-   text/html: content as html
-
- # code: $fwd = $original->forward(include => 'ENCAPSULATE');
- # code: $fwd->printStructure
- multipart/mixed: The source message
-   text/plain: prelude/postlude/signature
-   message/rfc822
-      multipart/alternative: The source message
-         text/plain: content in raw text
-         text/html: content as html
-
-The message structure is much more complex, but no information is lost.
-This is probably the reason why many MUAs use this when the forward
-an original message as attachment.
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Forward.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Forward.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Read.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Read.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Read.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,73 +0,0 @@
-
-use strict;
-
-package Mail::Message;
-use vars '$VERSION';
-$VERSION = '2.062';
-
-use Mail::Box::FastScalar;
-
-
-sub read($@)
-{   my ($class, $from, %args) = @_;
-    my ($filename, $file);
-    my $ref       = ref $from;
-
-    if(!$ref)
-    {   $filename = 'scalar';
-        $file     = Mail::Box::FastScalar->new(\$from);
-    }
-    elsif($ref eq 'SCALAR')
-    {   $filename = 'ref scalar';
-        $file     = Mail::Box::FastScalar->new($from);
-    }
-    elsif($ref eq 'ARRAY')
-    {   $filename = 'array of lines';
-        my $buffer= join '', @$from;
-        $file     = Mail::Box::FastScalar->new(\$buffer);
-    }
-    elsif($ref eq 'GLOB')
-    {   $filename = 'file (GLOB)';
-        local $/;
-        my $buffer= <$from>;
-        $file     = Mail::Box::FastScalar->new(\$buffer);
-    }
-    elsif($ref && $from->isa('IO::Handle'))
-    {   $filename = 'file ('.ref($from).')';
-        my $buffer= join '', $from->getlines;
-        $file     = Mail::Box::FastScalar->new(\$buffer);
-    }
-    else
-    {   $class->log(ERROR => "Cannot read from $from");
-        return undef;
-    }
-
-    my $strip_status = exists $args{strip_status_fields}
-                     ? delete $args{strip_status_fields}
-                     : 1;
-
-    require Mail::Box::Parser::Perl;  # not parseable by C parser
-
-    my $parser = Mail::Box::Parser::Perl->new
-     ( %args
-     , filename  => $filename
-     , file      => $file
-     , trusted   => 1
-     );
-
-    my $self = $class->new(%args);
-    $self->readFromParser($parser, $args{body_type});
-    $self->addReport($parser);
-
-    $parser->stop;
-
-    my $head = $self->head;
-    $head->set('Message-ID' => '<'.$self->messageId.'>')
-        unless $head->get('Message-ID');
-
-    $head->delete('Status', 'X-Status') if $strip_status;
-
-    $self;
-}
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Read.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Read.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Read.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Read.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Read.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,120 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Construct::Read - read a Mail::Message from a file handle
-
-
-
-=head1 SYNOPSIS
-
- my $msg1 = Mail::Message->read(\*STDIN);
- my $msg2 = Mail::Message->read(\@lines);
-
-
-=head1 DESCRIPTION
-
-When complex methods are called on a C<Mail::Message> object, this package
-is autoloaded to support the reading of messages directly from any file
-handle.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructing a message
-
-
-Mail::Message-E<gt>B<read>(FILEHANDLE|SCALAR|REF-SCALAR|ARRAY-OF-LINES, OPTIONS)
-
-=over 4
-
-Read a message from a FILEHANDLE, SCALAR, a reference to a SCALAR, or
-a reference to an array of LINES.  Most OPTIONS are passed to the L<new()|Mail::Message/"Constructors">
-of the message which is created, but a few extra are defined.
-
-Please have a look at L<build()|Mail::Message::Construct::Build/"Constructing a message"> and L<buildFromBody()|Mail::Message::Construct::Build/"Constructing a message"> before thinking about
-this C<read> method.  Use this C<read> only when you have a file-handle
-like STDIN to parse from, or some external source of message lines.
-When you already have a separate set of head and body lines, then C<read>
-is certainly B<not> your best choice.
-
-Some people use this method in a procmail script: the message arrives
-at stdin, so we only have a filehandle.  In this case, you are stuck
-with this method.  The message is preceeded by a line which can be used
-as message separator in mbox folders.  See the example how to handle
-that one.
-
-This method will remove C<Status> and C<X-Status> fields when they appear
-in the source, to avoid the risk that these fields accidentally interfere
-with your internal administration, which may have security implications.
-
- Option               Defined in       Default 
- body_type                             C<undef>
- strip_status_fields                   <true>  
-
-. body_type CLASS
-
-=over 4
-
-Force a body type (any specific implementation of a L<Mail::Message::Body|Mail::Message::Body>)
-to be used to store the message content.  When the body is a multipart or
-nested, this will be overruled.
-
-=back
-
-. strip_status_fields BOOLEAN
-
-=over 4
-
-Remove the C<Status> and C<X-Status> fields from the message after
-reading, to lower the risk that received messages from external
-sources interfere with your internal administration.  If you want
-fields not to be stripped (you would like to disable the stripping)
-you probably process folders yourself, which is a Bad Thing!
-
-=back
-
-I<Example:> 
-
- my $msg1 = Mail::Message->read(\*STDIN);
- my $msg2 = Mail::Message->read(\@lines, log => 'PROGRESS');
- $folder->addMessages($msg1, $msg2);
-
- my $msg3 = Mail::Message->read(<<MSG);
- Subject: hello world
- To: you at example.com
-                      # warning: empty line required !!!
- Hi, greetings!
- MSG
-
- # promail example
- my $fromline = <STDIN>;
- my $msg      = Mail::Message->read(\*STDIN);
- my $coerced  = $mboxfolder->addMessage($msg);
- $coerced->fromLine($fromline);
-
-=back
-
-
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Read.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Read.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Rebuild.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Rebuild.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Rebuild.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,285 +0,0 @@
-
-use strict;
-
-package Mail::Message;
-use vars '$VERSION';
-$VERSION = '2.062';
-
-use Mail::Message::Head::Complete;
-use Mail::Message::Body::Lines;
-use Mail::Message::Body::Multipart;
-
-use Mail::Address;
-use Carp;
-use Scalar::Util 'blessed';
-use List::Util   'first';
-use Mail::Box::FastScalar;
-
-
-my @default_rules =
-  qw/replaceDeletedParts descendMultiparts descendNested
-     flattenMultiparts flattenEmptyMultiparts/;
-
-sub rebuild(@)
-{   my ($self, %args) = @_;
- 
-    # Collect the rules to be run
-
-    my @rules   = $args{rules} ? @{$args{rules}} : @default_rules;
-    unshift @rules, @{$args{extraRules}} if $args{extraRules};
-
-    foreach my $rule (@rules)
-    {   next if ref $rule;
-        croak "ERROR: no rebuild rule '$rule' defined.\n"
-           unless $self->can($rule);
-    }
-
-    # Start off with the message
-
-    my $rebuild = $self->recursiveRebuildPart($self, rules => \@rules)
-        or return;
-
-    # Be sure we end-up with a message
-
-    if($rebuild->isa('Mail::Message::Part'))
-    {   # a bit too much information is lost: we are left without the
-        # main message headers....
-        my $clone = Mail::Message->new(head => $self->head->clone);
-        $clone->body($rebuild->body);  # to update the Content lines
-        $rebuild = $clone;
-    }
-
-    $rebuild->takeMessageId unless $args{keep_message_id};
-    $rebuild;
-}
-
-#------------------------------------------
-# The general rules
-
-sub flattenNesting($@)
-{   my ($self, $part) = @_;
-    $part->isNested ?  $part->body->nested : $part;
-}
-
-sub flattenMultiparts($@)
-{   my ($self, $part) = @_;
-    return $part unless $part->isMultipart;
-    my @active = $part->parts('ACTIVE');
-    @active==1 ? $active[0] : $part;
-}
-
-sub removeEmptyMultiparts($@)
-{   my ($self, $part) = @_;
-    $part->isMultipart && $part->body->parts==0 ? undef : $part;
-}
-
-sub flattenEmptyMultiparts($@)
-{   my ($self, $part) = @_;
-    return $part unless $part->isMultipart && $part->parts('ACTIVE')==0;
-
-    my $body     = $part->body;
-    my $preamble = $body->preamble
-                 || Mail::Message::Body::Lines->new(data => '');
-    my $epilogue = $body->epilogue;
-    my $newbody  = $preamble->concatenate($preamble, <<NO_PARTS, $epilogue);
-
-  * This multipart did not contain any parts (anymore)
-  * and was therefore flattened.
-
-NO_PARTS
-
-    my $rebuild  = Mail::Message::Part->new
-     ( head      => $part->head->clone
-     , container => undef
-     );
-    $rebuild->body($newbody);
-    $rebuild;
-}
-
-sub removeEmptyBodies($@)
-{   my ($self, $part) = @_;
-    $part->body->lines==0 ? undef : $part;
-}
-
-sub descendMultiparts($@)
-{   my ($self, $part, %args) = @_;
-    return $part unless $part->isMultipart;
-
-    my $body    = $part->body;
-    my $changed = 0;
-    my @newparts;
-
-    foreach my $part ($body->parts)
-    {   my $new = $self->recursiveRebuildPart($part, %args);
-
-        if(!defined $new)  { $changed++ }
-	elsif($new==$part) { push @newparts, $part }
-	else               { push @newparts, $new; $changed++ }
-    }
-
-    return $part unless $changed;
-
-    my $newbody = ref($body)->new
-     ( based_on  => $body
-     , parts     => \@newparts
-     );
-
-    my $rebuild = ref($part)->new
-     ( head      => $part->head->clone
-     , container => undef
-     );
-
-    $rebuild->body($newbody);   # update Content-* lines
-    $rebuild;
- }
-
-sub descendNested($@)
-{   my ($self, $part, %args) = @_;
-
-    return $part unless $part->isNested;
-
-    my $body      = $part->body;
-    my $srcnested = $body->nested;
-    my $newnested = $self->recursiveRebuildPart($srcnested, %args);
-
-    return undef      unless defined $newnested;
-    return $part if $newnested==$srcnested;
-
-    # Changes in the encapsulated message
-    my $newbody   = ref($body)->new
-      ( based_on => $body
-      , nested   => $newnested
-      );
-
-   my $rebuild    = ref($part)->new(head => $part->head->clone);
-   $rebuild->body($newbody);
-   $rebuild;
-}
-
-sub removeDeletedParts($@)
-{   my ($self, $part) = @_;
-    $part->isDeleted ? undef : $part;
-}
-
-sub replaceDeletedParts($@)
-{   my ($self, $part) = @_;
-
-    return $part
-       unless ($part->isNested && $part->body->nested->isDeleted)
-            || $part->isDeleted;
-
-    my $structure = '';
-    my $output    = Mail::Box::FastScalar->new(\$structure, '  ');
-    $part->printStructure($output);
-
-    Mail::Message::Part->build
-     ( data      => "Removed content:\n\n$structure"
-     );
-}
-
-#------------------------------------------
-# The more complex rules
-
-sub removeHtmlAlternativeToText($@)
-{   my ($self, $part, %args) = @_;
-    return $part unless $part->body->mimeType eq 'text/html';
-
-    my $container = $part->container;
-
-    return $part
-       unless defined $container
-           && $container->mimeType eq 'multipart/alternative';
-
-    foreach my $subpart ($container->parts)
-    {   return undef if $subpart->body->mimeType eq 'text/plain';
-    }
-
-    $part;
-}
-
-my $has_hft;
-
-sub textAlternativeForHtml($@)
-{   my ($self, $part, %args) = @_;
-
-    my $hft = 'Mail::Message::Convert::HtmlFormatText';
-    unless(defined $has_hft)
-    {   eval "require Mail::Message::Convert::HtmlFormatText";
-        $has_hft = $hft->can('format');
-    }
-
-    return $part
-        unless $has_hft && $part->body->mimeType eq 'text/html';
-
-    my $container = $part->container;
-    my $in_alt    = defined $container
-                    && $container->mimeType eq 'multipart/alternative';
-
-    return $part
-        if $in_alt
-        && first { $_->body->mimeType eq 'text/plain' } $container->parts;
-
-
-    # Create the plain part
-
-    my $html_body  = $part->body;
-    my $plain_body = $hft->new->format($html_body);
-
-    my $plain_part = Mail::Message::Part->new(container => undef);
-    $plain_part->body($plain_body);
-
-    return $container->attach($plain_part)
-       if $in_alt;
-
-    # Recreate the html part to loose some header lines
-
-    my $html_part = Mail::Message::Part->new(container => undef);
-    $html_part->body($html_body);
-
-    # Create the new part, with the headers of the html part
-
-    my $mp = Mail::Message::Body::Multipart->new
-     ( mime_type => 'multipart/alternative'
-     , parts     => [ $plain_part, $html_part ]
-     );
-
-    my $newpart  = ref($part)->new
-     ( head      => $part->head->clone   # Subject field, and such
-     , container => undef
-     );
-    $newpart->body($mp);
-    $newpart;
-}
-
-#------------------------------------------
-
-
-sub recursiveRebuildPart($@)
-{   my ($self, $part, %args) = @_;
-
-  RULES:
-    for(1)
-    {
-        foreach my $rule ( @{$args{rules}} )
-        {
-            my $rebuild
-               = ref $rule ? $rule->($self, $part, %args)
-               :             $self->$rule($part, %args);
-
-            return undef unless defined $rebuild;
-
-            if($part != $rebuild)
-            {   $part = $rebuild;
-                redo RULES;
-            }
-	}
-    }
-
-   $part;
-}
-
-#------------------------------------------
-
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Rebuild.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Rebuild.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Rebuild.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Rebuild.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Rebuild.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,307 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Construct::Rebuild - modify a Mail::Message
-
-
-
-=head1 SYNOPSIS
-
- my $cleanup = $msg->rebuild;
-
-
-=head1 DESCRIPTION
-
-Modifying existing messages is a pain, certainly if this has to be
-done in an automated fashion.  The problems are especially had when
-multiparts have to be created or removed.  The L<rebuild()|Mail::Message::Construct::Rebuild/"Constructing a message"> method
-tries to simplify this task and add some standard features.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructing a message
-
-
-$obj-E<gt>B<rebuild>(OPTIONS)
-
-=over 4
-
-Reconstruct an existing message into something new.  Returned is a new
-message when there were modifications made, C<undef> if the message has
-no body left, or the original message when no modifications had to be
-made.
-
-Examples of use: you have a message which only contains html, and you
-want to translate it into a multipart which contains the original html
-and the textual translation of it.  Or, you have a message with parts
-flagged to be deleted, and you want those changes be incorparted in the
-memory structure.  Another possibility: clear all the resent groups
-(see L<Mail::Message::Head::ResentGroup|Mail::Message::Head::ResentGroup>) from the header, before it is
-written to file.
-
-Reconstructing is a hazardous task, where multi level multiparts and
-nested messages come into play.  The rebuild method tries to simplify
-handing these messages for you.
-
- Option           Defined in       Default   
- extraRules                        []        
- keep_message_id                   <false>   
- rules                             <see text>
-
-. extraRules ARRAY
-
-=over 4
-
-The standard set of rules, which is the default for the C<rules> option,
-is a moderest setting.  In stead of copying that list into a full set
-of rules of your own, you can also specify only some additional rules
-which will be prependend to the default rule set.
-
-The order of the rules is respected, which means that you do not always
-need to rewrite the whole rule is (see C<rule> option).  For instance,
-the extra rule of C<removeDeletedParts> returns an C<undef>, which
-means that it cancels the effect of the default rule C<replaceDeletedParts>.
-
-=back
-
-. keep_message_id BOOLEAN
-
-=over 4
-
-The message-id is an unique identification of the message: no two messages
-with different content shall exist anywhere.  However in practice, when
-a message is changed during transmission, the id is often incorrectly
-not changed.  This may lead to complications in application which see
-both messages with the same id.
-
-=back
-
-. rules ARRAY
-
-=over 4
-
-The ARRAY is a list of rules, which each describe an action which will
-be called on each part which is found in the message.  Most rules
-probably won't match, but some will bring changes to the content.
-Rules can be specified as method name, or as code reference.  See the
-L</DETAILS> chapter in this manual page, and L<recursiveRebuildPart()|Mail::Message::Construct::Rebuild/"Internals">.
-
-By default, only the relatively safe transformations are performed:
-C<replaceDeletedParts>, C<descendMultiparts>, C<descendNested>,
-C<flattenMultiparts>, C<flattenEmptyMultiparts>.  In the future, more
-safe transformations may be added to this list.
-
-=back
-
-I<Example:> 
-
- # remove all deleted parts
- my $cleaned = $msg->rebuild(keep_message_id => 1);
- $folder->addMessage($cleaned) if defined $cleaned;
-
- # Replace deleted parts by a place-holder
- my $cleaned = $msg->rebuild
-   ( keep_message_id => 1
-   , extraRules => [ 'removeEmpty', 'flattenMultiparts' ]
-   );
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<recursiveRebuildPart>(PART, OPTIONS)
-
-=over 4
-
- Option  Defined in  Default   
- rules               <required>
-
-. rules ARRAY-OF-RULES
-
-=over 4
-
-Rules are method names which can be called on messages and message parts
-objects.  The ARRAY can also list code references which can be called.
-In any case, each rule will be called the same way:
-
- $code->(MESSAGE, PART)
-
-The return can be C<undef> or any complex construct based on a
-L<Mail::Message::Part|Mail::Message::Part> or coerceable into such a part.  For each part,
-all rules are called in sequence.  When a rule returns a changed object,
-the rules will start all over again, however C<undef> will immediately
-stop it.
-
-=back
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> no rebuild rule $name defined.
-
-
-
-=head1 DETAILS
-
-
-=head2 Rebuilding a message
-
-Modifying an existing message is a complicated job.  Not only do you need
-to know what you are willing to change, but you have to take care about
-multiparts (possibly nested in multiple levels), rfc822 encapsulated
-messages, header field consistency, and so on.  The L<rebuild()|Mail::Message::Construct::Rebuild/"Constructing a message"> method
-let you focus on the task, and takes care of the rest.
-
-The L<rebuild()|Mail::Message::Construct::Rebuild/"Constructing a message"> method uses rules to transform the one message into an
-other.  If one or more of the rules apply, a new message will be returned.
-A simple numeric comparison tells whether the message has changed.  For
-example
-
- print "No change"
-    if $message == $message->rebuild;
-
-Transformation is made with a set of rules.  Each rule performs only a
-small step, which makes is easily configurable.  The rules are ordered,
-and when one makes a change to the result, the result will be passed
-to all the rules again until no rule makes a change on the part anymore.
-A rule may also return C<undef> in which case the part will be removed
-from the (resulting) message.
-
-=head3 General rules
-
-This sections describes the general configuration rules: all quite straight
-forward transformations on the message structure.  The rules marked with (*)
-are used by default.
-
-=over 4
-
-=item * descendMultiparts (*)
-
-Apply the rules to the parts of (possibly nested) multiparts, not only to
-the top-level message.
-
-=item * descendNested (*)
-
-Apply the rules to the C<message/rfc822> encapsulated message as well.
-
-=item * flattenEmptyMultiparts (*)
-
-Multipart messages which do not have any parts left are replaced by
-a single part which contains the preamble, epilogue and a brief
-explanation.
-
-=item * flattenMultiparts (*)
-
-When a multipart contains only one part, that part will take the place of
-the multipart: the removal of a level of nesting.  This way, the preamble
-and epilogue of the multipart (which do not have a meaning, officially)
-are lost.
-
-=item * flattenNesting
-
-Remove the C<message/rfc822> encapsulation.  Only the content related
-lines of the encapsulated body are preserved one level higher.  Other
-information will be lost, which is often not too bad.
-
-=item * removeDeletedParts
-
-All parts which are flagged for deletion are removed from the message
-without leaving a trace.  If a nested message is encountered which has
-its encapsulated content flagged for deletion, it will be removed as
-a whole.
-
-=item * removeEmptyMultiparts
-
-Multipart messages which do not have any parts left are removed.  The
-information in preamble and epiloge is lost.
-
-=item * removeEmptyBodies
-
-Simple message bodies which do not contain any lines of content are
-removed.  This will loose the information which is stored in the
-headers of these bodies.
-
-=item * replaceDeletedParts (*)
-
-All parts of the message which are flagged for deletion are replace
-by a message which says that the part is deleted.
-
-=back
-
-You can specify a selection of these rules with L<rebuild(rules)|Mail::Message::Construct::Rebuild/"Constructing a message"> and
-L<rebuild(extraRules)|Mail::Message::Construct::Rebuild/"Constructing a message">.
-
-=head3 Conversion rules
-
-This section describes the rules which try to be smart with the
-content.  Please contribute with ideas and implementations.
-
-=over 4
-
-=item * removeHtmlAlternativeToText
-
-When a multipart alternative is encountered, which contains both a
-plain text and an html part, then the html part is flagged for
-deletion.  Especially useful in combination with the C<removeDeletedParts>
-and C<flattenMultiparts> rules.
-
-=item * textAlternativeForHtml
-
-Any C<text/html> part which is not accompanied by an alternative
-plain text part will have one added.  You must have a working
-L<Mail::Message::Convert::HtmlFormatText|Mail::Message::Convert::HtmlFormatText>, which means that
-HTML::TreeBuilder and HTML::FormatText  must be installed on
-your system.
-
-=back
-
-=head3 Adding your own rules
-
-If you have designed your own rule, please consider contributing this
-to Mail::Box; it may be useful for other people as well.
-
-Each rule is called
-
- my $new = $code->($message, $part, %options)
-
-where the C<%options> are defined by the C<rebuild()> method internals. At
-least the C<rules> option is passed, which is a full expansion of all
-the rules which will be applied.
-
-Your subroutine shall return C<$part> if no changes are needed,
-C<undef> if the part should be removed, and any newly constructed
-C<Mail::Message::Part> when a change is required.  It is easiest to
-start looking at the source code of this package, and copy from a
-comparible routine.
-
-When you have your own routine, you simply call:
-
- my $rebuild_message = $message->rebuild
-  ( extraRules => [ \&my_own_rule, 'other_rule' ] );
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Rebuild.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Rebuild.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Reply.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Reply.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Reply.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,249 +0,0 @@
-
-use strict;
-
-package Mail::Message;
-use vars '$VERSION';
-$VERSION = '2.062';
-
-use Mail::Message::Body::Multipart;
-use Mail::Address;
-use Scalar::Util 'blessed';
-
-
-# tests in t/55reply1r.t, demo in the examples/ directory
-
-sub reply(@)
-{   my ($self, %args) = @_;
-
-    my $body   = $args{body};
-    my $strip  = !exists $args{strip_signature} || $args{strip_signature};
-    my $include  = $args{include}   || 'INLINE';
-
-    if($include eq 'NO')
-    {   # Throw away real body.
-        $body    = Mail::Message::Body->new
-           (data => ["\n[The original message is not included]\n\n"])
-               unless defined $body;
-    }
-    elsif($include eq 'INLINE' || $include eq 'ATTACH')
-    {
-        unless(defined $body)
-        {   # text attachment
-            $body = $self->body;
-            $body = $body->part(0)->body if $body->isMultipart && $body->parts==1;
-            $body = $body->nested->body  if $body->isNested;
-
-            $body
-             = $strip && ! $body->isMultipart && !$body->isBinary
-             ? $body->decoded->stripSignature
-                 ( pattern   => $args{strip_signature}
-                 , max_lines => $args{max_signature}
-                 )
-             : $body->decoded;
-        }
-
-        if($include eq 'INLINE' && $body->isMultipart) { $include = 'ATTACH' }
-        elsif($include eq 'INLINE' && $body->isBinary)
-        {   $include = 'ATTACH';
-            $body    = Mail::Message::Body::Multipart->new(parts => [$body]);
-        }
-
-        if($include eq 'INLINE')
-        {   my $quote
-              = defined $args{quote} ? $args{quote}
-              : exists $args{quote}  ? undef
-              :                        '> ';
-
-            if(defined $quote)
-            {   my $quoting = ref $quote ? $quote : sub {$quote . $_};
-                $body = $body->foreachLine($quoting);
-            }
-        }
-    }
-    else
-    {   $self->log(ERROR => "Cannot include reply source as $include.");
-        return;
-    }
-
-    #
-    # Collect header info
-    #
-
-    my $mainhead = $self->toplevel->head;
-
-    # Where it comes from
-    my $from = $args{From};
-    unless(defined $from)
-    {   my @from = $self->to;
-        $from    = \@from if @from;
-    }
-
-    # To whom to send
-    my $to = $args{To};
-    unless(defined $to)
-    {   my $reply = $mainhead->get('reply-to');
-        $to       = [ $reply->addresses ] if defined $reply;
-    }
-
-    unless(defined $to)
-    {   my @from  = $self->from;
-        $to     ||= \@from if @from;
-    }
-
-    defined $to or return;
-
-    # Add Cc
-    my $cc = $args{Cc};
-    if(!defined $cc && $args{group_reply})
-    {   my @cc = $self->cc;
-        $cc    = [ $self->cc ] if @cc;
-    }
-
-    # Add Bcc
-    my $bcc = $args{Bcc};
-
-    # Create a subject
-    my $srcsub  = $args{Subject};
-    my $subject
-     = ! defined $srcsub ? $self->replySubject($self->subject)
-     : ref $srcsub       ? $srcsub->($self->subject)
-     :                     $srcsub;
-
-    # Create a nice message-id
-    my $msgid   = $args{'Message-ID'};
-    $msgid      = "<$msgid>" if $msgid && $msgid !~ /^\s*\<.*\>\s*$/;
-
-    # Thread information
-    my $origid  = '<'.$self->messageId.'>';
-    my $refs    = $mainhead->get('references');
-
-    # Prelude
-    my $prelude
-      = defined $args{prelude} ? $args{prelude}
-      : exists $args{prelude}  ? undef
-      :                          [ $self->replyPrelude($to) ];
-
-    $prelude     = Mail::Message::Body->new(data => $prelude)
-        if defined $prelude && ! blessed $prelude;
- 
-    my $postlude = $args{postlude};
-    $postlude    = Mail::Message::Body->new(data => $postlude)
-        if defined $postlude && ! blessed $postlude;
-
-    #
-    # Create the message.
-    #
-
-    my $total;
-    if($include eq 'NO') {$total = $body}
-    elsif($include eq 'INLINE')
-    {   my $signature = $args{signature};
-        $signature = $signature->body
-           if defined $signature && $signature->isa('Mail::Message');
-
-        $total = $body->concatenate
-          ( $prelude, $body, $postlude
-          , (defined $signature ? "-- \n" : undef), $signature
-          );
-    }
-    if($include eq 'ATTACH')
-    {
-         my $intro = $prelude->concatenate
-           ( $prelude
-           , [ "\n", "[Your message is attached]\n" ]
-           , $postlude
-           );
-
-        $total = Mail::Message::Body::Multipart->new
-         ( parts => [ $intro, $body, $args{signature} ]
-        );
-    }
-
-    my $msgtype = $args{message_type} || 'Mail::Message';
-
-    my $reply   = $msgtype->buildFromBody
-      ( $total
-      , From    => $from || 'Undisclosed senders:;'
-      , To      => $to
-      , Subject => $subject
-      , 'In-Reply-To' => $origid
-      , References    => ($refs ? "$refs $origid" : $origid)
-      );
-
-    my $newhead = $reply->head;
-    $newhead->set(Cc  => $cc)  if $cc;
-    $newhead->set(Bcc => $args{Bcc}) if $args{Bcc};
-
-    # Ready
-
-    $self->log(PROGRESS => 'Reply created from '.$origid);
-    $self->label(replied => 1);
-    $reply;
-}
-
-#------------------------------------------
-
-
-# tests in t/35reply1rs.t
-
-sub replySubject($)
-{   my ($thing, $subject) = @_;
-    $subject     = 'your mail' unless defined $subject && length $subject;
-    my @subject  = split /\:/, $subject;
-    my $re_count = 1;
-
-    # Strip multiple Re's from the start.
-
-    while(@subject)
-    {   last if $subject[0] =~ /[A-QS-Za-qs-z][A-DF-Za-df-z]/;
-
-        for(shift @subject)
-        {   while( /\bRe(?:\[\s*(\d+)\s*\]|\b)/g )
-            {   $re_count += defined $1 ? $1 : 1;
-            }
-        }
-    }
-
-    # Strip multiple Re's from the end.
-
-    if(@subject)
-    {   for($subject[-1])
-        {   $re_count++ while s/\s*\(\s*(re|forw)\W*\)\s*$//i;
-        }
-    }
-
-    # Create the new subject string.
-
-    my $text = (join ':', @subject) || 'your mail';
-    for($text)
-    {  s/^\s+//;
-       s/\s+$//;
-    }
-
-    $re_count==1 ? "Re: $text" : "Re[$re_count]: $text";
-}
-
-#------------------------------------------
-
-
-sub replyPrelude($)
-{   my ($self, $who) = @_;
- 
-    $who = $who->[0] if ref $who eq 'ARRAY';
-
-    my $user
-     = !defined $who                     ? undef
-     : !ref $who                         ? (Mail::Address->parse($who))[0]
-     : $who->isa('Mail::Message::Field') ? ($who->addresses)[0]
-     :                                     $who;
-
-    my $from
-     = ref $user && $user->isa('Mail::Address')
-     ? ($user->name || $user->address || $user->format)
-     : 'someone';
-
-    my $time = gmtime $self->timestamp;
-    "On $time, $from wrote:\n";
-}
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Reply.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Reply.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Reply.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Reply.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Reply.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,315 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Construct::Reply - reply to a Mail::Message
-
-
-
-=head1 SYNOPSIS
-
- my Mail::Message $reply = $message->reply;
- my $quoted  = $message->replyPrelude($head->get('From'));
-
-
-=head1 DESCRIPTION
-
-Complex functionality on L<Mail::Message|Mail::Message> objects is implemented in
-different files which are autoloaded.  This file implements the
-functionality related to creating message replies.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructing a message
-
-
-$obj-E<gt>B<reply>(OPTIONS)
-
-=over 4
-
-Start a reply to this message.  Some of the header-lines of the original
-message will be taken.  A message-id will be assigned.  Some header lines
-will be updated to facilitate message-thread detection
-(see L<Mail::Box::Thread::Manager|Mail::Box::Thread::Manager>).
-
-You may reply to a whole message or a message part.
-You may wish to overrule some of the default header settings for the
-reply immediately, or you may do that later with C<set> on the header.
-
-ADDRESSES may be specified as string, or
-a Mail::Address object, or as array of Mail::Address objects.
-
- Option           Defined in       Default                                                                   
- Bcc                               undef                                                                     
- Cc                                <'cc' in current>                                                         
- From                              <'to' in current>                                                         
- Message-ID                        <uniquely generated>                                                      
- Subject                           L<replySubject()|Mail::Message::Construct::Reply/"Constructing a message">
- To                                <sender in current>                                                       
- body                              undef                                                                     
- group_reply                       <true>                                                                    
- include                           C<'INLINE'>                                                               
- max_signature                     C<10>                                                                     
- message_type                      L<Mail::Message|Mail::Message>                                            
- postlude                          undef                                                                     
- prelude                           undef                                                                     
- quote                             'E<gt> '                                                                  
- signature                         undef                                                                     
- strip_signature                   C<qr/^--\s/>                                                              
-
-. Bcc ADDRESSES
-
-=over 4
-
-Receivers of blind carbon copies: their names will not be published to
-other message receivers.
-
-=back
-
-. Cc ADDRESSES
-
-=over 4
-
-The carbon-copy receivers, by default a copy of the C<Cc> field of
-the source message.
-
-=back
-
-. From ADDRESSES
-
-=over 4
-
-Your identification, by default taken from the C<To> field of the
-source message.
-
-=back
-
-. Message-ID STRING
-
-=over 4
-
-Supply a STRING as specific message-id for the reply.  By default, one is
-generated for you.  If there are no angles around your id, they will be
-added.
-
-=back
-
-. Subject STRING|CODE
-
-=over 4
-
-Force the subject line to the specific STRING, or the result of the
-subroutine specified by CODE.  The subroutine will be called passing
-the subject of the original message as only argument.  By default,
-L<Mail::Message::replySubject()|Mail::Message::Construct::Reply/"Constructing a message"> is used.
-
-=back
-
-. To ADDRESSES
-
-=over 4
-
-The destination of your message.  By default taken from the C<Reply-To>
-field in the source message.  If that field is not present as well, the
-C<From> line is scanned.  If they all fail, C<undef> is returned by this
-method: no reply message produced.
-
-=back
-
-. body BODY
-
-=over 4
-
-Usually, the reply method can create a nice, sufficient message from the
-source message's body.  In case you like more complicated reformatting,
-you may also create a body yourself first, and pass this on to this
-C<reply> method. Some of the other options to this method will be ingored
-in this case.
-
-=back
-
-. group_reply BOOLEAN
-
-=over 4
-
-Will the people listed in the C<Cc> headers (those who received the
-message where you reply to now) also receive this message as carbon
-copy?
-
-=back
-
-. include 'NO'|'INLINE'|'ATTACH'
-
-=over 4
-
-Must the message where this is a reply to be included in the message?
-If C<NO> then not.  With C<INLINE> a reply body is composed. C<ATTACH>
-will create a multi-part body, where the original message is added
-after the specified body.  It is only possible to inline textual
-messages, therefore binary or multipart messages will always be
-enclosed as attachment.
-
-=back
-
-. max_signature INTEGER
-
-=over 4
-
-Passed to C<stripSignature> on the body as parameter C<max_lines>.  Only
-effective for single-part messages.
-
-=back
-
-. message_type CLASS
-
-=over 4
-
-Create a message with the requested type.  By default, it will be a
-Mail::Message.  This is correct, because it will be coerced into
-the correct folder message type when it is added to that folder.
-
-=back
-
-. postlude BODY|LINES
-
-=over 4
-
-The line(s) which to be added after the quoted reply lines.  Create a
-body for it first.  This should not include the signature, which has its
-own option.  The signature will be added after the postlude when the
-reply is INLINEd.
-
-=back
-
-. prelude BODY|LINES
-
-=over 4
-
-The line(s) which will be added before the quoted reply lines.  If nothing
-is specified, the result of the L<replyPrelude()|Mail::Message::Construct::Reply/"Constructing a message"> method
-is taken.  When C<undef> is specified, no prelude will be added.
-
-=back
-
-. quote CODE|STRING
-
-=over 4
-
-Mangle the lines of an C<INLINE>d reply with CODE, or by prepending a
-STRING to each line.  The routine specified by CODE is called when the
-line is in C<$_>.
-
-By default, C<'E<gt> '> is added before each line.  Specify C<undef> to
-disable quoting.  This option is processed after the body has been decoded.
-
-=back
-
-. signature BODY|MESSAGE
-
-=over 4
-
-The signature to be added in case of a multi-part reply.  The mime-type
-of the signature body should indicate this is a used as such.  However,
-in INLINE mode, the body will be taken, a line containing C<'-- '> added
-before it, and added behind the epilogue.
-
-=back
-
-. strip_signature REGEXP|STRING|CODE
-
-=over 4
-
-Remove the signature of the sender.  The value of this parameter is
-passed to L<Mail::Message::Body::stripSignature(pattern)|Mail::Message::Body::Construct/"Constructing a body"> unless the
-source text is not included.  The signature is stripped from the message
-before quoting.
-
-When a multipart body is encountered, and the message is included to
-ATTACH, the parts which look like signatures will be removed.  If only
-one message remains, it will be the added as single attachment, otherwise
-a nested multipart will be the result.  The value of this option does not
-matter, as long as it is present.  See L<Mail::Message::Body::Multipart|Mail::Message::Body::Multipart>.
-
-=back
-
-I<Example:> 
-
-  my $reply = $msg->reply
-   ( prelude         => "No spam, please!\n\n"
-   , postlude        => "\nGreetings\n"
-   , strip_signature => 1
-   , signature       => $my_pgp_key
-   , group_reply     => 1
-   );
-
-=back
-
-$obj-E<gt>B<replyPrelude>([STRING|FIELD|ADDRESS|ARRAY-OF-THINGS])
-
-=over 4
-
-Produces a list of lines (usually only one), which will preceded the
-quoted body of the message.  STRING must comply to the RFC822 email
-address specification, and is usually the content of a C<To> or C<From>
-header line.  If a FIELD is specified, the field's body must be
-compliant.  Without argument -or when the argument is C<undef>- a
-slightly different line is produced.
-
-An characteristic example of the output is
-
- On Thu Oct 13 04:54:34 1995, him at example.com wrote:
-
-=back
-
-$obj-E<gt>B<replySubject>(STRING)
-
-Mail::Message-E<gt>B<replySubject>(STRING)
-
-=over 4
-
-Create a subject for a message which is a reply for this one.  This routine
-tries to count the level of reply in subject field, and transform it into
-a standard form.  Please contribute improvements.
-
-I<Example:> 
-
- subject                 --> Re: subject
- Re: subject             --> Re[2]: subject
- Re[X]: subject          --> Re[X+1]: subject
- subject (Re)            --> Re[2]: subject
- subject (Forw)          --> Re[2]: subject
- <blank>                 --> Re: your mail
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot include reply source as $include.
-
-Unknown alternative for the C<include> option of L<reply()|Mail::Message::Construct::Reply/"Constructing a message">.  Valid
-choices are C<NO>, C<INLINE>, and C<ATTACH>.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Reply.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Reply.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Text.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Text.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Text.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,76 +0,0 @@
-
-use strict;
-
-package Mail::Message;
-use vars '$VERSION';
-$VERSION = '2.062';
-
-use IO::Lines;
-
-
-sub string()
-{   my $self = shift;
-    $self->head->string . $self->body->string;
-}
-
-#------------------------------------------
-
-
-sub lines()
-{   my $self = shift;
-    my @lines;
-    my $file = IO::Lines->new(\@lines);
-    $self->print($file);
-    wantarray ? @lines : \@lines;
-}
-
-#------------------------------------------
-
-
-sub file()
-{   my $self = shift;
-    my @lines;
-    my $file = IO::Lines->new(\@lines);
-    $self->print($file);
-    $file->seek(0,0);
-    $file;
-}
-
-#------------------------------------------
-
-
-sub printStructure(;$$)
-{   my $self    = shift;
-
-    my $indent
-      = @_==2                       ? pop
-      : defined $_[0] && !ref $_[0] ? shift
-      :                               '';
-
-    my $fh      = @_ ? shift : select;
-
-    my $buffer;   # only filled if filehandle==undef
-    open $fh, '>', \$buffer unless defined $fh;
-
-    my $subject = $self->get('Subject') || '';
-    $subject    = ": $subject" if length $subject;
-
-    my $type    = $self->get('Content-Type') || '';
-    my $size    = $self->size;
-    my $deleted = $self->label('deleted') ? ', deleted' : '';
-
-    my $text    = "$indent$type$subject ($size bytes$deleted)\n";
-    ref $fh eq 'GLOB' ? (print $fh $text) : $fh->print($text);
-
-    my $body    = $self->body;
-    my @parts
-      = $body->isMultipart ? $body->parts
-      : $body->isNested    ? ($body->nested)
-      :                      ();
-
-    $_->printStructure($fh, $indent.'   ') foreach @parts;
-    $buffer;
-}
-    
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Text.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Text.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Text.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Text.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Text.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,119 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Construct::Text - capture a Mail::Message as text
-
-
-
-=head1 SYNOPSIS
-
- my $text = $msg->string;
- my $text = "$msg";   # via overload
-
- my @text = $msg->lines;
- my @text = @$lines;  # via overload
-
- my $fh   = $msg->file;
- my $line = <$fh>;
-
- $msg->printStructure;
-
-
-=head1 DESCRIPTION
-
-Complex functionality on L<Mail::Message|Mail::Message> objects is implemented in
-different files which are autoloaded.  This file implements the
-functionality related to creating message replies.
-
-
-
-=head1 METHODS
-
-
-=head2 The whole message as text
-
-
-$obj-E<gt>B<file>
-
-=over 4
-
-Returns the message as file-handle.
-
-=back
-
-$obj-E<gt>B<lines>
-
-=over 4
-
-Returns the whole message as set of lines.  In LIST context, copies of the
-lines are returned.  In SCALAR context, a reference to an array of lines
-is returned.
-
-=back
-
-$obj-E<gt>B<printStructure>([FILEHANDLE|undef],[INDENT])
-
-=over 4
-
-Print the structure of a message to the specified FILEHANDLE or the
-selected filehandle.  When explicitly C<undef> is specified as handle,
-then the output will be returned as string.
-
-The message's subject and the types of all composing parts are
-displayed.
-
-INDENT specifies the initial indentation string: it is added in front
-of each line. The INDENT must contain at least one white-space.
-
-I<Example:> 
-
- my $msg = ...;
- $msg->printStructure(\*OUTPUT);
-
- $msg->printStructure;
-
- my $struct = $msg->printStructure(undef);
-
- # Possible output for one message:
- multipart/mixed: forwarded message from Pietje Puk (1550 bytes)
-    text/plain (164 bytes)
-    message/rfc822 (1043 bytes)
-       multipart/alternative: A multipart alternative (942 bytes)
-          text/plain (148 bytes, deleted)
-          text/html (358 bytes)
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-Returns the whole message as string.
-
-=back
-
-=head2 Flags
-
-
-
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct/Text.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Construct/Text.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Construct.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,64 +0,0 @@
-
-use strict;
-
-package Mail::Message;
-use vars '$VERSION';
-$VERSION = '2.062';
-
-use Mail::Message::Head::Complete;
-use Mail::Message::Body::Lines;
-use Mail::Message::Body::Multipart;
-
-use Mail::Address;
-use Carp;
-use Scalar::Util 'blessed';
-use IO::Lines;
-
-
-our %locations =
-(
-  bounce             => 'Bounce'
-
-, build              => 'Build'
-, buildFromBody      => 'Build'
-
-, forward            => 'Forward'
-, forwardNo          => 'Forward'
-, forwardInline      => 'Forward'
-, forwardAttach      => 'Forward'
-, forwardEncapsulate => 'Forward'
-, forwardSubject     => 'Forward'
-, forwardPrelude     => 'Forward'
-, forwardPostlude    => 'Forward'
-
-, read               => 'Read'
-
-, rebuild            => 'Rebuild'
-
-, reply              => 'Reply'
-, replySubject       => 'Reply'
-, replyPrelude       => 'Reply'
-
-, string             => 'Text'
-, lines              => 'Text'
-, file               => 'Text'
-, printStructure     => 'Text'
-);
-
-sub AUTOLOAD(@)
-{   my $self  = shift;
-    our $AUTOLOAD;
-    (my $call = $AUTOLOAD) =~ s/.*\:\://g;
-
-    if(my $mod = $locations{$call})
-    {   eval "require Mail::Message::Construct::$mod";
-        die $@ if $@;
-        return $self->$call(@_);
-    }
-
-    our @ISA;                    # produce error via Mail::Reporter
-    $call = "${ISA[0]}::$call";
-    $self->$call(@_);
-}
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Construct.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Construct.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,57 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Construct - extends the functionality of a Mail::Message
-
-
-
-=head1 SYNOPSIS
-
- # See Mail::Message
-
-
-=head1 DESCRIPTION
-
-Complex functionality on L<Mail::Message|Mail::Message> objects is implemented in
-different files which are autoloaded.  This file implements the
-functionality related to creating message replies.
-
-
-
-=head1 METHODS
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-When an unknown method is called on this message, this may mean that
-not all code is compiled.  For performance reasons, most of the
-complex activities on messages are dynamically loaded from other
-packages.  An error will be produced when loading does not help resolving
-the requested method.
-
-=back
-
-
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Construct.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Construct.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/Html.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Convert/Html.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/Html.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,142 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message::Convert::Html;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Convert';
-
-use Carp;
-
-
-sub init($)
-{   my ($self, $args)  = @_;
-
-    $self->SUPER::init($args);
-
-    my $produce = $args->{produce} || 'HTML';
-
-    $self->{MMCH_tail}
-     = $produce eq 'HTML'  ?   '>'
-     : $produce eq 'XHTML' ? ' />'
-     : carp "Produce XHTML or HTML, not $produce.";
-
-    $self;
-}
-
-#------------------------------------------
-
-
-sub textToHtml(@)
-{   my $self  = shift;
-
-    my @lines = @_;    # copy is required
-    foreach (@lines)
-    {   s/\&/&amp;/gs; s/\</&lt;/gs;
-        s/\>/&gt;/gs;  s/\"/&quot;/gs;
-    }
-    wantarray ? @lines : join('', @lines);
-}
-
-#------------------------------------------
-
-
-sub fieldToHtml($;$)
-{   my ($self, $field, $subject) = @_;
-    '<strong>'. $self->textToHtml($field->wellformedName)
-    .': </strong>' . $self->fieldContentsToHtml($field,$subject);
-}
-
-#------------------------------------------
-
-
-sub headToHtmlTable($;$)
-{   my ($self, $head) = (shift, shift);
-    my $tp      = @_ ? ' '.shift : '';
-
-    my $subject;
-    if($self->{MMHC_mailto_subject})
-    {   my $s = $head->get('subject');
-
-        use Mail::Message::Construct;
-        $subject = Mail::Message::Construct->replySubject($s)
-            if defined $subject;
-    }
-
-    my @lines = "<table $tp>\n";
-    foreach my $f ($self->selectedFields($head))
-    {   my $name_html = $self->textToHtml($f->wellformedName);
-        my $cont_html = $self->fieldContentsToHtml($f, $subject);
-        push @lines, qq(<tr><th valign="top" align="left">$name_html:</th>\n)
-                   , qq(    <td valign="top">$cont_html</td></tr>\n);
-    }
-
-    push @lines, "</table>\n";
-    wantarray ? @lines : join('', at lines);
-}
-
-#------------------------------------------
-
-
-sub headToHtmlHead($@)
-{   my ($self, $head) = (shift,shift);
-    my %meta;
-    while(@_) {my $k = shift; $meta{lc $k} = shift }
-
-    my $title = delete $meta{title} || $head->get('subject') || '<no subject>';
-
-    my @lines =
-     ( "<head>\n"
-     , "<title>".$self->textToHtml($title) . "</title>\n"
-     );
-
-    my $author = delete $meta{author};
-    unless(defined $author)
-    {   my $from = $head->get('from');
-        my @addr = defined $from ? $from->addresses : ();
-        $author  = @addr ? $addr[0]->format : undef;
-    }
-
-    push @lines, '<meta name="Author" content="'
-               . $self->textToHtml($author) . "\"$self->{MMCH_tail}\n"
-        if defined $author;
-
-    foreach my $f (map {lc} keys %meta)
-    {   next if $meta{$f} eq '';     # empty is skipped.
-        push @lines, '<meta name="'. ucfirst lc $self->textToHtml($f)
-                   . '" content="'. $self->textToHtml($meta{$f})
-                   ."\"$self->{MMCH_tail}\n";
-    }
-
-    foreach my $f ($self->selectedFields($head))
-    {   next if exists $meta{$f->name};
-        push @lines, '<meta name="' . $self->textToHtml($f->wellformedName)
-                   . '" content="'  . $self->textToHtml($f->content)
-                   . "\"$self->{MMCH_tail}\n";
-    }
-
-    push @lines, "</head>\n";
-    wantarray ? @lines : join('', at lines);
-}
-    
-#------------------------------------------
-
-
-my $atom          = qr/[^()<>@,;:\\".\[\]\s[:cntrl:]]+/;
-my $email_address = qr/(($atom(?:\.$atom)*)\@($atom(?:\.$atom)+))/o;
-
-sub fieldContentsToHtml($;$)
-{   my ($self, $field) = (shift,shift);
-    my $subject = defined $_[0] ? '?subject='.$self->textToHtml(shift) : '';
-
-    my ($body, $comment) = ($self->textToHtml($field->body), $field->comment);
-
-    $body =~ s#$email_address#<a href="mailto:$1$subject">$1</a>#gx
-        if $field->name =~ m/^(resent-)?(to|from|cc|bcc|reply\-to)$/;
-
-    $body . ($comment ? '; '.$self->textToHtml($comment) : '');
-}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/Html.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Convert/Html.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/Html.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Convert/Html.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/Html.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,318 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Convert::Html - Format messages in HTML
-
-
-=head1 INHERITANCE
-
- Mail::Message::Convert::Html
-   is a Mail::Message::Convert
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- use Mail::Message::Convert::Html;
- my $Html = Mail::Message::Convert::Html->new;
-
- print $html->fieldToHtml($head);
- print $html->headToHtmlHead($head);
- print $html->headToHtmlTable($head);
- print $html->textToHtml($text);
-
-
-=head1 DESCRIPTION
-
-The package contains various translators which handle HTML or XHTML
-without the help of external modules.  There are more HTML related modules,
-which do require extra packages to be installed.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Message::Convert::Html-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option       Defined in       Default          
- fields       L<Mail::Message::Convert>  <see description>
- head_mailto                   <true>           
- log          L<Mail::Reporter>  C<'WARNINGS'>    
- produce                       C<HTML>          
- trace        L<Mail::Reporter>  C<'WARNINGS'>    
-
-. fields NAMES|ARRAY-OF-NAMES|REGEXS
-
-. head_mailto BOOLEAN
-
-=over 4
-
-Whether to replace e-mail addresses in some header lines with links.
-
-=back
-
-. log LEVEL
-
-. produce 'HTML'|'XHTML'
-
-=over 4
-
-Produce HTML or XHTML output.  The output is slightly different, even
-html browsers will usually accept the XHTML data.
-
-=back
-
-. trace LEVEL
-
-=back
-
-=head2 Converting
-
-
-$obj-E<gt>B<fieldContentsToHtml>(FIELD, [SUBJECT])
-
-=over 4
-
-Format one field from the header to HTML.  When the header line usually
-contains e-mail addresses, the line is scanned and valid addresses
-are linked with an C<mailto:> anchor.  The SUBJECT can be specified to
-be included in that link.
-
-=back
-
-$obj-E<gt>B<fieldToHtml>(FIELD, [SUBJECT])
-
-=over 4
-
-Reformat one header line field to HTML.  The FIELD's name
-is printed in bold, followed by the formatted field content,
-which is produced by L<fieldContentsToHtml()|Mail::Message::Convert::Html/"Converting">.
-
-=back
-
-$obj-E<gt>B<headToHtmlHead>(HEAD, META)
-
-=over 4
-
-Translate the selected header lines (fields) to an html page header.  Each
-selected field will get its own meta line with the same name as the line.
-Furthermore, the C<Subject> field will become the C<title>,
-and C<From> is used for the C<Author>.
-
-Besides, you can specify your own meta fields, which will overrule header
-fields.  Empty fields will not be included.  When a C<title> is specified,
-this will become the html title, otherwise the C<Subject> field is
-taken.  In list context, the lines are separately, where in scalar context
-the whole text is returned as one.
-
-If you need to add lines to the head (for instance, http-equiv lines), then
-splice them before the last element in the returned list.
-
-I<Example:> 
-
- my @head = $html->headToHtmlHead
-     ( $head
-     , description => 'This is a message'
-     , generator   => 'Mail::Box'
-     );
- splice @head, -1, 0, '<meta http-equiv=...>';
- print @head;
-
-=back
-
-$obj-E<gt>B<headToHtmlTable>(HEAD, [TABLE-PARAMS])
-
-=over 4
-
-Produce a display of the L<selectedFields()|Mail::Message::Convert/"Converting"> of the header in a
-table shape.  The optional TABLE-PARAMS are added as parameters to the
-produced TABLE tag.  In list context, the separate lines are returned.
-In scalar context, everything is returned as one.
-
-I<Example:> 
-
- print $html->headToHtmlTable($head, 'width="50%"');
-
-=back
-
-$obj-E<gt>B<selectedFields>(HEAD)
-
-=over 4
-
-See L<Mail::Message::Convert/"Converting">
-
-=back
-
-$obj-E<gt>B<textToHtml>(LINES)
-
-=over 4
-
-Translate one or more LINES from text into HTML.  Each line is taken one
-after the other, and only simple things are translated.  C<textToHtml>
-is able to convert large plain texts in a descent fashion.  In scalar
-context, the resulting lines are returned as one.
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Convert::Html-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Convert::Html-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Convert::Html-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/Html.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Convert/Html.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/HtmlFormatPS.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Convert/HtmlFormatPS.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/HtmlFormatPS.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,45 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message::Convert::HtmlFormatPS;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Convert';
-
-use Mail::Message::Body::String;
-
-use HTML::TreeBuilder;
-use HTML::FormatText;
-
-
-sub init($)
-{   my ($self, $args)  = @_;
-
-    my @formopts = map { ($_ => delete $args->{$_} ) }
-                       grep m/^[A-Z]/, keys %$args;
-
-    $self->SUPER::init($args);
-
-    $self->{MMCH_formatter} = HTML::FormatPS->new(@formopts);
-    $self;
-}
-
-#------------------------------------------
-
-
-sub format($)
-{   my ($self, $body) = @_;
-
-    my $dec  = $body->encode(transfer_encoding => 'none');
-    my $tree = HTML::TreeBuilder->new_from_file($dec->file);
-
-    (ref $body)->new
-      ( based_on  => $body
-      , mime_type => 'application/postscript'
-      , data     => [ $self->{MMCH_formatter}->format($tree) ]
-      );
-}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/HtmlFormatPS.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Convert/HtmlFormatPS.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/HtmlFormatPS.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Convert/HtmlFormatPS.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/HtmlFormatPS.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,233 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Convert::HtmlFormatPS - Convert HTML into PostScript
-
-
-=head1 INHERITANCE
-
- Mail::Message::Convert::HtmlFormatPS
-   is a Mail::Message::Convert
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- use Mail::Message::Convert::HtmlFormatPS;
- my $af = Mail::Message::Convert::HtmlFormatPS->new;
-
- my $postscript = $af->format($body);
-
-
-=head1 DESCRIPTION
-
-Translate an HTML/XHTML message body into a postscript body
-using HTML::FormatPS.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Message::Convert::HtmlFormatPS-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-OPTIONS which start with capitals are blindly passed to HTML::FormatPS.
-As of this writing, that package
-defines BottomMargin, FontFamily, FontScale, HorizontalMargin, Leading,
-LeftMargin, PageNo, PaperHeight, PaperSize, PaperWidth, RightMargin,
-TopMargin, and VerticalMargin.
-
- Option  Defined in       Default      
- fields  L<Mail::Message::Convert>  <not used>   
- log     L<Mail::Reporter>  C<'WARNINGS'>
- trace   L<Mail::Reporter>  C<'WARNINGS'>
-
-. fields NAMES|ARRAY-OF-NAMES|REGEXS
-
-. log LEVEL
-
-. trace LEVEL
-
-=back
-
-=head2 Converting
-
-
-$obj-E<gt>B<format>(BODY)
-
-=over 4
-
-Pass an html/xhtml encoded body, and a plain text body is returned.
-Characters are translated into Latin1.
-
-=back
-
-$obj-E<gt>B<selectedFields>(HEAD)
-
-=over 4
-
-See L<Mail::Message::Convert/"Converting">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Convert::HtmlFormatPS-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Convert::HtmlFormatPS-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Convert::HtmlFormatPS-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/HtmlFormatPS.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Convert/HtmlFormatPS.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/HtmlFormatText.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Convert/HtmlFormatText.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/HtmlFormatText.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,47 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message::Convert::HtmlFormatText;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Convert';
-
-use Mail::Message::Body::String;
-
-use HTML::TreeBuilder;
-use HTML::FormatText;
-
-
-sub init($)
-{   my ($self, $args)  = @_;
-
-    $self->SUPER::init($args);
-
-    $self->{MMCH_formatter} = HTML::FormatText->new
-     ( leftmargin  => (defined $args->{leftmargin}  ? $args->{leftmargin}  : 3)
-     , rightmargin => (defined $args->{rightmargin} ? $args->{rightmargin} : 72)
-     );
-      
-    $self;
-}
-
-#------------------------------------------
-
-
-sub format($)
-{   my ($self, $body) = @_;
-
-    my $dec  = $body->encode(transfer_encoding => 'none');
-    my $tree = HTML::TreeBuilder->new_from_file($dec->file);
-
-    (ref $body)->new
-      ( based_on  => $body
-      , mime_type => 'text/plain'
-      , charset   => 'iso-8859-1'
-      , data     => [ $self->{MMCH_formatter}->format($tree) ]
-      );
-}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/HtmlFormatText.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Convert/HtmlFormatText.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/HtmlFormatText.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Convert/HtmlFormatText.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/HtmlFormatText.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,248 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Convert::HtmlFormatText - Convert HTML into Text
-
-
-=head1 INHERITANCE
-
- Mail::Message::Convert::HtmlFormatText
-   is a Mail::Message::Convert
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- use Mail::Message::Convert::HtmlFormatText;
- my $af = Mail::Message::Convert::HtmlFormatText->new;
-
- my $plain_body = $af->format($body);
-
-
-=head1 DESCRIPTION
-
-Convert HTML/XHTML message body objects into plain text bodies using
-HTML::FormatText.  This package requires HTML::TreeBuilder and
-HTML::FormatText which are not installed by default together with
-Mail::Box.  See also L<Mail::Message::rebuild()|Mail::Message::Construct::Rebuild/"Constructing a message"> with rule
-C<text_alternative_for_html>.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Message::Convert::HtmlFormatText-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option       Defined in       Default          
- fields       L<Mail::Message::Convert>  <see description>
- leftmargin                    C<3>             
- log          L<Mail::Reporter>  C<'WARNINGS'>    
- rightmargin                   C<72>            
- trace        L<Mail::Reporter>  C<'WARNINGS'>    
-
-. fields NAMES|ARRAY-OF-NAMES|REGEXS
-
-. leftmargin INTEGER
-
-=over 4
-
-The column of the left margin, passed to the formatter.
-
-=back
-
-. log LEVEL
-
-. rightmargin INTEGER
-
-=over 4
-
-The column of the right margin, passed to the formatter.
-
-=back
-
-. trace LEVEL
-
-=back
-
-=head2 Converting
-
-
-$obj-E<gt>B<format>(BODY)
-
-=over 4
-
-Pass an html/xhtml encoded body, and a plain text body is returned.
-Characters are translated into Latin1.
-
-=back
-
-$obj-E<gt>B<selectedFields>(HEAD)
-
-=over 4
-
-See L<Mail::Message::Convert/"Converting">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Convert::HtmlFormatText-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Convert::HtmlFormatText-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Convert::HtmlFormatText-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/HtmlFormatText.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Convert/HtmlFormatText.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/MailInternet.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Convert/MailInternet.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/MailInternet.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,74 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Message::Convert::MailInternet;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Convert';
-
-use Mail::Internet;
-use Mail::Header;
-use Mail::Message;
-use Mail::Message::Head::Complete;
-use Mail::Message::Body::Lines;
-
-use Carp;
-
-
-sub export($@)
-{   my ($thing, $message) = (shift, shift);
-
-    croak "Export message must be a Mail::Message, but is a ".ref($message)."."
-        unless $message->isa('Mail::Message');
-
-    my $mi_head = Mail::Header->new;
-
-    my $head    = $message->head;
-    foreach my $field ($head->orderedFields)
-    {   $mi_head->add($field->Name, scalar $field->foldedBody);
-    }
-
-    Mail::Internet->new
-     ( Header => $mi_head
-     , Body   => [ $message->body->lines ]
-     , @_
-     );
-}
-
-#------------------------------------------
-
-
-my @pref_order = qw/From To Cc Subject Date In-Reply-To References
-    Content-Type Lines Content-Length/;
-
-sub from($@)
-{   my ($thing, $mi) = (shift, shift);
-
-    croak "Converting from Mail::Internet but got a ".ref($mi).'.'
-        unless $mi->isa('Mail::Internet');
-
-    my $head = Mail::Message::Head::Complete->new;
-    my $body = Mail::Message::Body::Lines->new(data => [ @{$mi->body} ]);
-
-    my $mi_head = $mi->head;
-
-    # The tags of Mail::Header are unordered, but we prefer some ordering.
-    my %tags = map {lc $_ => ucfirst $_} $mi_head->tags;
-    my @tags;
-    foreach (@pref_order)
-    {   push @tags, $_ if delete $tags{lc $_};
-    }
-    push @tags, sort values %tags;
-    
-    foreach my $name (@tags)
-    {   $head->add($name, $_)
-            foreach $mi_head->get($name);
-    }
-
-    Mail::Message->new(head => $head, body => $body, @_);
-}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/MailInternet.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Convert/MailInternet.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/MailInternet.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Convert/MailInternet.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/MailInternet.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,252 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Convert::MailInternet - translate Mail::Message to Mail::Internet vv
-
-
-=head1 INHERITANCE
-
- Mail::Message::Convert::MailInternet
-   is a Mail::Message::Convert
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- use Mail::Message::Convert::MailInternet;
- my $convert = Mail::Message::Convert::MailInternet->new;
-
- my Mail::Message  $msg    = Mail::Message->new;
- my Mail::Internet $intern = $convert->export($msg);
-
- my Mail::Internet $intern = Mail::Internet->new;
- my Mail::Message  $msg    = $convert->from($intern);
-
- use Mail::Box::Manager;
- my $mgr     = Mail::Box::Manager->new;
- my $folder  = $mgr->open(folder => 'Outbox');
- $folder->addMessage($intern);
-
-
-=head1 DESCRIPTION
-
-The Mail::Internet class of message is very popular for all
-kinds of message applications written in Perl.  However, the
-format was developed when e-mail messages where still small and
-attachments where rare; Mail::Message is much more flexible in
-this respect.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Message::Convert::MailInternet-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Convert/"METHODS">
-
-=back
-
-=head2 Converting
-
-
-$obj-E<gt>B<export>(MESSAGE, OPTIONS)
-
-=over 4
-
-Returns a new message object based on the information from
-a L<Mail::Message|Mail::Message> object.  The MESSAGE specified is an
-instance of a Mail::Message.
-
-I<Example:> 
-
- my $convert = Mail::Message::Convert::MailInternet->new;
- my Mail::Message  $msg   = Mail::Message->new;
- my Mail::Internet $copy  = $convert->export($msg);
-
-=back
-
-$obj-E<gt>B<from>(OBJECT, OPTIONS)
-
-=over 4
-
-Returns a new Mail::Message object based on the information from
-an message-type which is foreign to the Mail::Box set of modules.
-
-I<Example:> 
-
- my $convert = Mail::Message::Convert::MailInternet->new;
- my Mail::Internet $msg  = Mail::Internet->new;
- my Mail::Message  $copy = $convert->from($msg);
-
-=back
-
-$obj-E<gt>B<selectedFields>(HEAD)
-
-=over 4
-
-See L<Mail::Message::Convert/"Converting">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Convert::MailInternet-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Convert::MailInternet-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Convert::MailInternet-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/MailInternet.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Convert/MailInternet.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/MimeEntity.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Convert/MimeEntity.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/MimeEntity.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,44 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Message::Convert::MimeEntity;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Convert';
-
-use MIME::Entity;
-use MIME::Parser;
-use Mail::Message;
-
-
-sub export($$;$)
-{   my ($self, $message, $parser) = @_;
-    return () unless defined $message;
-
-    $self->log(ERROR =>
-       "Export message must be a Mail::Message, but is a ".ref($message)."."),
-           return
-              unless $message->isa('Mail::Message');
-
-    $parser ||= MIME::Parser->new;
-    $parser->parse($message->file);
-}
-
-#------------------------------------------
-
-
-sub from($)
-{   my ($self, $mime_ent) = @_;
-    return () unless defined $mime_ent;
-
-    $self->log(ERROR =>
-       'Converting from MIME::Entity but got a '.ref($mime_ent).'.'), return
-            unless $mime_ent->isa('MIME::Entity');
-
-    Mail::Message->read($mime_ent->as_string);
-}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/MimeEntity.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Convert/MimeEntity.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/MimeEntity.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Convert/MimeEntity.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/MimeEntity.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,263 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Convert::MimeEntity - translate Mail::Message to MIME::Entity vv
-
-
-=head1 INHERITANCE
-
- Mail::Message::Convert::MimeEntity
-   is a Mail::Message::Convert
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- use Mail::Message::Convert::MimeEntity;
- my $convert = Mail::Message::Convert::MimeEntity->new;
-
- my Mail::Message $msg    = Mail::Message->new;
- my MIME::Entity  $entity = $convert->export($msg);
-
- my MIME::Entity  $entity = MIME::Entity->new;
- my Mail::Message $msg    = $convert->from($entity);
-
- use Mail::Box::Manager;
- my $mgr     = Mail::Box::Manager->new;
- my $folder  = $mgr->open(folder => 'Outbox');
- $folder->addMessage($entity);
-
-
-=head1 DESCRIPTION
-
-The MIME::Entity extends Mail::Internet message with multiparts
-and more methods.  The L<Mail::Message|Mail::Message> objects are more flexible
-in how the message parts are stored, and uses separate header and body
-objects.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Message::Convert::MimeEntity-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Convert/"METHODS">
-
-=back
-
-=head2 Converting
-
-
-$obj-E<gt>B<export>(MESSAGE, [PARSER])
-
-=over 4
-
-Returns a new L<MIME::Entity> message object based on the
-information from the MESSAGE, which is a L<Mail::Message|Mail::Message> object.
-
-You may want to supply your own PARSER, which is a MIME::Parser
-object, to change the parser flags.  Without a PARSER object, one
-is created for you, with all the default settings.
-
-If C<undef> is passed, in place of a MESSAGE, then an empty list is
-returned.  When the parsing failes, then L<MIME::Parser> throws an
-exception.
-
-I<Example:> 
-
- my $convert = Mail::Message::Convert::MimeEntity->new;
- my Mail::Message $msg  = Mail::Message->new;
- my manual MIME::Entity  $copy = $convert->export($msg);
-
-=back
-
-$obj-E<gt>B<from>(MIME-OBJECT)
-
-=over 4
-
-Returns a new L<Mail::Message|Mail::Message> object based on the information from
-the specified L<MIME::Entity>.  If the conversion fails, the C<undef>
-is returned.  If C<undef> is passed in place of an OBJECT, then an
-empty list is returned.
-
-I<Example:> 
-
- my $convert = Mail::Message::Convert::MimeEntity->new;
- my MIME::Entity  $msg  = MIME::Entity->new;
- my Mail::Message $copy = $convert->from($msg);
-
-=back
-
-$obj-E<gt>B<selectedFields>(HEAD)
-
-=over 4
-
-See L<Mail::Message::Convert/"Converting">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Convert::MimeEntity-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Convert::MimeEntity-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Convert::MimeEntity-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Converting from MIME::Entity but got a $type, return
-
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/MimeEntity.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Convert/MimeEntity.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/TextAutoformat.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Convert/TextAutoformat.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/TextAutoformat.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,36 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message::Convert::TextAutoformat;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Convert';
-
-use Mail::Message::Body::String;
-use Text::Autoformat;
-
-
-sub init($)
-{   my ($self, $args)  = @_;
-
-    $self->SUPER::init($args);
-
-    $self->{MMCA_options} = $args->{autoformat} || { all => 1 };
-    $self;
-}
-
-#------------------------------------------
-
-
-sub autoformatBody($)
-{   my ($self, $body) = @_;
-
-    ref($body)->new
-       ( based_on => $body
-       , data     => autoformat($body->string, $self->{MMCA_options})
-       );
-}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/TextAutoformat.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Convert/TextAutoformat.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/TextAutoformat.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Convert/TextAutoformat.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/TextAutoformat.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,238 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Convert::TextAutoformat - Reformat plain text messages
-
-
-=head1 INHERITANCE
-
- Mail::Message::Convert::TextAutoformat
-   is a Mail::Message::Convert
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- use Mail::Message::Convert::TextAutoformat;
- my $af = Mail::Message::Convert::TextAutoformat->new;
-
- my $beautified_body = $af->autoformatBody($body);
-
-
-=head1 DESCRIPTION
-
-Play trics with plain text, for instance bodies with type C<text/plain>
-using Damian Conway's Text::Autoformat.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Message::Convert::TextAutoformat-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option   Defined in       Default          
- fields   L<Mail::Message::Convert>  <see description>
- log      L<Mail::Reporter>  C<'WARNINGS'>    
- options                   C<{ (all, 1) }>  
- trace    L<Mail::Reporter>  C<'WARNINGS'>    
-
-. fields NAMES|ARRAY-OF-NAMES|REGEXS
-
-. log LEVEL
-
-. options HASH-REF
-
-=over 4
-
-Options to pass to Text::Autoformat, when its C<autoformat> method
-is called.
-
-=back
-
-. trace LEVEL
-
-=back
-
-=head2 Converting
-
-
-$obj-E<gt>B<autoformatBody>(BODY)
-
-=over 4
-
-Formats a single message body (a L<Mail::Message::Body|Mail::Message::Body> object)
-into a new body object using Text::Autoformat.  If the
-Text::Autoformat is not installed, C<undef> is returned.
-
-=back
-
-$obj-E<gt>B<selectedFields>(HEAD)
-
-=over 4
-
-See L<Mail::Message::Convert/"Converting">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Convert::TextAutoformat-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Convert::TextAutoformat-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Convert::TextAutoformat-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert/TextAutoformat.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Convert/TextAutoformat.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Convert.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,32 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Message::Convert;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Reporter';
-
-
-sub init($)
-{   my ($self, $args) = @_;
-    $self->SUPER::init($args);
-
-    $self->{MMC_fields}          = $args->{fields}    ||
-       qr#^(Resent\-)?(To|From|Cc|Bcc|Subject|Date)\b#i;
-
-    $self;
-}
-
-#------------------------------------------
-
-
-sub selectedFields($)
-{   my ($self, $head) = @_;
-    $head->grepNames($self->{MMC_fields});
-}
-
-#------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Convert.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Convert.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,277 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Convert - conversions between message types
-
-
-=head1 INHERITANCE
-
- Mail::Message::Convert
-   is a Mail::Reporter
-
- Mail::Message::Convert is extended by
-   Mail::Message::Convert::Html
-   Mail::Message::Convert::HtmlFormatPS
-   Mail::Message::Convert::HtmlFormatText
-   Mail::Message::Convert::MailInternet
-   Mail::Message::Convert::MimeEntity
-   Mail::Message::Convert::TextAutoformat
-
-
-=head1 SYNOPSIS
-
-Available methods are very converter-specific.
-
-
-=head1 DESCRIPTION
-
-This class is the base for various message (and message parts) converters.
-When the conversion does not change the contents of the body, most of
-the converters will return the source object.  In any case, an
-L<Mail::Message::Body|Mail::Message::Body> is returned with the conversion applied but as
-much of the other meta data stored in the source body unchanged.
-
-In most cases, converters are created by Mail::Message when they are
-needed; have a look at the C<encode> and C<decoded> methods on message
-objects.
-
-The following converters are currently available:
-
-=over 4
-
-=item * L<Mail::Message::Convert::Html|Mail::Message::Convert::Html>
-
-Plays tricks with HTML/XMHTML without help of external modules.
-
-=item * L<Mail::Message::Convert::HtmlFormatText|Mail::Message::Convert::HtmlFormatText>
-
-Converts HTML body objects to plain text objects using the
-HTML::FormatText module.
-
-=item * L<Mail::Message::Convert::HtmlFormatPS|Mail::Message::Convert::HtmlFormatPS>
-
-Converts HTML body objects to Postscript objects using the
-HTML::FormatPS module.
-
-=item * L<Mail::Message::Convert::MailInternet|Mail::Message::Convert::MailInternet>
-
-Converts the simple Mail::Internet messages into L<Mail::Message|Mail::Message>
-objects.
-
-=item * L<Mail::Message::Convert::MimeEntity|Mail::Message::Convert::MimeEntity>
-
-Converts the more complicated MIME::Entity messages into
-L<Mail::Message|Mail::Message> objects.
-
-=item * L<Mail::Message::Convert::TextAutoformat|Mail::Message::Convert::TextAutoformat>
-
-Converts a text message into text using Text::Autoformat.
-
-=back
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Message::Convert-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option  Defined in       Default          
- fields                   <see description>
- log     L<Mail::Reporter>  C<'WARNINGS'>    
- trace   L<Mail::Reporter>  C<'WARNINGS'>    
-
-. fields NAMES|ARRAY-OF-NAMES|REGEXS
-
-=over 4
-
-Select the fields of a header which are to be handled.  Other
-fields will not be used.  The value of this option is passed to
-L<Mail::Message::Head::Complete::grepNames()|Mail::Message::Head::Complete/"Access to the header"> whenever converters feel
-a need for header line selection.
-By default, the C<To>, C<From>, C<Cc>, C<Bcc>, C<Date>, C<Subject>, and their
-C<Resent-> counterparts will be selected.  Specify an empty list to get all
-fields.
-
-=back
-
-. log LEVEL
-
-. trace LEVEL
-
-=back
-
-=head2 Converting
-
-
-$obj-E<gt>B<selectedFields>(HEAD)
-
-=over 4
-
-Returns a list of fields to be included in the format.  The list is
-an ordered selection of the fields in the actual header, and filtered
-through the information as specified with L<new(fields)|Mail::Message::Convert/"METHODS">.
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Convert-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Convert-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Convert-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Convert.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Convert.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Dummy.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Dummy.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Dummy.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,45 +0,0 @@
-
-use strict;
-
-package Mail::Message::Dummy;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message';
-
-use Carp;
-
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    @$args{ qw/modified trusted/ } = (0, 1);
-    $self->SUPER::init($args);
-
-    $self->log(ERROR => "Message-Id is required for a dummy.")
-       unless exists $args->{messageId};
-
-    $self;
-}
- 
-#-------------------------------------------
-
-sub isDummy()    { 1 }
-
-#-------------------------------------------
-
-
-sub head()
-{    shift->log(ERROR => "You cannot take the head of a dummy message");
-     ();
-}
-
-#-------------------------------------------
-
-sub body()
-{    shift->log(ERROR => "You cannot take the body of a dummy message");
-     ();
-}
-
-#-------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Dummy.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Dummy.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Dummy.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Dummy.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Dummy.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,898 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Dummy - a placeholder for a missing messages
-
-
-=head1 INHERITANCE
-
- Mail::Message::Dummy
-   is a Mail::Message
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
-
-
-=head1 DESCRIPTION
-
-Dummy messages are used by modules which maintain ordered lists
-of messages, usually based on message-id.  A good example is
-L<Mail::Box::Thread::Manager|Mail::Box::Thread::Manager>, which detects related messages by
-scanning the known message headers for references to other messages.
-As long as the referenced messages are not found inside the mailbox,
-their place is occupied by a dummy.
-
-Be careful when using modules which may create dummies.  Before trying to
-access the header or body use L<isDummy()|Mail::Message/"The message"> to check if the message is a
-dummy message.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"Constructors">
-
-=back
-
-Mail::Message::Dummy-E<gt>B<new>(MESSAGE-ID, OPTIONS)
-
-=over 4
-
-Create a new dummy message to occupy the space for
-a real message with the specified MESSAGE-ID.
-
- Option      Defined in       Default                                                 
- body        L<Mail::Message>  <not used>                                              
- body_type   L<Mail::Message>  L<Mail::Message::Body::Lines|Mail::Message::Body::Lines>
- deleted     L<Mail::Message>  <false>                                                 
- field_type  L<Mail::Message>  <not used>                                              
- head        L<Mail::Message>  <not used>                                              
- head_type   L<Mail::Message>  <not used>                                              
- labels      L<Mail::Message>  {}                                                      
- log         L<Mail::Reporter>  C<'WARNINGS'>                                           
- messageId   L<Mail::Message>  <required>                                              
- modified    L<Mail::Message>  <always false>                                          
- trace       L<Mail::Reporter>  C<'WARNINGS'>                                           
- trusted     L<Mail::Message>  <always true>                                           
-
-. body OBJECT
-
-. body_type CLASS
-
-. deleted BOOLEAN
-
-. field_type CLASS
-
-. head OBJECT
-
-. head_type CLASS
-
-. labels ARRAY|HASH
-
-. log LEVEL
-
-. messageId STRING
-
-. modified BOOLEAN
-
-. trace LEVEL
-
-. trusted BOOLEAN
-
-I<Example:> 
-
- my $message = Mail::Message::Dummy->new($msgid);
- if($message->isDummy) {...}
-
-=back
-
-=head2 Constructing a message
-
-
-$obj-E<gt>B<bounce>([RG-OBJECT|OPTIONS])
-
-=over 4
-
-See L<Mail::Message::Construct::Bounce/"Constructing a message">
-
-=back
-
-Mail::Message::Dummy-E<gt>B<build>([MESSAGE|PART|BODY], CONTENT)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-Mail::Message::Dummy-E<gt>B<buildFromBody>(BODY, [HEAD], HEADERS)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forward>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardAttach>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardEncapsulate>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardInline>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardNo>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPostlude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPrelude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardSubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-Mail::Message::Dummy-E<gt>B<read>(FILEHANDLE|SCALAR|REF-SCALAR|ARRAY-OF-LINES, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Read/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<rebuild>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<reply>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replyPrelude>([STRING|FIELD|ADDRESS|ARRAY-OF-THINGS])
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replySubject>(STRING)
-
-Mail::Message::Dummy-E<gt>B<replySubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-=head2 The message
-
-
-$obj-E<gt>B<container>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isDummy>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isPart>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<messageId>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<send>([MAILER], OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<toplevel>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<write>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<bcc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<cc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<date>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<destinations>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<from>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<get>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<guessTimestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<head>(...)
-
-=over 4
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<sender>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<study>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<subject>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<timestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<to>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-=head2 The body
-
-
-$obj-E<gt>B<body>([BODY])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<decoded>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<encode>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isNested>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<parts>(['ALL'|'ACTIVE'|'DELETED'|'RECURSE'|FILTER])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-=head2 Flags
-
-
-$obj-E<gt>B<delete>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<deleted>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isDeleted>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<label>(LABEL|PAIRS)
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<labels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<labelsToStatus>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<statusToLabels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-=head2 The whole message as text
-
-
-$obj-E<gt>B<file>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<lines>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<printStructure>([FILEHANDLE|undef],[INDENT])
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<clonedFrom>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-Mail::Message::Dummy-E<gt>B<coerce>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readBody>(PARSER, HEAD [, BODYTYPE])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readFromParser>(PARSER, [BODYTYPE])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readHead>(PARSER [,CLASS])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<recursiveRebuildPart>(PART, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Internals">
-
-=back
-
-$obj-E<gt>B<storeBody>(BODY)
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<takeMessageId>([STRING])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Message::Construct/"METHODS">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Dummy-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Dummy-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Dummy-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortSize>([VALUE])
-
-Mail::Message::Dummy-E<gt>B<shortSize>([VALUE])
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortString>
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<destruct>
-
-=over 4
-
-See L<Mail::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot include forward source as $include.
-
-Unknown alternative for the L<forward(include)|Mail::Message::Construct::Forward/"Constructing a message">.  Valid choices are
-C<NO>, C<INLINE>, C<ATTACH>, and C<ENCAPSULATE>.
-
-I<Error:> Cannot include reply source as $include.
-
-Unknown alternative for the C<include> option of L<reply()|Mail::Message::Construct::Reply/"Constructing a message">.  Valid
-choices are C<NO>, C<INLINE>, and C<ATTACH>.
-
-I<Error:> Message-Id is required for a dummy.
-
-A dummy message occupies the place for a real message.  When a dummy is created,
-the id of the message which place it is holding must be known.
-
-I<Error:> No address to create forwarded to.
-
-If a forward message is created, a destination address must be specified.
-
-I<Error:> No default mailer found to send message.
-
-The message L<send()|Mail::Message/"The message"> mechanism had not enough information to automatically
-find a mail transfer agent to sent this message.  Specify a mailer
-explicitly using the C<via> options.
-
-I<Error:> Only build() Mail::Message's; they are not in a folder yet
-
-You may wish to construct a message to be stored in a some kind
-of folder, but you need to do that in two steps.  First, create a
-normal L<Mail::Message|Mail::Message>, and then add it to the folder.  During this
-L<Mail::Box::addMessage()|Mail::Box/"The folder"> process, the message will get L<coerce()|Mail::Message/"Internals">-d
-into the right message type, adding storage information and the like.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> You cannot take the head/body of a dummy message
-
-Dummy messages are place-holders in message threads: the thread detected
-the existence of the message, because it found the message-id in a
-Reply-To or References field, however it did not find the header and
-body of the message yet.  Use L<isDummy()|Mail::Message/"The message"> to check whether the thread
-node returned a dummy or not.
-
-I<Error:> bounce requires To, Cc, or Bcc
-
-The message L<bounce()|Mail::Message::Construct::Bounce/"Constructing a message"> method forwards a received message off to someone
-else without modification; you must specified it's new destination.
-If you have the urge not to specify any destination, you probably
-are looking for L<reply()|Mail::Message::Construct::Reply/"Constructing a message">. When you wish to modify the content, use
-L<forward()|Mail::Message::Construct::Forward/"Constructing a message">.
-
-I<Error:> forwardAttach requires a preamble object
-
-
-I<Error:> forwardEncapsulate requires a preamble object
-
-
-I<Error:> no rebuild rule $name defined.
-
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Dummy.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Dummy.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/AddrGroup.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Field/AddrGroup.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/AddrGroup.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,72 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message::Field::AddrGroup;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'User::Identity::Collection::Emails';
-
-
-use overload '""' => 'string';
-
-#------------------------------------------
-
-
-sub string()
-{   my $self = shift;
-    my $name = $self->name;
-    my @addr = sort map {$_->string} $self->addresses;
-
-    local $" = ', ';
-
-      length $name  ? "$name: @addr;"
-    : @addr         ? "@addr"
-    :                 '';
-}
-
-#------------------------------------------
-
-
-sub coerce($@)
-{  my ($class, $addr, %args) = @_;
-
-   return () unless defined $addr;
-
-   if(ref $addr)
-   {  return $addr if $addr->isa($class);
-
-      return bless $addr, $class
-          if $addr->isa('User::Identity::Collection::Emails');
-   }
-
-   $class->log(ERROR => "Cannot coerce a ".(ref($addr)|'string').
-                        " into a $class");
-   ();
-}
-
-
-#------------------------------------------
-
-
-sub addAddress(@)
-{   my $self  = shift;
-
-    my $addr
-     = @_ > 1    ? Mail::Message::Field::Address->new(@_)
-     : !$_[0]    ? return ()
-     :             Mail::Message::Field::Address->coerce(shift);
-
-    $self->addRole($addr);
-    $addr;
-}
-
-#------------------------------------------
-
-
-# roles are stored in a hash, so produce
-sub addresses() { shift->roles }
-
-#------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/AddrGroup.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Field/AddrGroup.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/AddrGroup.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Field/AddrGroup.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/AddrGroup.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,344 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Field::AddrGroup - A group of Mail::Message::Field::Address objects
-
-
-=head1 INHERITANCE
-
- Mail::Message::Field::AddrGroup
-   is a User::Identity::Collection::Emails
-   is a User::Identity::Collection
-   is a User::Identity::Item
-
-
-=head1 SYNOPSIS
-
- my $g = Mail::Message::Field::AddrGroup->new(name => 'name');
-
- my $a = Mail::Message::Field::Address->new(...);
- $g->addAddress($a);
- 
- my $f = Mail::Message::Field::Addresses->new;
- $f->addGroup($g);
-
-
-=head1 DESCRIPTION
-
-An address group collects a set of e-mail addresses (in this case they
-are L<Mail::Message::Field::Address|Mail::Message::Field::Address> objects).
-
-
-=head1 OVERLOADED
-
-
-overload: B<@{}>
-
-=over 4
-
-See L<User::Identity::Collection/"OVERLOADED">
-
-=back
-
-overload: B<stringification>
-
-=over 4
-
-Returns the L<string()|Mail::Message::Field::AddrGroup/"METHODS"> value.
-
-=back
-
-
-=head1 METHODS
-
-
-$obj-E<gt>B<string>
-
-=over 4
-
-Returns the address group as string.  When no name is specified, it will
-only be a comma separated list of addresses.  With a name, the groups
-name will be prepended and a semi-colon appended.  When no addresses
-where included and there is no name, then C<undef> is returned.
-
-=back
-
-=head2 Constructors
-
-
-$obj-E<gt>B<coerce>(OBJECT)
-
-=over 4
-
-Coerce an OBJECT into a L<Mail::Message::Field::AddrGroup|Mail::Message::Field::AddrGroup>.  Currently,
-you can only coerce L<User::Identity::Collection::Emails|User::Identity::Collection::Emails> (which is
-the base class for this one) into this one.
-
-=back
-
-Mail::Message::Field::AddrGroup-E<gt>B<new>([NAME], OPTIONS)
-
-=over 4
-
-See L<User::Identity::Collection::Emails/"Constructors">
-
-=back
-
-=head2 Attributes
-
-
-$obj-E<gt>B<description>
-
-=over 4
-
-See L<User::Identity::Item/"Attributes">
-
-=back
-
-$obj-E<gt>B<itemType>
-
-=over 4
-
-See L<User::Identity::Collection/"Attributes">
-
-=back
-
-$obj-E<gt>B<name>([NEWNAME])
-
-=over 4
-
-See L<User::Identity::Item/"Attributes">
-
-=back
-
-$obj-E<gt>B<roles>
-
-=over 4
-
-See L<User::Identity::Collection/"Attributes">
-
-=back
-
-=head2 Collections
-
-
-$obj-E<gt>B<add>(COLLECTION, ROLE)
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<addCollection>(OBJECT | ([TYPE], OPTIONS))
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<collection>(NAME)
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<parent>([PARENT])
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<removeCollection>(OBJECT|NAME)
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<type>
-
-Mail::Message::Field::AddrGroup-E<gt>B<type>
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<user>
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-=head2 Maintaining roles
-
-
-$obj-E<gt>B<addRole>(ROLE| ( [NAME],OPTIONS ) | ARRAY-OF-OPTIONS)
-
-=over 4
-
-See L<User::Identity::Collection/"Maintaining roles">
-
-=back
-
-$obj-E<gt>B<removeRole>(ROLE|NAME)
-
-=over 4
-
-See L<User::Identity::Collection/"Maintaining roles">
-
-=back
-
-$obj-E<gt>B<renameRole>(ROLE|OLDNAME, NEWNAME)
-
-=over 4
-
-See L<User::Identity::Collection/"Maintaining roles">
-
-=back
-
-$obj-E<gt>B<sorted>
-
-=over 4
-
-See L<User::Identity::Collection/"Maintaining roles">
-
-=back
-
-=head2 Searching
-
-
-$obj-E<gt>B<find>(NAME|CODE|undef)
-
-=over 4
-
-See L<User::Identity::Collection/"Searching">
-
-=back
-
-=head2 Addresses
-
-
-$obj-E<gt>B<addAddress>(STRING|ADDRESS|OPTIONS)
-
-=over 4
-
-Add one e-mail address to the list which is maintained in the group. This
-is a wrapper around L<addRole()|User::Identity::Collection/"Maintaining roles"> adding flexibility on how addresses
-are specified.  An ADDRESS can be anything which is acceptable for
-L<Mail::Message::Field::Address::coerce()|Mail::Message::Field::Address/"Constructors"> or a list of options which
-will create such an object.
-
-I<Example:> of adding an address to an address group
-
-
- my @data = (full_name => "Myself", address => 'me at tux.org');
- $group->addAddress(@data);
-
- my $addr = Mail::Message::Field::Address->new(@data);
- $group->addAddress(@data);
-
- my $ma = Mail::Address->new(...);
- $group->addAddress($ma);
-
-=back
-
-$obj-E<gt>B<addresses>
-
-=over 4
-
-Returns all addresses defined in this group.  The addresses will be
-ordered alphabetically to make automated testing possible: roles are
-stored in a hash, so have an unpredictable order by default.
-
-I<Example:> getting all addresses from a group
-
-
- my @addrs = $group->addresses;
- my @addrs = map { $_->address } $self->roles; #same
-
-=back
-
-=head2 Error handling
-
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> $object is not a collection.
-
-The first argument is an object, but not of a class which extends
-L<User::Identity::Collection|User::Identity::Collection>.
-
-I<Error:> Cannot coerce a $type into a Mail::Message::Field::AddrGroup
-
-
-I<Error:> Cannot create a $type to add this to my collection.
-
-Some options are specified to create a $type object, which is native to
-this collection.  However, for some reason this failed.
-
-I<Error:> Cannot load collection module for $type ($class).
-
-Either the specified $type does not exist, or that module named $class returns
-compilation errors.  If the type as specified in the warning is not
-the name of a package, you specified a nickname which was not defined.
-Maybe you forgot the 'require' the package which defines the nickname.
-
-I<Error:> Cannot rename $name into $newname: already exists
-
-
-I<Error:> Cannot rename $name into $newname: doesn't exist
-
-
-I<Error:> Creation of a collection via $class failed.
-
-The $class did compile, but it was not possible to create an object
-of that class using the options you specified.
-
-I<Error:> Don't know what type of collection you want to add.
-
-If you add a collection, it must either by a collection object or a
-list of options which can be used to create a collection object.  In
-the latter case, the type of collection must be specified.
-
-I<Warning:> No collection $name
-
-The collection with $name does not exist and can not be created.
-
-I<Error:> Wrong type of role for $collection: requires a $expect but got a $type
-
-Each $collection groups sets of roles of one specific type ($expect).  You
-cannot add objects of a different $type.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/AddrGroup.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Field/AddrGroup.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Address.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Address.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Address.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,68 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message::Field::Address;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Identity';
-
-use Mail::Message::Field::Addresses;
-use Mail::Message::Field::Full;
-my $format = 'Mail::Message::Field::Full';
-
-
-use overload '""' => 'string'
-           , bool => sub {1}
-           ;
-
-#------------------------------------------
-
-
-sub coerce($@)
-{  my ($class, $addr, %args) = @_;
-   return () unless defined $addr;
-
-   return $class->parse($addr) unless ref $addr;
-
-   return $addr if $addr->isa($class);
-
-   my $from = $class->from($addr);
-
-   Mail::Reporter->log(ERROR => "Cannot coerce a ".ref($addr)." into a $class"),
-      return () unless defined $from;
-
-   bless $from, $class;
-}
-
-#------------------------------------------
-
-
-sub parse($)
-{   my $self   = shift;
-    my $parsed = Mail::Message::Field::Addresses->new('To' => shift);
-    defined $parsed ? ($parsed->addresses)[0] : ();
-}
-
-#------------------------------------------
-
-
-sub string()
-{   my $self  = shift;
-    my @opts  = (charset => $self->charset); # language => $self->language
-
-    my @parts;
-    my $name    = $self->phrase;
-    push @parts, $format->createPhrase($name, @opts) if defined $name;
-
-    my $address = $self->address;
-    push @parts, @parts ? '<'.$address.'>' : $address;
-
-    my $comment = $self->comment;
-    push @parts, $format->createComment($comment, @opts) if defined $comment;
-
-    join ' ', @parts;
-}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Address.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Address.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Address.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Address.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Address.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,343 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Field::Address - One e-mail address
-
-
-=head1 INHERITANCE
-
- Mail::Message::Field::Address
-   is a Mail::Identity
-   is a User::Identity::Item
-
-
-=head1 SYNOPSIS
-
- my $addr = Mail::Message::Field::Address->new(...);
-
- my $ui   = User::Identity->new(...);
- my $addr = Mail::Message::Field::Address->coerce($ui);
-
- my $mi   = Mail::Identity->new(...);
- my $addr = Mail::Message::Field::Address->coerce($mi);
-
- print $addr->address;
- print $addr->fullName;   # possibly unicode!
- print $addr->domain;
-
-
-=head1 DESCRIPTION
-
-Many header fields can contain e-mail addresses.  Each e-mail address
-can be represented by an object of this class.  These objects will
-handle interpretation and character set encoding and decoding for you.
-
-
-=head1 OVERLOADED
-
-
-overload: B<boolean>
-
-=over 4
-
-The object used as boolean will always return C<true>
-
-=back
-
-overload: B<stringification>
-
-=over 4
-
-When the object is used in string context, it will return the encoded
-representation of the e-mail address, just like L<string()|Mail::Message::Field::Address/"Access to the content"> does.
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<coerce>(STRING|OBJECT, OPTIONS)
-
-=over 4
-
-Try to coerce the OBJECT into a C<Mail::Message::Field::Address>.
-In case of a STRING, it is interpreted as an email address.
-
-The OPTIONS are passed to the object creation, and overrule the values
-found in the OBJECT.  The result may be C<undef> or a newly created
-object.  If the OBJECT is already of the correct type, it is returned
-unmodified.
-
-The OBJECT may currently be a Mail::Address, a L<Mail::Identity|Mail::Identity>, or
-a L<User::Identity|User::Identity>.  In case of the latter, one of the user's addresses
-is chosen at random.
-
-=back
-
-$obj-E<gt>B<from>(OBJECT)
-
-=over 4
-
-See L<Mail::Identity/"Constructors">
-
-=back
-
-Mail::Message::Field::Address-E<gt>B<new>([NAME], OPTIONS)
-
-=over 4
-
-See L<Mail::Identity/"METHODS">
-
-=back
-
-$obj-E<gt>B<parse>(STRING)
-
-=over 4
-
-Parse the string for an address.  You never know whether one or more
-addresses are specified on a line (often applications are wrong), therefore,
-the STRING is first parsed for as many addresses as possible and then the
-one is taken at random.
-
-=back
-
-=head2 Attributes
-
-
-$obj-E<gt>B<address>
-
-=over 4
-
-See L<Mail::Identity/"Attributes">
-
-=back
-
-$obj-E<gt>B<charset>
-
-=over 4
-
-See L<Mail::Identity/"Attributes">
-
-=back
-
-$obj-E<gt>B<comment>([STRING])
-
-=over 4
-
-See L<Mail::Identity/"Attributes">
-
-=back
-
-$obj-E<gt>B<description>
-
-=over 4
-
-See L<User::Identity::Item/"Attributes">
-
-=back
-
-$obj-E<gt>B<domain>
-
-=over 4
-
-See L<Mail::Identity/"Attributes">
-
-=back
-
-$obj-E<gt>B<language>
-
-=over 4
-
-See L<Mail::Identity/"Attributes">
-
-=back
-
-$obj-E<gt>B<location>
-
-=over 4
-
-See L<Mail::Identity/"Attributes">
-
-=back
-
-$obj-E<gt>B<name>([NEWNAME])
-
-=over 4
-
-See L<User::Identity::Item/"Attributes">
-
-=back
-
-$obj-E<gt>B<organization>
-
-=over 4
-
-See L<Mail::Identity/"Attributes">
-
-=back
-
-$obj-E<gt>B<phrase>
-
-=over 4
-
-See L<Mail::Identity/"Attributes">
-
-=back
-
-$obj-E<gt>B<username>
-
-=over 4
-
-See L<Mail::Identity/"Attributes">
-
-=back
-
-=head2 Collections
-
-
-$obj-E<gt>B<add>(COLLECTION, ROLE)
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<addCollection>(OBJECT | ([TYPE], OPTIONS))
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<collection>(NAME)
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<find>(COLLECTION, ROLE)
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<parent>([PARENT])
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<removeCollection>(OBJECT|NAME)
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<type>
-
-Mail::Message::Field::Address-E<gt>B<type>
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-$obj-E<gt>B<user>
-
-=over 4
-
-See L<User::Identity::Item/"Collections">
-
-=back
-
-=head2 Access to the content
-
-
-$obj-E<gt>B<string>
-
-=over 4
-
-Returns an RFC compliant e-mail address, which will have character
-set encoding if needed.  The objects are also overloaded to call
-this method in string context.
-
-I<Example:> 
-
- print $address->string;
- print $address;          # via overloading
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> $object is not a collection.
-
-The first argument is an object, but not of a class which extends
-L<User::Identity::Collection|User::Identity::Collection>.
-
-I<Error:> Cannot coerce a $type into a Mail::Message::Field::Address
-
-When addresses are specified to be included in header fields, they may
-be coerced into L<Mail::Message::Field::Address|Mail::Message::Field::Address> objects first.  What
-you specify is not accepted as address specification.  This may be an
-internal error.
-
-I<Error:> Cannot load collection module for $type ($class).
-
-Either the specified $type does not exist, or that module named $class returns
-compilation errors.  If the type as specified in the warning is not
-the name of a package, you specified a nickname which was not defined.
-Maybe you forgot the 'require' the package which defines the nickname.
-
-I<Error:> Creation of a collection via $class failed.
-
-The $class did compile, but it was not possible to create an object
-of that class using the options you specified.
-
-I<Error:> Don't know what type of collection you want to add.
-
-If you add a collection, it must either by a collection object or a
-list of options which can be used to create a collection object.  In
-the latter case, the type of collection must be specified.
-
-I<Warning:> No collection $name
-
-The collection with $name does not exist and can not be created.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Address.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Address.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Addresses.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Addresses.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Addresses.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,234 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message::Field::Addresses;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Field::Structured';
-
-use Mail::Message::Field::AddrGroup;
-use Mail::Message::Field::Address;
-use List::Util 'first';
-
-
-#------------------------------------------
-# what is permitted for each field.
-
-my $address_list = {groups => 1, multi => 1};
-my $mailbox_list = {multi => 1};
-my $mailbox      = {};
-
-my %accepted     =    # defaults to $address_list
- ( from       => $mailbox_list
- , sender     => $mailbox
- );
-
-
-#------------------------------------------
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    $self->{MMFF_groups}   = [];
-
-    ( my $def = lc $args->{name} ) =~ s/^resent\-//;
-    $self->{MMFF_defaults} = $accepted{$def} || $address_list;
-
-    my ($body, @body);
-    if($body = $args->{body})
-    {   @body = ref $body eq 'ARRAY' ? @$body : ($body);
-        return () unless @body;
-    }
-
-    if(@body > 1 || ref $body[0])
-    {   $self->addAddress($_) foreach @body;
-        delete $args->{body};
-    }
-
-    $self->SUPER::init($args) or return;
-    $self;
-}
-
-#------------------------------------------
-
-
-sub addAddress(@)
-{   my $self  = shift;
-    my $email = @_ && ref $_[0] ? shift : undef;
-    my %args  = @_;
-    my $group = delete $args{group} || '';
-
-    $email = Mail::Message::Field::Address->new(%args)
-        unless defined $email;
-
-    my $set = $self->group($group) || $self->addGroup(name => $group);
-    $set->addAddress($email);
-}
-
-#------------------------------------------
-
-
-sub addGroup(@)
-{   my $self  = shift;
-    my $group = @_ == 1 ? shift
-              : Mail::Message::Field::AddrGroup->new(@_);
-
-    push @{$self->{MMFF_groups}}, $group;
-    $group;
-}
-
-#------------------------------------------
-
-
-sub group($)
-{   my ($self, $name) = @_;
-    $name = '' unless defined $name;
-    first { lc($_->name) eq lc($name) } $self->groups;
-}
-
-#------------------------------------------
-
-
-sub groups() { @{shift->{MMFF_groups}} }
-
-#------------------------------------------
-
-
-sub groupNames() { map {$_->name} shift->groups }
-
-#------------------------------------------
-
-
-sub addresses() { map {$_->addresses} shift->groups }
-
-#------------------------------------------
-
-
-sub addAttribute($;@)
-{   my $self = shift;
-    $self->log(ERROR => 'No attributes for address fields.');
-    $self;
-}
-
-#------------------------------------------
-
-
-sub parse($)
-{   my ($self, $string) = @_;
-    my ($group, $email) = ('', undef);
-
-    while(1)
-    {   (my $comment, $string) = $self->consumeComment($string);
-
-        if($string =~ s/^\s*\;//s ) { $group = ''; next }  # end group
-        if($string =~ s/^\s*\,//s ) { next }               # end address
-
-        (my $email, $string) = $self->consumeAddress($string);
-        if(defined $email)
-        {   # Pattern starts with e-mail address
-            ($comment, $string) = $self->consumeComment($string);
-            $email->comment($comment) if defined $comment;
-        }
-        else
-        {   # Pattern not plain address
-            my $real_phrase = $string =~ m/^\s*\"/;
-            (my $phrase, $string) = $self->consumePhrase($string);
-
-            if(defined $phrase)
-            {   ($comment, $string) = $self->consumeComment($string);
-
-                if($string =~ s/^\s*\://s )
-                {   $group = $phrase;
-                    # even empty groups must appear
-                    $self->addGroup(name=>$group) unless $self->group($group);
-                    next;
-                }
-            }
-
-            my $angle;
-            if($string =~ s/^\s*\<([^>]*)\>//s) { $angle = $1 }
-            elsif($real_phrase)
-            {   $self->log(ERROR => "Ignore unrelated phrase $string");
-                next;
-            }
-            elsif(defined $phrase)
-            {   ($angle = $phrase) =~ s/\s+/./g;
-                undef $phrase;
-            }
-
-            ($comment, $string) = $self->consumeComment($string);
-
-            # remove obsoleted route info.
-            return 1 unless defined $angle;
-            $angle =~ s/^\@.*?\://;
-
-            ($email, $angle) = $self->consumeAddress($angle
-                , phrase => $phrase, comment => $comment);
-        }
-
-        $self->addAddress($email, group => $group) if defined $email;
-        return 1 if $string =~ m/^\s*$/s;
-   }
-
-   $self->log(WARNING => 'Illegal part in address field '.$self->Name.
-        ": $string\n");
-
-   0;
-}
-
-#------------------------------------------
-
-sub produceBody()
-{  my @groups = sort {$a->name cmp $b->name} shift->groups;
-
-   return undef unless @groups;
-   return $groups[0]->string if @groups==1;
-
-   my $plain
-    = $groups[0]->name eq '' && $groups[0]->addresses
-    ? (shift @groups)->string.','
-    : '';
-
-   join ' ', $plain, map({$_->string} @groups);
-}
-
-#------------------------------------------
-
-
-sub consumeAddress($@)
-{   my ($self, $string, @options) = @_;
-
-    my ($local, $shorter, $loccomment) = $self->consumeDotAtom($string);
-    $local =~ s/\s//g if defined $local;
-
-    return (undef, $string)
-        unless defined $local && $shorter =~ s/^\s*\@//;
-  
-    (my $domain, $shorter, my $domcomment) = $self->consumeDomain($shorter);
-    return (undef, $string) unless defined $domain;
-
-    # loccomment and domcomment ignored
-    my $email   = Mail::Message::Field::Address->new
-     ( username => $local, domain => $domain, @options);
-
-    ($email, $shorter);
-}
-
-#------------------------------------------
-
-
-sub consumeDomain($)
-{   my ($self, $string) = @_;
-
-    return ($self->stripCFWS($1), $string)
-        if $string =~ s/\s*(\[(?:[^[]\\]*|\\.)*\])//;
-
-    my ($atom, $rest, $comment) = $self->consumeDotAtom($string);
-    $atom =~ s/\s//g if defined $atom;
-    ($atom, $rest, $comment);
-}
-
-#------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Addresses.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Addresses.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Addresses.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Addresses.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Addresses.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,809 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Field::Addresses - Fields with e-mail addresses
-
-
-=head1 INHERITANCE
-
- Mail::Message::Field::Addresses
-   is a Mail::Message::Field::Structured
-   is a Mail::Message::Field::Full
-   is a Mail::Message::Field
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my $f = Mail::Message::Field->new(Cc =>
-                'Mail::Box <mailbox at overmeer.net>');
-
- my $cc = Mail::Message::Field->new('Cc');
- $cc->addAddress('Mail::Box <mailbox at overmeer.net>');
- $cc->addAddress
-   ( phrase  => 'Mail::Box'
-   , email   => 'mailbox at overmeer.net'
-   , comment => 'Our mailing list'     # deprecated by RFC
-   );
-
- mu $ma = Mail::Message::Field::Address->new(...);
- $cc->addAddress($ma);
-
- my $mi = Mail::Identity->new(...);
- $cc->addAddress($mi);
-
- my $g  = Mail::Message::Field::AddrGroup->new(...);
- $cc->addGroup($g);
-
-
-=head1 DESCRIPTION
-
-All header fields which contain e-mail addresses only.  Not all address
-fields have the same possibilities, but they are all parsed the same:
-you never know how broken the applications are which produce those
-messages.
-
-When you try to create constructs which are not allowed for a certain
-kind of field, you will be warned.
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<+0>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<<=>>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<bool>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<cmp>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<stringification>
-
-=over 4
-
-See L<Mail::Message::Field::Full/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>
-
-=over 4
-
-See L<Mail::Message::Field/"Constructors">
-
-=back
-
-Mail::Message::Field::Addresses-E<gt>B<from>(FIELD, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Constructors">
-
-=back
-
-Mail::Message::Field::Addresses-E<gt>B<new>
-
-=over 4
-
- Option      Defined in       Default      
- attributes  L<Mail::Message::Field::Structured>  <ignored>    
- charset     L<Mail::Message::Field::Full>  undef        
- datum       L<Mail::Message::Field::Structured>  C<undef>     
- encoding    L<Mail::Message::Field::Full>  C<'q'>       
- force       L<Mail::Message::Field::Full>  false        
- language    L<Mail::Message::Field::Full>  undef        
- log         L<Mail::Reporter>  C<'WARNINGS'>
- trace       L<Mail::Reporter>  C<'WARNINGS'>
-
-. attributes ATTRS
-
-. charset STRING
-
-. datum STRING
-
-. encoding 'q'|'Q'|'b'|'B'
-
-. force BOOLEAN
-
-. language STRING
-
-. log LEVEL
-
-. trace LEVEL
-
-=back
-
-=head2 The field
-
-
-$obj-E<gt>B<isStructured>
-
-Mail::Message::Field::Addresses-E<gt>B<isStructured>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<length>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<string>([WRAP])
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<toDisclose>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-=head2 Access to the name
-
-
-$obj-E<gt>B<Name>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the name">
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the name">
-
-=back
-
-$obj-E<gt>B<wellformedName>([STRING])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the name">
-
-=back
-
-=head2 Access to the body
-
-
-$obj-E<gt>B<body>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<decodedBody>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Access to the body">
-
-=back
-
-$obj-E<gt>B<folded>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<foldedBody>([BODY])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<stripCFWS>([STRING])
-
-Mail::Message::Field::Addresses-E<gt>B<stripCFWS>([STRING])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<unfoldedBody>([BODY, [WRAP]])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-=head2 Access to the content
-
-
-$obj-E<gt>B<addAddress>([ADDRESS], OPTIONS)
-
-=over 4
-
-Add an ADDRESS to the field.  The addresses are organized in groups.  If no
-group is specified, the default group is taken to store the address in.  If
-no ADDRESS is specified, the option must be sufficient to create a
-L<Mail::Message::Field::Address|Mail::Message::Field::Address> from.  See the OPTIONS of
-L<Mail::Message::Field::Address::new()|Mail::Identity/"METHODS">.
-
- Option  Defined in  Default
- group               C<''>  
-
-. group STRING
-
-=back
-
-$obj-E<gt>B<addAttribute>(...)
-
-=over 4
-
-Attributes are not supported for address fields.
-
-=back
-
-$obj-E<gt>B<addGroup>(GROUP|OPTIONS)
-
-=over 4
-
-Add a group of addresses to this field.  A GROUP can be specified, which
-is a L<Mail::Message::Field::AddrGroup|Mail::Message::Field::AddrGroup> object, or one is created for you
-using the OPTIONS.  The group is returned.
-
- Option  Defined in  Default
- name                C<''>  
-
-. name STRING
-
-=back
-
-$obj-E<gt>B<addresses>
-
-=over 4
-
-Returns a list with all addresses defined in any group of addresses:
-all addresses which are specified on the line.  The addresses are
-L<Mail::Message::Field::Address|Mail::Message::Field::Address> objects.
-
-I<Example:> 
-
- my @addr = $field->addresses;
-
-=back
-
-$obj-E<gt>B<attribute>(OBJECT|(STRING, OPTIONS)|(NAME,VALUE,OPTIONS))
-
-=over 4
-
-See L<Mail::Message::Field::Structured/"Access to the content">
-
-=back
-
-$obj-E<gt>B<attributes>
-
-=over 4
-
-See L<Mail::Message::Field::Structured/"Access to the content">
-
-=back
-
-$obj-E<gt>B<beautify>
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Access to the content">
-
-=back
-
-$obj-E<gt>B<comment>([STRING])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<createComment>(STRING, OPTIONS)
-
-Mail::Message::Field::Addresses-E<gt>B<createComment>(STRING, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Access to the content">
-
-=back
-
-$obj-E<gt>B<createPhrase>(STRING, OPTIONS)
-
-Mail::Message::Field::Addresses-E<gt>B<createPhrase>(STRING, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Access to the content">
-
-=back
-
-$obj-E<gt>B<group>(NAME)
-
-=over 4
-
-Returns the group of addresses with the specified NAME, or C<undef>
-if it does not exist.  If NAME is C<undef>, then the default groep
-is returned.
-
-=back
-
-$obj-E<gt>B<groupNames>
-
-=over 4
-
-Returns a list with all group names which are defined.
-
-=back
-
-$obj-E<gt>B<groups>
-
-=over 4
-
-Returns all address groups which are defined in this field.  Each
-element is a L<Mail::Message::Field::AddrGroup|Mail::Message::Field::AddrGroup> object.
-
-=back
-
-$obj-E<gt>B<study>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<toDate>([TIME])
-
-Mail::Message::Field::Addresses-E<gt>B<toDate>([TIME])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<toInt>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-=head2 Other methods
-
-
-$obj-E<gt>B<dateToTimestamp>(STRING)
-
-Mail::Message::Field::Addresses-E<gt>B<dateToTimestamp>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field/"Other methods">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<consume>(LINE | (NAME,BODY|OBJECTS))
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<decode>(STRING, OPTIONS)
-
-Mail::Message::Field::Addresses-E<gt>B<decode>(STRING, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Internals">
-
-=back
-
-$obj-E<gt>B<defaultWrapLength>([LENGTH])
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<encode>(STRING, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Internals">
-
-=back
-
-$obj-E<gt>B<fold>(NAME, BODY, [MAXCHARS])
-
-Mail::Message::Field::Addresses-E<gt>B<fold>(NAME, BODY, [MAXCHARS])
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<setWrapLength>([LENGTH])
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<stringifyData>(STRING|ARRAY|OBJECTS)
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<unfold>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-=head2 Parsing
-
-
-$obj-E<gt>B<consumeAddress>(STRING, OPTIONS)
-
-=over 4
-
-Try to destilate address information from the STRING.   Returned are
-an address B<object> and the left-over string.  If no address was found,
-the first returned value is C<undef>.
-
-=back
-
-$obj-E<gt>B<consumeComment>(STRING)
-
-Mail::Message::Field::Addresses-E<gt>B<consumeComment>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Parsing">
-
-=back
-
-$obj-E<gt>B<consumeDomain>(STRING)
-
-=over 4
-
-Try to get a valid domain representation from STRING.  Returned are the
-domain string as found (or C<undef>) and the rest of the string.
-
-=back
-
-$obj-E<gt>B<consumeDotAtom>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Parsing">
-
-=back
-
-$obj-E<gt>B<consumePhrase>(STRING)
-
-Mail::Message::Field::Addresses-E<gt>B<consumePhrase>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Parsing">
-
-=back
-
-$obj-E<gt>B<datum>([VALUE])
-
-=over 4
-
-See L<Mail::Message::Field::Structured/"Parsing">
-
-=back
-
-$obj-E<gt>B<parse>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Parsing">
-
-=back
-
-$obj-E<gt>B<produceBody>
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Parsing">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Field::Addresses-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Field::Addresses-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Field::Addresses-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> Field content is not numerical: $content
-
-The numeric value of a field is requested (for instance the C<Lines> or
-C<Content-Length> fields should be numerical), however the data contains
-weird characters.
-
-I<Warning:> Illegal character in charset '$charset'
-
-The field is created with an utf8 string which only contains data from the
-specified character set.  However, that character set can never be a valid
-name because it contains characters which are not permitted.
-
-I<Warning:> Illegal character in field name $name
-
-A new field is being created which does contain characters not permitted
-by the RFCs.  Using this field in messages may break other e-mail clients
-or transfer agents, and therefore mutulate or extinguish your message.
-
-I<Warning:> Illegal character in language '$lang'
-
-The field is created with data which is specified to be in a certain language,
-however, the name of the language cannot be valid: it contains characters
-which are not permitted by the RFCs.
-
-I<Warning:> Illegal encoding '$encoding', used 'q'
-
-The RFCs only permit base64 (C<b > or C<B >) or quoted-printable
-(C<q> or C<Q>) encoding.  Other than these four options are illegal.
-
-I<Error:> No attributes for address fields.
-
-Is is not possible to add attributes to address fields: it is not permitted
-by the RFCs.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Addresses.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Addresses.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Attribute.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Attribute.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Attribute.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,214 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message::Field::Attribute;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Reporter';
-use 5.007003;
-use Encode ();
-
-use Carp;
-
-
-sub new($$@)
-{   my ($class, $attr) = (shift, shift);
-    my $value = @_ % 2 == 1 ? shift : undef;
-    $class->SUPER::new(attr => $attr, value => $value, @_);
-}
-
-sub init($$)
-{   my ($self, $args)  = @_;
-    $self->SUPER::init($args);
-
-    my ($attr, $value, $cont) = @$args{ qw/attr value use_continuations/ };
-
-    my $name  = ($attr =~ m/^(.*?)(?:\*\d+)?\*?\=/ ? $1 : $attr);
-    $self->log(WARNING => "Illegal character in parameter name '$name'.")
-        if $name !~ m/^[!#-'*+\-.0-9A-Z^-~]+$/;
-
-    $self->{MMFF_name}     = $name;
-    $self->{MMFF_usecont}  = defined $cont ? $cont : 1;
-    $self->{MMFF_charset}  = $args->{charset}  if defined $args->{charset};
-    $self->{MMFF_language} = $args->{language} if defined $args->{language};
-
-    $self->value($value)       if defined $value;
-    $self->addComponent($attr) unless $attr eq $name;
-
-    $self;
-}
-
-#------------------------------------------
-
-
-sub name() { shift->{MMFF_name} }
-
-#------------------------------------------
-
-
-sub value(;$)
-{   my $self = shift;
-    if(@_)
-    {   delete $self->{MMFF_cont};
-        return $self->{MMFF_value} = shift;
-    }
-      
-    exists $self->{MMFF_value} ? $self->{MMFF_value} : $self->decode;
-}
-
-#------------------------------------------
-
-
-sub addComponent($)
-{   my ($self, $component) = @_;
-    delete $self->{MMFF_value};
-
-    my ($name, $value) = split /\=/, $component, 2;
-    if( substr($name, -1) eq '*' && $value =~ m/^([^']*)\'([^']*)\'/ )
-    {   $self->{MMFF_charset}  = length $1 ? $1 : undef;
-        $self->{MMFF_language} = length $2 ? $2 : undef;
-    }
-
-    if( $name =~ m/\*([0-9]+)\*?$/ )
-         { $self->{MMFF_cont}[$1] = $component }
-    else { $self->{MMFF_cont}     = [ $component ] }
-
-    $component;
-}
-
-#------------------------------------------
-
-
-sub charset() { shift->{MMFF_charset} }
-
-#------------------------------------------
-
-
-sub language() { shift->{MMFF_language} }
-
-#------------------------------------------
-
-
-sub string()
-{   my $self = shift;
-    my $cont = $self->{MMFF_cont} || $self->encode;
-    return @$cont if wantarray;
-    return [] unless @$cont;
-
-    local $" = "; ";
-    "; @$cont";
-}
-
-#------------------------------------------
-
-
-sub encode()
-{   my $self  = shift;
-    my $value = $self->{MMFF_value};
-
-    my @lines;
-    my ($pre, $encoded);
-
-    my $charset  = $self->{MMFF_charset}  || '';
-    my $lang     = $self->{MMFF_language} || '';
-    my $name     = $self->{MMFF_name};
-    my $cont     = $self->{MMFF_usecont};
-
-    if($charset || $lang)
-    {   $pre     = "$name*0*=$charset'$lang'";
-        $value   = Encode::encode($charset, $value, 0);
-        $encoded = 1;
-    }
-    elsif(grep m/[^\x20-\x7E]/, $value)
-    {   $pre     = "$name*0*=''";
-        $encoded = 1;
-    }
-    else
-    {   $pre     = "$name*0=";
-        $value   =~ s/"/\\"/g;
-        $encoded = 0;
-    }
-
-    if($encoded)
-    {   # Use encoding
-        my @c    = split //, $value;
-        while(@c)
-        {   my $c = shift @c;
-            $c = '%'. sprintf "%02X", ord $c
-               unless $c =~ m/[a-zA-Z0-9]/;
-
-            if($cont && length($pre) + length($c)> 76)
-            {   push @lines, $pre;
-                $pre = $name . '*' . @lines . '*=' . $c;
-            }
-            else { $pre .= $c }
-        }
-        push @lines, $pre;
-    }
-    elsif($cont)
-    {   # Simple string, but with continuations
-        while(1)
-        {   push @lines, $pre . '"' . substr($value, 0, 75-length($pre), '') . '"';
-            last unless length $value;
-            $pre = $name . '*' . @lines . '=';
-        }
-            
-    }
-    else
-    {   # Single string only
-        push @lines, $pre . $value;
-    }
-
-    $lines[0] =~ s/\*0// if @lines==1;
-    $self->{MMFF_cont} = \@lines;
-}
-
-#------------------------------------------
-
-
-sub decode()
-{   my $self  = shift;
-    my $value = '';
-
-    foreach my $cont (  @{$self->{MMFF_cont}} )
-    {   unless(defined $cont)
-        {   $value .= "[continuation missing]";
-            next;
-        }
-
-        (my $name, local $_) = split /\=/, $cont, 2;
-
-        if(substr($name, -1) eq '*')
-        {   s/^[^']*\'[^']*\'//;
-            s/\%([a-fA-F0-9]{2})/chr hex $1/ge;
-        }
-        elsif( s/^\"(.*)\"$/$1/ ) { s/\\\"/"/g }
-        elsif( s/^\'(.*)\'$/$1/ ) { s/\\\'/'/g }
-
-        $value .= $_;
-    }
-
-    my $charset = $self->{MMFF_charset};
-    $value = Encode::decode($charset, $value, 0) if $charset;
-
-    $self->{MMFF_value} = $value;
-}
-
-#------------------------------------------
-
-
-sub mergeComponent($)
-{   my ($self, $comp) = @_;
-    my $cont  = $self->{MMFF_cont}
-       or croak "ERROR: Too late to merge: value already changed.";
-
-    defined $_ && $self->addComponent($_)
-        foreach @{$comp->{MMFF_cont}};
-
-    $self;
-}
-
-#------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Attribute.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Attribute.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Attribute.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Attribute.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Attribute.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,384 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Field::Attribute - one attribute of a full field
-
-
-=head1 INHERITANCE
-
- Mail::Message::Field::Attribute
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my $field    = $msg->head->get('Content-Disposition') or return;
- my $full     = $field->study;   # full understanding in unicode
- my $filename = $full->attribute('filename')           or return;
-
- print ref $filename;     # this class name
- print $filename;         # the attributes content in utf-8
- print $filename->value;  # same
- print $filename->string; # print string as was found in the file
- $filename->print(\*OUT); # print as was found in the file
-
-
-=head1 DESCRIPTION
-
-Attributes within MIME fields can be quite complex, and therefore be slow
-and consumes a lot of memory.  The L<Mail::Message::Field::Fast|Mail::Message::Field::Fast> and
-L<Mail::Message::Field::Flex|Mail::Message::Field::Flex> simplify them the attributes a lot, which
-may result in erroneous behavior in rare cases.  With the increase of
-non-western languages on Internet, the need for the complex headers
-becomes more and more in demand.
-
-A C<Mail::Message::Field::Attribute> can be found in any structured
-L<Mail::Message::Field::Full|Mail::Message::Field::Full> header field.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Message::Field::Attribute-E<gt>B<new>((NAME, [VALUE] | STRING), OPTIONS)
-
-=over 4
-
-Create a new attribute NAME with the optional VALUE.  If no VALUE is specified,
-the first argument of this method is inspected for an equals sign C<'='>.
-If that character is present, the argument is taken as STRING, containing
-a preformatted attribute which is processed.  Otherwise, the argument is
-taken as name without VALUE: set the value later with value().
-
-Whether encoding takes place depends on the OPTIONS and the existence
-of non-ascii characters in the VALUE.  The NAME can only contain ascii
-characters, hence is never encoded.
-
-To speed things up, attributes are not derived from the L<Mail::Reporter|Mail::Reporter>
-base-class.
-
- Option             Defined in       Default      
- charset                             C<'us-ascii'>
- language                            undef        
- log                L<Mail::Reporter>  C<'WARNINGS'>
- trace              L<Mail::Reporter>  C<'WARNINGS'>
- use_continuations                   <true>       
-
-. charset STRING
-
-=over 4
-
-The VALUE is translated from utf-8 (Perl internal) to this character set,
-and the resulting string is encoded if required.  C<us-ascii> is the normal
-encoding for e-mail.  Valid character sets can be found with 
-Encode::encodings(':all').
-
-=back
-
-. language STRING
-
-=over 4
-
-RFC2231 adds the possiblity to specify a language with the field.  When no
-language is specified, none is included in the encoding.  Valid language
-names are defined by RFC2130.  This module has only limited support for
-this feature.
-
-=back
-
-. log LEVEL
-
-. trace LEVEL
-
-. use_continuations BOOLEAN
-
-=over 4
-
-Continuations are used to break-up long parameters into pieces which
-are no longer than 76 characters. Encodings are specified in RFC2231,
-but not supported by some Mail User Agents.
-
-=back
-
-I<Example:> 
-
- my $fn    = Mail::Message::Field::Attribute
-                ->new(filename => 'xyz');
-
- my $fattr = 'Mail::Message::Field::Attribute';  # abbrev
- my $fn    = $fattr->new
-     ( filename => "Re\xC7u"
-     , charset  => 'iso-8859-15'
-     , language => 'nl-BE'
-     );
- print $fn;
-   # -->  filename*=iso-8859-15'nl-BE'Re%C7u
-
-=back
-
-=head2 The attribute
-
-
-$obj-E<gt>B<addComponent>(STRING)
-
-=over 4
-
-A component is a parameter as defined by RFC2045, optionally using
-encoding or continuations as defined by RFC2231.  Components of an
-attribute are found when a field is being parsed.  The RFCs are
-very strict on valid characters, but we cannot be: you have to accept
-what is coming in if you can.
-
-I<Example:> 
-
- my $param = Mail::Message::Field::Attribute->new;
- $param->addComponent("filename*=iso10646'nl-BE'%Re\47u");
-
-=back
-
-$obj-E<gt>B<charset>
-
-=over 4
-
-Returns the character set which is used for this parameter.  If any component
-is added which contains character set information, this is directly
-available.  Be warned that a character-set is case insensitive.
-
-=back
-
-$obj-E<gt>B<language>
-
-=over 4
-
-Returns the language which is defined in the argument.  If no language is
-defined C<undef> is returned, which should be interpreted as "ANY"
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-Returns the name of this attribute.
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-Returns the parameter as reference to an array of lines.  When only one line
-is returned, it may be short enough to fit on the same line with other components
-of the header field.
-
-=back
-
-$obj-E<gt>B<value>([STRING])
-
-=over 4
-
-Returns the value of this parameter, optionally after setting it first.
-
-=back
-
-=head2 Attribute encoding
-
-
-$obj-E<gt>B<decode>
-
-=over 4
-
-Translate all known continuations into a value.  The produced value is
-returned and may be utf-8 encoded or a plain string.
-
-=back
-
-$obj-E<gt>B<encode>
-
-=over 4
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<mergeComponent>(ATTRIBUTE)
-
-=over 4
-
-Merge the components from the specified attribute in this attribute.  This is
-needed when components of the same attribute are created separately.  Merging
-is required by the field parsing.
-
-=back
-
-=head2 Error handling
-
-This class does not extend L<Mail::Reporter|Mail::Reporter> for obvious performance
-reasons: there is no logging or tracing available.
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Field::Attribute-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Field::Attribute-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Field::Attribute-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> Illegal character in parameter name '$name'
-
-The specified parameter name contains characters which are not permitted by
-the RFCs.  You can better change the name into something which is accepted,
-or risk applications to corrupt or ignore the message.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Too late to merge: value already changed.
-
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Attribute.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Attribute.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Fast.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Fast.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Fast.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,101 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message::Field::Fast;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Field';
-
-
-#------------------------------------------
-#
-# The DATA is stored as:   [ NAME, FOLDED-BODY ]
-# The body is kept in a folded fashion, where each line starts with
-# a single blank.
-
-
-sub new($;$@)
-{   my $class = shift;
-
-    my ($name, $body) = $class->consume(@_==1 ? (shift) : (shift, shift));
-    return () unless defined $body;
-
-    my $self = bless [$name, $body], $class;
-
-    # Attributes
-    $self->comment(shift)             if @_==1;   # one attribute line
-    $self->attribute(shift, shift) while @_ > 1;  # attribute pairs
-
-    $self;
-}
-
-#------------------------------------------
-
-sub clone()
-{   my $self = shift;
-    bless [ @$self ], ref $self;
-}
-
-#------------------------------------------
-
-sub length()
-{   my $self = shift;
-    length($self->[0]) + 1 + length($self->[1]);
-}
-
-#------------------------------------------
-
-sub name() { lc shift->[0] }
-
-#------------------------------------------
-
-sub Name() { shift->[0] }
-
-#------------------------------------------
-
-sub folded()
-{   my $self = shift;
-    return $self->[0].':'.$self->[1]
-        unless wantarray;
-
-    my @lines = $self->foldedBody;
-    my $first = $self->[0]. ':'. shift @lines;
-    ($first, @lines);
-}
-
-#------------------------------------------
-
-sub unfoldedBody($;@)
-{   my $self = shift;
-
-    $self->[1] = $self->fold($self->[0], @_)
-       if @_;
-
-    $self->unfold($self->[1]);
-}
-
-#------------------------------------------
-
-sub foldedBody($)
-{   my ($self, $body) = @_;
-    if(@_==2) { $self->[1] = $body }
-    else      { $body = $self->[1] }
-     
-    wantarray ? (split m/^/, $body) : $body;
-}
-
-#------------------------------------------
-
-# For performance reasons only
-
-sub print(;$)
-{   my $self = shift;
-    my $fh   = shift || select;
-    if(ref $fh eq 'GLOB') { print $fh $self->[0].':'.$self->[1]   }
-    else                  { $fh->print($self->[0].':'.$self->[1]) }
-    $self;
-}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Fast.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Fast.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Fast.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Fast.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Fast.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,598 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Field::Fast - one line of a message header
-
-
-=head1 INHERITANCE
-
- Mail::Message::Field::Fast
-   is a Mail::Message::Field
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- See Mail::Message::Field
-
-
-=head1 DESCRIPTION
-
-This is the faster, but less flexible implementation of a header field.
-The data is stored in an array, and some hacks are made to speeds
-things up.  Be gentle with me, and consider that each message contains
-many of these lines, so speed is very important here.
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<+0>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<<=>>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<bool>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<cmp>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>
-
-=over 4
-
-See L<Mail::Message::Field/"Constructors">
-
-=back
-
-Mail::Message::Field::Fast-E<gt>B<new>(DATA)
-
-=over 4
-
-The constructor of this object does not follow the usual practise within
-the Mail::Box suite: it does not use the constructor
-L<Mail::Reporter::new()|Mail::Reporter/"Constructors">.
-Therefor it has no logging or tracing facilities.
-
-The method can be used in one of the following ways:
-
-=over 4
-
-=item * B<new> LINE
-
-Pass a LINE as it could be found in a file: a (possibly folded) line
-which is terminated by a new-line.
-
-=item * B<new> NAME, (BODY|OBJECTS), [ATTRIBUTES]
-
-A set of values which shape the line.
-
-=back
-
-Create a new header field object.  Specify the whole LINE at once, and
-it will be split-up for you.  I case you already have the parts of the
-header line, you may specify them separately as NAME and BODY.
-
-In case you specify a single OBJECT, or a reference to an array of
-OBJECTS, these objects are processed to become suitable to fill a
-field, usually by simple strification.  When you specify one or more
-Mail::Address objects, these are transformed into a string using
-their C<format> method.  You may also add one L<Mail::Message::Field|Mail::Message::Field>,
-whose body is taken.  In case of an array, the elements are joined into
-one string with a comma.
-
-ATTRIBUTES can be exactly one string which may contain multiple attributes
-at once, quoted and formatted as required in RFC2822.  As alternative,
-list of key-value pairs can be used.  In this case, the values will get
-quoted if needed and everything formatted as the protocol demands.
-
- Option  Defined in       Default   
- log     L<Mail::Reporter>  <disabled>
- trace   L<Mail::Reporter>  <disabled>
-
-. log LEVEL
-
-. trace LEVEL
-
-I<Example:> 
-
- my $mime = Mail::Message::Field->new(
-  'Content-Type: text/plain; charset=US-ASCII');
-
- my $mime = Mail::Message::Field->new(
-  'Content-Type' => 'text/plain; charset=US-ASCII');
-
- my $mime = Mail::Message::Field->new(
-  'Content-Type' => 'text/plain', 'charset=US-ASCII');
-
- my $mime = Mail::Message::Field->new(
-  'Content-Type' => 'text/plain', charset => 'Latin1');
-
- my $mime = Mail::Message::Field->new(
-  To => Mail::Address->new('My', 'me at example.com');
-
- my $mime = Mail::Message::Field->new(
-  Cc => [ Mail::Address->new('You', 'you at example.com')
-        , Mail::Address->new('His', 'he at example.com')
-        ]);
-
-But in practice, you can simply call
-
- my $head = Mail::Message::Head->new;
- $head->add( 'Content-Type' => 'text/plain'
-           , charset => 'utf8');
-
-which implicitly calls this constructor (when needed).  You can specify
-the same things for L<Mail::Message::Head::Complete::add()|Mail::Message::Head::Complete/"Access to the header"> as this
-C<new> accepts.
-
-=back
-
-=head2 The field
-
-
-$obj-E<gt>B<isStructured>
-
-Mail::Message::Field::Fast-E<gt>B<isStructured>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<length>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<string>([WRAP])
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<toDisclose>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-=head2 Access to the name
-
-
-$obj-E<gt>B<Name>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the name">
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the name">
-
-=back
-
-$obj-E<gt>B<wellformedName>([STRING])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the name">
-
-=back
-
-=head2 Access to the body
-
-
-$obj-E<gt>B<body>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<folded>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<foldedBody>([BODY])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<stripCFWS>([STRING])
-
-Mail::Message::Field::Fast-E<gt>B<stripCFWS>([STRING])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<unfoldedBody>([BODY, [WRAP]])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-=head2 Access to the content
-
-
-$obj-E<gt>B<addresses>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<attribute>(NAME [, VALUE])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<attributes>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<comment>([STRING])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<study>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<toDate>([TIME])
-
-Mail::Message::Field::Fast-E<gt>B<toDate>([TIME])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<toInt>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-=head2 Other methods
-
-
-$obj-E<gt>B<dateToTimestamp>(STRING)
-
-Mail::Message::Field::Fast-E<gt>B<dateToTimestamp>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field/"Other methods">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<consume>(LINE | (NAME,BODY|OBJECTS))
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<defaultWrapLength>([LENGTH])
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<fold>(NAME, BODY, [MAXCHARS])
-
-Mail::Message::Field::Fast-E<gt>B<fold>(NAME, BODY, [MAXCHARS])
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<setWrapLength>([LENGTH])
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<stringifyData>(STRING|ARRAY|OBJECTS)
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<unfold>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Field::Fast-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Field::Fast-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Field::Fast-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> Field content is not numerical: $content
-
-The numeric value of a field is requested (for instance the C<Lines> or
-C<Content-Length> fields should be numerical), however the data contains
-weird characters.
-
-I<Warning:> Illegal character in field name $name
-
-A new field is being created which does contain characters not permitted
-by the RFCs.  Using this field in messages may break other e-mail clients
-or transfer agents, and therefore mutulate or extinguish your message.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Fast.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Fast.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Flex.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Flex.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Flex.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,101 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message::Field::Flex;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Field';
-
-use Carp;
-
-
-sub new($;$$@)
-{   my $class  = shift;
-    my $args   = @_ <= 2 || ! ref $_[-1] ? {}
-                : ref $_[-1] eq 'ARRAY'  ? { @{pop @_} }
-                :                          pop @_;
-
-    my ($name, $body) = $class->consume(@_==1 ? (shift) : (shift, shift));
-    return () unless defined $body;
-
-    # Attributes preferably stored in array to protect order.
-    my $attr   = $args->{attributes};
-    $attr      = [ %$attr ] if defined $attr && ref $attr eq 'HASH';
-    push @$attr, @_;
-
-    $class->SUPER::new(%$args, name => $name, body => $body,
-         attributes => $attr);
-}
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    @$self{ qw/MMFF_name MMFF_body/ } = @$args{ qw/name body/ };
-
-    $self->comment($args->{comment})
-        if exists $args->{comment};
-
-    my $attr = $args->{attributes};
-    $self->attribute(shift @$attr, shift @$attr)
-        while @$attr;
-
-    $self;
-}
-
-#------------------------------------------
-
-sub clone()
-{   my $self = shift;
-    (ref $self)->new($self->Name, $self->body);
-}
-
-#------------------------------------------
-
-sub length()
-{   my $self = shift;
-    length($self->{MMFF_name}) + 1 + length($self->{MMFF_body});
-}
-
-#------------------------------------------
-
-sub name() { lc shift->{MMFF_name}}
-
-#------------------------------------------
-
-sub Name() { shift->{MMFF_name}}
-
-#------------------------------------------
-
-sub folded(;$)
-{   my $self = shift;
-    return $self->{MMFF_name}.':'.$self->{MMFF_body}
-        unless wantarray;
-
-    my @lines = $self->foldedBody;
-    my $first = $self->{MMFF_name}. ':'. shift @lines;
-    ($first, @lines);
-}
-
-#------------------------------------------
-
-sub unfoldedBody($;@)
-{   my $self = shift;
-    $self->{MMFF_body} = $self->fold($self->{MMFF_name}, @_)
-       if @_;
-
-    $self->unfold($self->{MMFF_body});
-}
-
-#------------------------------------------
-
-sub foldedBody($)
-{   my ($self, $body) = @_;
-    if(@_==2) { $self->{MMFF_body} = $body }
-    else      { $body = $self->{MMFF_body} }
-
-    wantarray ? (split /^/, $body) : $body;
-}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Flex.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Flex.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Flex.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Flex.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Flex.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,572 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Field::Flex - one line of a message header
-
-
-=head1 INHERITANCE
-
- Mail::Message::Field::Flex
-   is a Mail::Message::Field
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
-
-
-=head1 DESCRIPTION
-
-This is the flexible implementation of a field: it can easily be
-extended because it stores its data in a hash and the constructor
-(C<new>) and initializer (C<init>) are split.  However, you pay the
-price in performance.  L<Mail::Message::Field::Fast|Mail::Message::Field::Fast> is faster (as the
-name predicts).
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<+0>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<<=>>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<bool>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<cmp>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>
-
-=over 4
-
-See L<Mail::Message::Field/"Constructors">
-
-=back
-
-Mail::Message::Field::Flex-E<gt>B<new>(DATA)
-
-=over 4
-
-If you stick to this flexible class of header fields, you have a bit
-more facilities than with L<Mail::Message::Field::Fast|Mail::Message::Field::Fast>.  Amongst it, you
-can specify options with the creation.  Possible arguments:
-
-=over 4
-
-=item * B<new> LINE
-
-ass a LINE as it could be found in a file: a (possibly folded) line
-which is terminated by a new-line.
-
-=item * B<new> NAME, (BODY|OBJECTS), [ATTRIBUTES], OPTIONS
-
-A set of values which shape the line.
-
-=back
-
-To be able to distinguish the different parameters, you will have
-to specify the OPTIONS as ARRAY of option pairs, or HASH of options.
-The ATTRIBUTES are a flat list of key-value pairs.  The body is
-specified as one BODY string, one OBJECT, or a reference to an array
-of OBJECTS.  See L<Mail::Message::Field|Mail::Message::Field>:
-
- Option      Defined in       Default      
- attributes                   C<[]>        
- comment                      undef        
- log         L<Mail::Reporter>  C<'WARNINGS'>
- trace       L<Mail::Reporter>  C<'WARNINGS'>
-
-. attributes ATTRS
-
-=over 4
-
-Reference to array with list of key-value pairs representing attributes,
-or reference to a hash containing these pairs.  This is an alternative
-notation for specifying ATTRIBUTES directly as method arguments.
-
-=back
-
-. comment STRING
-
-=over 4
-
-A pre-formatted list of attributes.
-
-=back
-
-. log LEVEL
-
-. trace LEVEL
-
-=back
-
-=head2 The field
-
-
-$obj-E<gt>B<isStructured>
-
-Mail::Message::Field::Flex-E<gt>B<isStructured>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<length>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<string>([WRAP])
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<toDisclose>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-=head2 Access to the name
-
-
-$obj-E<gt>B<Name>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the name">
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the name">
-
-=back
-
-$obj-E<gt>B<wellformedName>([STRING])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the name">
-
-=back
-
-=head2 Access to the body
-
-
-$obj-E<gt>B<body>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<folded>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<foldedBody>([BODY])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<stripCFWS>([STRING])
-
-Mail::Message::Field::Flex-E<gt>B<stripCFWS>([STRING])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<unfoldedBody>([BODY, [WRAP]])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-=head2 Access to the content
-
-
-$obj-E<gt>B<addresses>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<attribute>(NAME [, VALUE])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<attributes>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<comment>([STRING])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<study>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<toDate>([TIME])
-
-Mail::Message::Field::Flex-E<gt>B<toDate>([TIME])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<toInt>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-=head2 Other methods
-
-
-$obj-E<gt>B<dateToTimestamp>(STRING)
-
-Mail::Message::Field::Flex-E<gt>B<dateToTimestamp>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field/"Other methods">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<consume>(LINE | (NAME,BODY|OBJECTS))
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<defaultWrapLength>([LENGTH])
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<fold>(NAME, BODY, [MAXCHARS])
-
-Mail::Message::Field::Flex-E<gt>B<fold>(NAME, BODY, [MAXCHARS])
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<setWrapLength>([LENGTH])
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<stringifyData>(STRING|ARRAY|OBJECTS)
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<unfold>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Field::Flex-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Field::Flex-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Field::Flex-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> Field content is not numerical: $content
-
-The numeric value of a field is requested (for instance the C<Lines> or
-C<Content-Length> fields should be numerical), however the data contains
-weird characters.
-
-I<Warning:> Illegal character in field name $name
-
-A new field is being created which does contain characters not permitted
-by the RFCs.  Using this field in messages may break other e-mail clients
-or transfer agents, and therefore mutulate or extinguish your message.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Flex.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Flex.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Full.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Full.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Full.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,388 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message::Field::Full;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Field';
-
-use utf8;
-use Encode ();
-use MIME::QuotedPrint ();
-use Storable 'dclone';
-
-use Mail::Message::Field::Structured;
-use Mail::Message::Field::Unstructured;
-use Mail::Message::Field::Addresses;
-use Mail::Message::Field::URIs;
-
-my $atext = q[a-zA-Z0-9!#\$%&'*+\-\/=?^_`{|}~];  # from RFC
-
-
-use overload '""' => sub { shift->decodedBody };
-
-#------------------------------------------
-
-
-my %implementation;
-
-BEGIN {
-   $implementation{$_} = 'Addresses' foreach
-      qw/from to sender cc bcc reply-to envelope-to
-         resent-from resent-to resent-cc resent-bcc resent-reply-to
-         resent-sender
-         x-beenthere errors-to mail-follow-up x-loop delivered-to
-         original-sender x-original-sender/;
-   $implementation{$_} = 'URIs' foreach
-      qw/list-help list-post list-subscribe list-unsubscribe list-archive
-         list-owner/;
-   $implementation{$_} = 'Structured' foreach
-      qw/content-disposition content-type/;
-#  $implementation{$_} = 'Date' foreach
-#     qw/date resent-date/;
-}
-
-sub new($;$$@)
-{   my $class  = shift;
-    my $name   = shift;
-    my $body   = @_ % 2 ? shift : undef;
-    my %args   = @_;
-
-    $body      = delete $args{body} if defined $args{body};
-    unless(defined $body)
-    {   (my $n, $body) = split /\s*\:\s*/s, $name, 2;
-        $name = $n if defined $body;
-    }
-   
-    return $class->SUPER::new(%args, name => $name, body => $body)
-       if $class ne __PACKAGE__;
-
-    # Look for best class to suit this field
-    my $myclass = 'Mail::Message::Field::'
-                . ($implementation{lc $name} || 'Unstructured');
-
-    $myclass->SUPER::new(%args, name => $name, body => $body);
-}
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    $self->SUPER::init($args);
-    $self->{MMFF_name}       = $args->{name};
-
-    my $body = $args->{body};
-
-       if(!defined $body || !length $body || ref $body) { ; } # no body yet
-    elsif(index($body, "\n") >= 0)
-         { $self->foldedBody($body) }        # body is already folded
-    else { $self->unfoldedBody($body) }      # body must be folded
-
-    $self;
-}
-
-#------------------------------------------
-
-sub clone() { dclone(shift) }
-
-#------------------------------------------
-
-sub name() { lc shift->{MMFF_name}}
-
-#------------------------------------------
-
-sub Name() { shift->{MMFF_name}}
-
-#------------------------------------------
-
-sub folded()
-{   my $self = shift;
-    return $self->{MMFF_name}.':'.$self->foldedBody
-        unless wantarray;
-
-    my @lines = $self->foldedBody;
-    my $first = $self->{MMFF_name}. ':'. shift @lines;
-    ($first, @lines);
-}
-
-#------------------------------------------
-
-sub unfoldedBody($;$)
-{   my ($self, $body) = (shift, shift);
-
-    if(defined $body)
-    {    $self->foldedBody(scalar $self->fold($self->{MMFF_name}, $body));
-         return $body;
-    }
-
-    $body = $self->foldedBody;
-    $body =~ s/^ //;
-    $body =~ s/\n//g;
-    $body;
-}
-
-#------------------------------------------
-
-sub foldedBody($)
-{   my ($self, $body) = @_;
-
-    if(@_==2)
-    {    $self->parse($body);
-         $body =~ s/^\s*/ /;
-         $self->{MMFF_body} = $body;
-    }
-    elsif(defined($body = $self->{MMFF_body})) { ; }
-    else
-    {   # Create a new folded body from the parts.
-        $self->{MMFF_body} = $body
-           = $self->fold($self->{MMFF_name}, $self->produceBody);
-    }
-
-    wantarray ? (split /^/, $body) : $body;
-}
-
-#------------------------------------------
-
-
-sub from($@)
-{   my ($class, $field) = (shift, shift);
-    defined $field ?  $class->new($field->Name, $field->foldedBody, @_) : ();
-}
-
-#------------------------------------------
-
-
-sub decodedBody()
-{   my $self = shift;
-    $self->decode($self->unfoldedBody, @_);
-}
-
-#------------------------------------------
-
-
-sub createComment($@)
-{   my ($thing, $comment) = (shift, shift);
-
-    $comment = $thing->encode($comment, @_)
-        if @_; # encoding required...
-
-    # Correct dangling parenthesis
-    local $_ = $comment;               # work with a copy
-    s#\\[()]#xx#g;                     # remove escaped parens
-    s#[^()]#x#g;                       # remove other chars
-    while( s#\(([^()]*)\)#x$1x# ) {;}  # remove pairs of parens
-
-    substr($comment, CORE::length($_), 0, '\\')
-        while s#[()][^()]*$##;         # add escape before remaining parens
-
-    $comment =~ s#\\+$##;              # backslash at end confuses
-    "($comment)";
-}
-
-#------------------------------------------
-
-
-sub createPhrase($)
-{   my $self = shift;
-    local $_ = shift;
-    $_ =  $self->encode($_, @_)
-        if @_;  # encoding required...
-
-    if( m/[^$atext]/ )
-    {   s#\\#\\\\#g;
-        s#"#\\"#g;
-        $_ = qq["$_"];
-    }
-
-    $_;
-}
-
-#------------------------------------------
-
-
-sub beautify() { shift }
-
-#------------------------------------------
-
-
-sub encode($@)
-{   my ($self, $utf8, %args) = @_;
-
-    my ($charset, $lang, $encoding);
-
-    if($charset = $args{charset})
-    {   $self->log(WARNING => "Illegal character in charset '$charset'")
-            if $charset =~ m/[\x00-\ ()<>@,;:"\/[\]?.=\\]/;
-    }
-    else { $charset = 'us-ascii' }
-
-    if($lang = $args{language})
-    {   $self->log(WARNING => "Illegal character in language '$lang'")
-            if $lang =~ m/[\x00-\ ()<>@,;:"\/[\]?.=\\]/;
-    }
-
-    if($encoding = $args{encoding})
-    {   unless($encoding =~ m/^[bBqQ]$/ )
-        {   $self->log(WARNING => "Illegal encoding '$encoding', used 'q'");
-            $encoding = 'q';
-        }
-    }
-    else { $encoding = 'q' }
-
-    my $encoded  = Encode::encode($charset, $utf8, 0);
-
-    no utf8;
-
-    my $pre      = '=?'. $charset. ($lang ? '*'.$lang : '') .'?'.$encoding.'?';
-    my $ready    = '';
-
-    if(lc $encoding eq 'q')
-    {   # Quoted printable encoding
-        my $qp   = $encoded;
-        $qp      =~ s#([\x00-\x1F=\x7F-\xFF])#sprintf "=%02X", ord $1#ge;
-
-        return $qp           # string only contains us-ascii?
-           if !$args{force} && $qp eq $utf8;
-
-        $qp      =~ s#([_\?])#sprintf "=%02X", ord $1#ge;
-        $qp      =~ s/ /_/g;
-
-        my $take = 72 - CORE::length($pre);
-        while(CORE::length($qp) > $take)
-        {   $qp =~ s#^(.{$take}.?.?[^=][^=])## or warn $qp;
-            $ready .= "$pre$1?= ";
-        }
-        $ready .= "$pre$qp?=" if CORE::length $qp;
-    }
-
-    else
-    {   # base64 encoding
-        require MIME::Base64;
-        my $maxchars = int((74-CORE::length($pre))/4) *4;
-        my $bq       = MIME::Base64::encode_base64($encoded);
-        $bq =~ s/\s*//gs;
-        while(CORE::length($bq) > $maxchars)
-        {   $ready .= $pre . substr($bq, 0, $maxchars, '') . '?= ';
-        }
-        $ready .= "$pre$bq?=";
-    }
-
-    $ready;
-}
-
-#------------------------------------------
-
-
-sub _decoder($$$)
-{   my ($charset, $encoding, $encoded) = @_;
-    $charset   =~ s/\*[^*]+$//;   # string language, not used
-    $charset ||= 'us-ascii';
-
-    my $decoded;
-    if(lc($encoding) eq 'q')
-    {   # Quoted-printable encoded
-        $encoded =~ s/_/ /g;
-        $decoded = MIME::QuotedPrint::decode_qp($encoded);
-    }
-    elsif(lc($encoding) eq 'b')
-    {   # Base64 encoded
-        require MIME::Base64;
-        $decoded = MIME::Base64::decode_base64($encoded);
-    }
-    else
-    {   # unknown encodings ignored
-        return $encoded;
-    }
-
-    Encode::decode($charset, $decoded, 0);
-}
-
-sub decode($@)
-{   my ($self, $encoded, %args) = @_;
-    if(defined $args{is_text} ? $args{is_text} : 1)
-    {  # in text, blanks between encoding must be removed, but otherwise kept :(
-       # dirty trick to get this done: add an explicit blank.
-       $encoded =~ s/\?\=\s(?!\s*\=\?|$)/_?= /gs;
-    }
-    $encoded =~ s/\=\?([^?\s]*)\?([^?\s]*)\?([^?\s]*)\?\=\s*/_decoder($1,$2,$3)/gse;
-
-    $encoded;
-}
-
-#------------------------------------------
-
-
-sub parse($) { shift }
-
-#------------------------------------------
-
-
-sub consumePhrase($)
-{   my ($thing, $string) = @_;
-
-    if($string =~ s/^\s*\"((?:[^"\\]*|\\.)*)\"// )
-    {   (my $phrase = $1) =~ s/\\\"/"/g;
-        return ($phrase, $string);
-    }
-
-    if($string =~ s/^\s*([$atext\ \t.]+)//o )
-    {   (my $phrase = $1) =~ s/\s+$//;
-        return CORE::length($phrase) ? ($phrase, $string) : (undef, $_[1]);
-    }
-
-    (undef, $string);
-}
-
-#------------------------------------------
-
-
-sub consumeComment($)
-{   my ($thing, $string) = @_;
-
-    return (undef, $string)
-        unless $string =~ s/^\s*\(((?:[^)\\]+|\\.)*)\)//;
-
-    my $comment = $1;
-    while(1)
-    {   (my $count = $comment) =~ s/\\./xx/g;
-
-        last if $count =~ tr/(//  ==  $count =~ tr/)//;
-
-        return (undef, $_[1])
-            unless $string =~ s/^((?:[^)\\]+|\\.)*)\)//;
-
-        $comment .= ')'.$1;
-    }
-
-    $comment =~ s/\\([()])/$1/g;
-    ($comment, $string);
-}
-
-#------------------------------------------
-
-
-sub consumeDotAtom($)
-{   my ($self, $string) = @_;
-    my ($atom, $comment);
-
-    while(1)
-    {   (my $c, $string) = $self->consumeComment($string);
-        if(defined $c) { $comment .= $c; next }
-
-        last unless $string =~ s/^\s*([$atext]+(?:\.[$atext]+)*)//o;
-
-        $atom .= $1;
-    }
-
-    ($atom, $string, $comment);
-}
-
-#------------------------------------------
-
-                                                                                
-sub produceBody() { die }
-
-#------------------------------------------
-
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Full.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Full.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Full.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Full.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Full.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,908 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Field::Full - construct one smart line in a message header
-
-
-=head1 INHERITANCE
-
- Mail::Message::Field::Full
-   is a Mail::Message::Field
-   is a Mail::Reporter
-
- Mail::Message::Field::Full is extended by
-   Mail::Message::Field::Structured
-   Mail::Message::Field::Unstructured
-
-
-=head1 SYNOPSIS
-
- !! UNDER CONSTRUCTION
- !! The details of this module are NOT FINISHED yet
- !! Most parts are already usable, however.  With care!
-
- # Getting to understand the complexity of a header field ...
-
- my $fast = $msg->head->get('subject');
- my $full = Mail::Message::Field::Full->from($fast);
-
- my $full = $msg->head->get('subject')->study;  # same
- my $full = $msg->head->study('subject');       # same
- my $full = $msg->get('subject');               # same
-
- # ... or build a complex header field yourself
-
- my $f = Mail::Message::Field::Full->new('To');
- my $f = Mail::Message::Field::Full->new('Subject: hi!');
- my $f = Mail::Message::Field::Full->new(Subject => 'hi!');
-
-
-=head1 DESCRIPTION
-
-This is the I<full> implementation of a header field: it has I<full>
-understanding of all predefined header fields.  These objects will be
-quite slow, because header fields can be very complex.  Of course, this
-class delivers the optimal result, but for a quite large penalty in
-performance and memory consumption.  Are you willing to accept?
-
-This class supports the common header description from RFC2822 (formerly
-RFC822), the extensions with respect to character set encodings as specified
-in RFC2047, and the extensions on language specification and long parameter
-wrapping from RFC2231.  If you do not need the latter two, then the
-L<Mail::Message::Field::Fast|Mail::Message::Field::Fast> and L<Mail::Message::Field::Flex|Mail::Message::Field::Flex>
-are enough for your application.
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<+0>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<<=>>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<bool>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<cmp>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<stringification>
-
-=over 4
-
-In string context, the decoded body is returned, as if L<decodedBody()|Mail::Message::Field::Full/"Access to the body">
-would have been called.
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>
-
-=over 4
-
-See L<Mail::Message::Field/"Constructors">
-
-=back
-
-Mail::Message::Field::Full-E<gt>B<from>(FIELD, OPTIONS)
-
-=over 4
-
-Convert any FIELD (a L<Mail::Message::Field|Mail::Message::Field> object) into a new
-L<Mail::Message::Field::Full|Mail::Message::Field::Full> object.  This conversion is done the hard
-way: the string which is produced by the original object is parsed
-again.  Usually, the string which is parsed is exactly the line (or lines)
-as found in the original input source, which is a good thing because Full
-fields are much more carefull with the actual content.
-
-OPTIONS are passed to the constructor (see L<new()|Mail::Message::Field::Full/"METHODS">).  In any case, some
-extensions of this Full field class is returned.  It depends on which
-field is created what kind of class we get.
-
-I<Example:> 
-
- my $fast = $msg->head->get('subject');
- my $full = Mail::Message::Field::Full->from($fast);
-
- my $full = $msg->head->get('subject')->study;  # same
- my $full = $msg->head->study('subject');       # same
- my $full = $msg->get('subject');               # same
-
-=back
-
-Mail::Message::Field::Full-E<gt>B<new>(DATA)
-
-=over 4
-
-Creating a new field object the correct way is a lot of work, because
-there is so much freedom in the RFCs, but at the same time so many
-restrictions.  Most fields are implemented, but if you have your own
-field (and do no want to contribute it to MailBox), then simply call
-new on your own package.
-
-You have the choice to instantiate the object as string or in prepared
-parts:
-
-=over 4
-
-=item * B<new> LINE, OPTIONS
-
-Pass a LINE as it could be found in a file: a (possibly folded) line
-which is terminated by a new-line.
-
-=item * B<new> NAME, [BODY], OPTIONS
-
-A set of values which shape the line.
-
-=back
-
-The NAME is a wellformed header name (you may use wellformedName()) to
-be sure about the casing.  The BODY is a string, one object, or an
-ref-array of objects.  In case of objects, they must fit to the
-constructor of the field: the types which are accepted may differ.
-The optional ATTRIBUTE list contains L<Mail::Message::Field::Attribute|Mail::Message::Field::Attribute>
-objects.  Finally, there are some OPTIONS.
-
- Option    Defined in       Default      
- charset                    undef        
- encoding                   C<'q'>       
- force                      false        
- language                   undef        
- log       L<Mail::Reporter>  C<'WARNINGS'>
- trace     L<Mail::Reporter>  C<'WARNINGS'>
-
-. charset STRING
-
-=over 4
-
-The body is specified in utf8, and must become 7-bits ascii to be
-transmited.  Specify a charset to which the multi-byte utf8 is converted
-before it gets encoded.  See L<encode()|Mail::Message::Field::Full/"Internals">, which does the job.
-
-=back
-
-. encoding 'q'|'Q'|'b'|'B'
-
-=over 4
-
-Non-ascii characters are encoded using Quoted-Printable ('q' or 'Q') or
-Base64 ('b' or 'B') encoding.
-
-=back
-
-. force BOOLEAN
-
-=over 4
-
-Enforce encoding in the specified charset, even when it is not needed
-because the body does not contain any non-ascii characters.
-
-=back
-
-. language STRING
-
-=over 4
-
-The language used can be specified, however is rarely used my mail clients.
-
-=back
-
-. log LEVEL
-
-. trace LEVEL
-
-I<Example:> 
-
- my $s = Mail::Message::Field::Full->new('Subject: Hello World');
- my $s = Mail::Message::Field::Full->new('Subject', 'Hello World');
-
- my @attrs   = (Mail::Message::Field::Attribute->new(...), ...);
- my @options = (extra => 'the color blue');
- my $t = Mail::Message::Field::Full->new(To => \@addrs, @attrs, @options);
-
-=back
-
-=head2 The field
-
-
-$obj-E<gt>B<isStructured>
-
-Mail::Message::Field::Full-E<gt>B<isStructured>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<length>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<string>([WRAP])
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<toDisclose>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-=head2 Access to the name
-
-
-$obj-E<gt>B<Name>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the name">
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the name">
-
-=back
-
-$obj-E<gt>B<wellformedName>([STRING])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the name">
-
-=back
-
-=head2 Access to the body
-
-
-$obj-E<gt>B<body>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<decodedBody>(OPTIONS)
-
-=over 4
-
-Returns the unfolded body of the field, where encodings are resolved.  The
-returned line will still contain comments and such.  The OPTIONS are passed
-to the decoder, see L<decode()|Mail::Message::Field::Full/"Internals">.
-
-BE WARNED: if the field is a structured field, the content may change syntax,
-because of encapsulated special characters.  By default, the body is decoded
-as text, which results in a small difference within comments as well
-(read the RFC).
-
-=back
-
-$obj-E<gt>B<folded>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<foldedBody>([BODY])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<stripCFWS>([STRING])
-
-Mail::Message::Field::Full-E<gt>B<stripCFWS>([STRING])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<unfoldedBody>([BODY, [WRAP]])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-=head2 Access to the content
-
-
-$obj-E<gt>B<addresses>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<attribute>(NAME [, VALUE])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<attributes>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<beautify>
-
-=over 4
-
-For structured header fields, this removes the original encoding of the
-field's body (the format as it was offered to L<parse()|Mail::Message::Field::Full/"Parsing">), therefore the
-next request for the field will have to re-produce the read data clean
-and nice.  For unstructured bodies, this method doesn't do a thing.
-
-=back
-
-$obj-E<gt>B<comment>([STRING])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<createComment>(STRING, OPTIONS)
-
-Mail::Message::Field::Full-E<gt>B<createComment>(STRING, OPTIONS)
-
-=over 4
-
-Create a comment to become part in a field.  Comments are automatically
-included within parenthesis.  Matching pairs of parenthesis are
-permitted within the STRING.  When a non-matching parenthesis are used,
-it is only permitted with an escape (a backslash) in front of them.
-These backslashes will be added automatically if needed (don't worry!).
-Backslashes will stay, except at the end, where it will be doubled.
-
-The OPTIONS are C<charset>, C<language>, and C<encoding> as always.
-The created comment is returned.
-
-=back
-
-$obj-E<gt>B<createPhrase>(STRING, OPTIONS)
-
-Mail::Message::Field::Full-E<gt>B<createPhrase>(STRING, OPTIONS)
-
-=over 4
-
-A phrase is a text which plays a well defined role.  This is the main
-difference with comments, which have do specified meaning.  Some special
-characters in the phrase will cause it to be surrounded with double
-quotes: do not specify them yourself.
-
-The OPTIONS are C<charset>, C<language>, and C<encoding> as always.
-
-=back
-
-$obj-E<gt>B<study>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<toDate>([TIME])
-
-Mail::Message::Field::Full-E<gt>B<toDate>([TIME])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<toInt>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-=head2 Other methods
-
-
-$obj-E<gt>B<dateToTimestamp>(STRING)
-
-Mail::Message::Field::Full-E<gt>B<dateToTimestamp>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field/"Other methods">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<consume>(LINE | (NAME,BODY|OBJECTS))
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<decode>(STRING, OPTIONS)
-
-Mail::Message::Field::Full-E<gt>B<decode>(STRING, OPTIONS)
-
-=over 4
-
-Decode field encoded STRING to an utf8 string.  The input STRING is part of
-a header field, and as such, may contain encoded words in C<=?...?.?...?=>
-format defined by RFC2047.  The STRING may contain multiple encoded parts,
-maybe using different character sets.
-
-Be warned:  you MUST first interpret the field into parts, like phrases and
-comments, and then decode each part separately, otherwise the decoded text
-may interfere with your markup characters.
-
-Be warned: language information, which is defined in RFC2231, is ignored.
-
- Option   Defined in  Default
- is_text              C<1>   
-
-. is_text BOOLEAN
-
-=over 4
-
-Encoding on text is slightly more complicated than encoding structured data,
-because it contains blanks.  Visible blanks have to be ignored between two
-encoded words in the text, but not when an encoded word follows or preceeds
-an unencoded word.  Phrases and comments are texts.
-
-=back
-
-I<Example:> 
-
- print Mail::Message::Field::Full->decode('=?iso-8859-1?Q?J=F8rgen?=');
-    # prints   JE<0slash>rgen
-
-=back
-
-$obj-E<gt>B<defaultWrapLength>([LENGTH])
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<encode>(STRING, OPTIONS)
-
-=over 4
-
-Encode the (possibly utf8 encoded) STRING to a string which is acceptable
-to the RFC2047 definition of a header: only containing us-ascii characters.
-
- Option    Defined in       Default      
- charset                    C<'us-ascii'>
- encoding                   C<'q'>       
- force                      <flase>      
- language                   undef        
-
-. charset STRING
-
-=over 4
-
-STRING is an utf8 string which has to be translated into any byte-wise
-character set for transport, because MIME-headers can only contain ascii
-characters.
-
-=back
-
-. encoding 'q'|'Q'|'b'|'B'
-
-=over 4
-
-The character encoding to be used.  With C<q> or C<Q>, quoted-printable
-encoding will be used.  With C<b > or C<B >, base64 encoding will be taken.
-
-=back
-
-. force BOOLEAN
-
-=over 4
-
-Encode the string, even when it only contains us-ascii characters.  By
-default, this is off because it decreases readibility of the produced
-header fields.
-
-=back
-
-. language STRING
-
-=over 4
-
-RFC2231 defines how to specify language encodings in encoded words.  The
-STRING is a strandard iso language name.
-
-=back
-
-=back
-
-$obj-E<gt>B<fold>(NAME, BODY, [MAXCHARS])
-
-Mail::Message::Field::Full-E<gt>B<fold>(NAME, BODY, [MAXCHARS])
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<setWrapLength>([LENGTH])
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<stringifyData>(STRING|ARRAY|OBJECTS)
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<unfold>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-=head2 Parsing
-
-
-$obj-E<gt>B<consumeComment>(STRING)
-
-Mail::Message::Field::Full-E<gt>B<consumeComment>(STRING)
-
-=over 4
-
-Try to read a comment from the STRING.  When successful, the comment
-without encapsulation parenthesis is returned, together with the rest
-of the string.
-
-=back
-
-$obj-E<gt>B<consumeDotAtom>(STRING)
-
-=over 4
-
-Returns three elemens: the atom-text, the rest string, and the
-concatenated comments.  Both atom and comments can be undef.
-
-=back
-
-$obj-E<gt>B<consumePhrase>(STRING)
-
-Mail::Message::Field::Full-E<gt>B<consumePhrase>(STRING)
-
-=over 4
-
-Take the STRING, and try to strip-off a valid phrase.  In the obsolete
-phrase syntax, any sequence of words is accepted as phrase (as long as
-certain special characters are not used).  RFC2882 is stricter: only
-one word or a quoted string is allowed.  As always, the obsolete
-syntax is accepted, and the new syntax is produced.
-
-This method returns two elements: the phrase (or undef) followed
-by the resulting string.  The phrase will be removed from the optional
-quotes.  Be warned that C<""> will return an empty, valid phrase.
-
-I<Example:> 
-
- my ($phrase, $rest) = $field->consumePhrase( q["hi!" <sales at example.com>] );
-
-=back
-
-$obj-E<gt>B<parse>(STRING)
-
-=over 4
-
-Get the detailed information from the STRING, and store the data found
-in the field object.  The accepted input is very field type dependent.
-Unstructured fields do no parsing whatsoever.
-
-=back
-
-$obj-E<gt>B<produceBody>
-
-=over 4
-
-Produce the text for the field, based on the information stored within the
-field object.
-
-Usually, you wish the exact same line as was found in the input source
-of a message.  But when you have created a field yourself, it should get
-formatted.  You may call L<beautify()|Mail::Message::Field::Full/"Access to the content"> on a preformatted field to enforce
-a call to this method when the field is needed later.
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Field::Full-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Field::Full-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Field::Full-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> Field content is not numerical: $content
-
-The numeric value of a field is requested (for instance the C<Lines> or
-C<Content-Length> fields should be numerical), however the data contains
-weird characters.
-
-I<Warning:> Illegal character in charset '$charset'
-
-The field is created with an utf8 string which only contains data from the
-specified character set.  However, that character set can never be a valid
-name because it contains characters which are not permitted.
-
-I<Warning:> Illegal character in field name $name
-
-A new field is being created which does contain characters not permitted
-by the RFCs.  Using this field in messages may break other e-mail clients
-or transfer agents, and therefore mutulate or extinguish your message.
-
-I<Warning:> Illegal character in language '$lang'
-
-The field is created with data which is specified to be in a certain language,
-however, the name of the language cannot be valid: it contains characters
-which are not permitted by the RFCs.
-
-I<Warning:> Illegal encoding '$encoding', used 'q'
-
-The RFCs only permit base64 (C<b > or C<B >) or quoted-printable
-(C<q> or C<Q>) encoding.  Other than these four options are illegal.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Full.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Full.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Structured.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Structured.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Structured.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,125 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message::Field::Structured;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Field::Full';
-
-use Mail::Message::Field::Attribute;
-
-
-sub init($)
-{   my ($self, $args) = @_;
-    $self->{MMFS_attrs} = {};
-
-    $self->SUPER::init($args);
-
-    $self->datum($args->{datum})
-        if defined $args->{datum};
-
-    my $attr = $args->{attributes} || [];
-    $attr    = [ %$attr ] if ref $attr eq 'HASH';
-
-    while(@$attr)
-    {   my $name = shift @$attr;
-        if(ref $name) { $self->attribute($name) }
-        else          { $self->attribute($name, shift @$attr) }
-    }
-
-    $self;
-}
-
-#------------------------------------------
-
-sub clone() { dclone(shift) }
-
-#------------------------------------------
-
-
-sub attribute($;$)
-{   my ($self, $attr) = (shift, shift);
-    my $name;
-    if(ref $attr) { $name = $attr->name }
-    elsif( !@_ )  { return $self->{MMFS_attrs}{lc $attr} }
-    else
-    {   $name = $attr;
-        $attr = Mail::Message::Field::Attribute->new($name, @_);
-    }
-
-    delete $self->{MMFF_body};
-    if(my $old =  $self->{MMFS_attrs}{$name})
-    {   $old->mergeComponent($attr);
-        return $old;
-    }
-    else
-    {   $self->{MMFS_attrs}{$name} = $attr;
-        return $attr;
-    }
-}
-
-#------------------------------------------
-
-
-sub attributes() { values %{shift->{MMFS_attrs}} }
-
-#------------------------------------------
-
-sub beautify() { delete shift->{MMFF_body} }
-
-#------------------------------------------
-
-
-sub parse($)
-{   my ($self, $string) = @_;
-    my $datum = '';
-    while(length $string && substr($string, 0, 1) ne ';')
-    {   (undef, $string)  = $self->consumeComment($string);
-        $datum .= $1 if $string =~ s/^([^;(]+)//;
-    }
-    $self->datum($datum);
-
-    my $found = '';
-    while($string =~ m/\S/)
-    {   if($string =~ s/^\s*\;\s*// && length $found)
-        {   my $attr = Mail::Message::Field::Attribute->new($found);
-            $self->attribute($attr);
-            $found = '';
-        }
-
-        (undef, $string) = $self->consumeComment($string);
-        $string =~ s/^\n//;
-        (my $text, $string) = $self->consumePhrase($string);
-        $found .= $text if defined $text;
-    }
-
-    if(length $found)
-    {   my $attr = Mail::Message::Field::Attribute->new($found);
-        $self->attribute($attr);
-    }
-
-    1;
-}
-
-#------------------------------------------
-
-sub produceBody()
-{   my $self  = shift;
-    my $attrs = $self->{MMFS_attrs};
-    my $datum = $self->datum;
-
-    join '; '
-       , (defined $datum ? $datum : '')
-       , map {$_->string} @{$attrs}{sort keys %$attrs};
-}
-
-#------------------------------------------
-
-
-sub datum(;$)
-{   my $self = shift;
-    @_ ? ($self->{MMFS_datum} = shift) : $self->{MMFS_datum};
-}
-*body = \&datum;
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Structured.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Structured.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Structured.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Structured.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Structured.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,775 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Field::Structured - one line of a structured message header
-
-
-=head1 INHERITANCE
-
- Mail::Message::Field::Structured
-   is a Mail::Message::Field::Full
-   is a Mail::Message::Field
-   is a Mail::Reporter
-
- Mail::Message::Field::Structured is extended by
-   Mail::Message::Field::Addresses
-   Mail::Message::Field::URIs
-
-
-=head1 SYNOPSIS
-
- my $f = Mail::Message::Field::Full
-            ->new('Content-Type' => 'text/html');
-
- my @encode = (charset => 'jp', use_continuations => 1);
- $f->attribute('filename=passwd');
- $f->attribute(filename => 'passwd', @encode);
-
- my $attr = Mail::Message::Field::Attribute->new(...);
- $f->attribute($attr);
-
-
-=head1 DESCRIPTION
-
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<+0>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<<=>>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<bool>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<cmp>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<stringification>
-
-=over 4
-
-See L<Mail::Message::Field::Full/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>
-
-=over 4
-
-See L<Mail::Message::Field/"Constructors">
-
-=back
-
-Mail::Message::Field::Structured-E<gt>B<from>(FIELD, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Constructors">
-
-=back
-
-Mail::Message::Field::Structured-E<gt>B<new>(DATA)
-
-=over 4
-
-=over 4
-
-=item * B<new> LINE
-
-Pass a LINE as it could be found in a file: a (possibly folded) line
-which is terminated by a new-line.
-
-=item * B<new> NAME, BODY, OPTIONS
-
-A set of values which shape the line.
-
-=back
-
-The NAME is a wellformed header name (you may use wellformedName()) to
-be sure about the casing.  The BODY is a string, one object, or an
-ref-array of objects.  In case of objects, they must fit to the
-constructor of the field: the types which are accepted may differ.
-The optional ATTRIBUTE list contains L<Mail::Message::Field::Attribute|Mail::Message::Field::Attribute>
-objects.  Finally, there are some OPTIONS.
-
- Option      Defined in       Default      
- attributes                   C<[]>        
- charset     L<Mail::Message::Field::Full>  undef        
- datum                        C<undef>     
- encoding    L<Mail::Message::Field::Full>  C<'q'>       
- force       L<Mail::Message::Field::Full>  false        
- language    L<Mail::Message::Field::Full>  undef        
- log         L<Mail::Reporter>  C<'WARNINGS'>
- trace       L<Mail::Reporter>  C<'WARNINGS'>
-
-. attributes ATTRS
-
-=over 4
-
-There are various ways to specify these attributes: pass a reference
-to an array which list of key-value pairs representing attributes,
-or reference to a hash containing these pairs, or an array with
-L<Mail::Message::Field::Attribute|Mail::Message::Field::Attribute> objects.
-
-=back
-
-. charset STRING
-
-. datum STRING
-
-=over 4
-
-The method name I<body> is very confusing, even in the RFC.  In MailBox,
-for historical reasons, L<body()|Mail::Message::Field/"Access to the body"> returns the past of the field contents
-before the first semi-colon.  L<foldedBody()|Mail::Message::Field/"Access to the body"> and L<unfoldedBody()|Mail::Message::Field/"Access to the body">
-address the whole field.
-
-There is no common name for the piece of data before the parameters
-(attributes) in the field-content mentioned in the RFCs, so let's call
-it B<datum>.
-
-=back
-
-. encoding 'q'|'Q'|'b'|'B'
-
-. force BOOLEAN
-
-. language STRING
-
-. log LEVEL
-
-. trace LEVEL
-
-I<Example:> of a structured field
-
-
- my @attrs   = (Mail::Message::Field::Attribute->new(...), ...);
- my @options = (extra => 'the color blue');
- my $t = Mail::Message::Field::Full->new(To => \@addrs, @attrs, @options);
-
-=back
-
-=head2 The field
-
-
-$obj-E<gt>B<isStructured>
-
-Mail::Message::Field::Structured-E<gt>B<isStructured>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<length>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<string>([WRAP])
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<toDisclose>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-=head2 Access to the name
-
-
-$obj-E<gt>B<Name>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the name">
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the name">
-
-=back
-
-$obj-E<gt>B<wellformedName>([STRING])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the name">
-
-=back
-
-=head2 Access to the body
-
-
-$obj-E<gt>B<body>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<decodedBody>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Access to the body">
-
-=back
-
-$obj-E<gt>B<folded>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<foldedBody>([BODY])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<stripCFWS>([STRING])
-
-Mail::Message::Field::Structured-E<gt>B<stripCFWS>([STRING])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<unfoldedBody>([BODY, [WRAP]])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-=head2 Access to the content
-
-
-$obj-E<gt>B<addresses>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<attribute>(OBJECT|(STRING, OPTIONS)|(NAME,VALUE,OPTIONS))
-
-=over 4
-
-Add an attribute to the field.  The attributes are added left-to-right into
-the string representation of the field, although the order of the attributes
-is un-important, according to the RFCs.
-
-You may pass a fully prepared L<Mail::Message::Field::Attribute|Mail::Message::Field::Attribute> OBJECT,
-if you like to do all preparations for correct representation of the
-data yourself.  You may also pass one STRING, which is a fully prepared
-attribute.  This STRING will not be changed, so be careful about quoting
-and encodings.
-
-As third possibility, you can specify an attribute NAME and its VALUE.
-An attribute object will be created for you implicitly in both
-cases where such object is not supplied, passing the OPTIONS.  See
-L<Mail::Message::Field::Attribute::new()|Mail::Message::Field::Attribute/"Constructors"> about the available OPTIONS.
-
-The attribute object is returned, however, when continuations are used this
-may be an object you already know about.  C<undef> is returned when
-construction fails (when the attribute is incorrect).
-
-I<Example:> 
-
- $f->attribute(filename => 'passwd');
- $f->attribute(filename => 'passwd', use_continuations => 0);
-
- my $attr = Mail::Message::Field::Attribute->new(...);
- $f->attribute($attr);
-
-=back
-
-$obj-E<gt>B<attributes>
-
-=over 4
-
-Returns a list with all attributes, which are all
-L<Mail::Message::Field::Attribute|Mail::Message::Field::Attribute> objects.  The attributes are not
-ordered in any way.  The list may be empty.  Double attributes or
-continuations are folded into one.
-
-=back
-
-$obj-E<gt>B<beautify>
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Access to the content">
-
-=back
-
-$obj-E<gt>B<comment>([STRING])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<createComment>(STRING, OPTIONS)
-
-Mail::Message::Field::Structured-E<gt>B<createComment>(STRING, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Access to the content">
-
-=back
-
-$obj-E<gt>B<createPhrase>(STRING, OPTIONS)
-
-Mail::Message::Field::Structured-E<gt>B<createPhrase>(STRING, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Access to the content">
-
-=back
-
-$obj-E<gt>B<study>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<toDate>([TIME])
-
-Mail::Message::Field::Structured-E<gt>B<toDate>([TIME])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<toInt>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-=head2 Other methods
-
-
-$obj-E<gt>B<dateToTimestamp>(STRING)
-
-Mail::Message::Field::Structured-E<gt>B<dateToTimestamp>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field/"Other methods">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<consume>(LINE | (NAME,BODY|OBJECTS))
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<decode>(STRING, OPTIONS)
-
-Mail::Message::Field::Structured-E<gt>B<decode>(STRING, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Internals">
-
-=back
-
-$obj-E<gt>B<defaultWrapLength>([LENGTH])
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<encode>(STRING, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Internals">
-
-=back
-
-$obj-E<gt>B<fold>(NAME, BODY, [MAXCHARS])
-
-Mail::Message::Field::Structured-E<gt>B<fold>(NAME, BODY, [MAXCHARS])
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<setWrapLength>([LENGTH])
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<stringifyData>(STRING|ARRAY|OBJECTS)
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<unfold>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-=head2 Parsing
-
-
-$obj-E<gt>B<consumeComment>(STRING)
-
-Mail::Message::Field::Structured-E<gt>B<consumeComment>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Parsing">
-
-=back
-
-$obj-E<gt>B<consumeDotAtom>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Parsing">
-
-=back
-
-$obj-E<gt>B<consumePhrase>(STRING)
-
-Mail::Message::Field::Structured-E<gt>B<consumePhrase>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Parsing">
-
-=back
-
-$obj-E<gt>B<datum>([VALUE])
-
-=over 4
-
-Equivalent to L<body()|Mail::Message::Field/"Access to the body">, but maybe less confusing.
-
-=back
-
-$obj-E<gt>B<parse>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Parsing">
-
-=back
-
-$obj-E<gt>B<produceBody>
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Parsing">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Field::Structured-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Field::Structured-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Field::Structured-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> Field content is not numerical: $content
-
-The numeric value of a field is requested (for instance the C<Lines> or
-C<Content-Length> fields should be numerical), however the data contains
-weird characters.
-
-I<Warning:> Illegal character in charset '$charset'
-
-The field is created with an utf8 string which only contains data from the
-specified character set.  However, that character set can never be a valid
-name because it contains characters which are not permitted.
-
-I<Warning:> Illegal character in field name $name
-
-A new field is being created which does contain characters not permitted
-by the RFCs.  Using this field in messages may break other e-mail clients
-or transfer agents, and therefore mutulate or extinguish your message.
-
-I<Warning:> Illegal character in language '$lang'
-
-The field is created with data which is specified to be in a certain language,
-however, the name of the language cannot be valid: it contains characters
-which are not permitted by the RFCs.
-
-I<Warning:> Illegal encoding '$encoding', used 'q'
-
-The RFCs only permit base64 (C<b > or C<B >) or quoted-printable
-(C<q> or C<Q>) encoding.  Other than these four options are illegal.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Structured.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Structured.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/URIs.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Field/URIs.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/URIs.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,79 +0,0 @@
-use warnings;
-
-package Mail::Message::Field::URIs;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Field::Structured';
-use Carp 'confess';
-
-use URI;
-
-
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    my ($body, @body);
-    if($body = delete $args->{body})
-    {   @body = ref $body eq 'ARRAY' ? @$body : ($body);
-        return () unless @body;
-    }
-
-    $self->{MMFU_uris} = [];
-
-    if(@body > 1 || ref $body[0])
-    {   $self->addURI($_) foreach @body;
-    }
-    elsif(defined $body)
-    {   $body = "<$body>\n" unless index($body, '<') >= 0;
-        $args->{body} = $body;
-    }
-
-    $self->SUPER::init($args);
-}
-
-#------------------------------------------
-
-sub parse($)
-{   my ($self, $string) = @_;
-    my @raw = $string =~ m/\<([^>]+)\>/g;  # simply ignore all but <>
-    $self->addURI($_) foreach @raw;
-    $self;
-}
-
-#------------------------------------------
-
-sub produceBody()
-{  my @uris = sort map { $_->as_string } shift->URIs;
-   local $" = '>, <';
-   @uris ? "<@uris>" : undef;
-}
-
-#------------------------------------------
-
-
-sub addURI(@)
-{   my $self  = shift;
-    my $uri   = ref $_[0] ? shift : URI->new(@_);
-    push @{$self->{MMFU_uris}}, $uri->canonical if defined $uri;
-    $uri;
-}
-
-#------------------------------------------
-
-
-sub URIs() { @{shift->{MMFU_uris}} }
-
-#------------------------------------------
-
-
-sub addAttribute($;@)
-{   my $self = shift;
-    $self->log(ERROR => 'No attributes for URI fields.');
-    $self;
-}
-
-#------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/URIs.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Field/URIs.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/URIs.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Field/URIs.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/URIs.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,753 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Field::URIs - message header field with uris
-
-
-=head1 INHERITANCE
-
- Mail::Message::Field::URIs
-   is a Mail::Message::Field::Structured
-   is a Mail::Message::Field::Full
-   is a Mail::Message::Field
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my $f = Mail::Message::Field->new('List-Post' => 'http://x.org/');
-
- my $g = Mail::Message::Field->new('List-Post');
- $g->addURI('http://x.org');
-
- my $uri = URI->new(...);
- $g->addURI($uri);
-
- my @uris = $g->URIs;
-
-
-=head1 DESCRIPTION
-
-More recent RFCs prefer uri field notation over the various differentiated
-syntaxes.  Especially the mailing-list RFCs use these fields all the
-time.  This class can maintain these fields.
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<+0>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<<=>>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<bool>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<cmp>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<stringification>
-
-=over 4
-
-See L<Mail::Message::Field::Full/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>
-
-=over 4
-
-See L<Mail::Message::Field/"Constructors">
-
-=back
-
-Mail::Message::Field::URIs-E<gt>B<from>(FIELD, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Constructors">
-
-=back
-
-Mail::Message::Field::URIs-E<gt>B<new>(DATA)
-
-=over 4
-
- Option      Defined in       Default      
- attributes  L<Mail::Message::Field::Structured>  <ignored>    
- charset     L<Mail::Message::Field::Full>  undef        
- datum       L<Mail::Message::Field::Structured>  C<undef>     
- encoding    L<Mail::Message::Field::Full>  C<'q'>       
- force       L<Mail::Message::Field::Full>  false        
- language    L<Mail::Message::Field::Full>  undef        
- log         L<Mail::Reporter>  C<'WARNINGS'>
- trace       L<Mail::Reporter>  C<'WARNINGS'>
-
-. attributes ATTRS
-
-. charset STRING
-
-. datum STRING
-
-. encoding 'q'|'Q'|'b'|'B'
-
-. force BOOLEAN
-
-. language STRING
-
-. log LEVEL
-
-. trace LEVEL
-
-I<Example:> 
-
- my $mmfu = 'Mail::Message::Field::URIs;
- my $f = $mmfu->new('List-Post' => 'mailto:x at y.com');
- my $f = $mmfu->new('List-Post' => '<mailto:x at y.com>');
- my $f = $mmfu->new('List-Post: <mailto:x at y.com>');
- my $f = $mmfu->new('List-Post' => [ $uri, 'http://x.org' ]);
-
-=back
-
-=head2 The field
-
-
-$obj-E<gt>B<isStructured>
-
-Mail::Message::Field::URIs-E<gt>B<isStructured>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<length>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<string>([WRAP])
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<toDisclose>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-=head2 Access to the name
-
-
-$obj-E<gt>B<Name>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the name">
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the name">
-
-=back
-
-$obj-E<gt>B<wellformedName>([STRING])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the name">
-
-=back
-
-=head2 Access to the body
-
-
-$obj-E<gt>B<body>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<decodedBody>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Access to the body">
-
-=back
-
-$obj-E<gt>B<folded>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<foldedBody>([BODY])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<stripCFWS>([STRING])
-
-Mail::Message::Field::URIs-E<gt>B<stripCFWS>([STRING])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<unfoldedBody>([BODY, [WRAP]])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-=head2 Access to the content
-
-
-$obj-E<gt>B<URIs>
-
-=over 4
-
-Returns a list with all URIs defined by the field.  Mind the lower-case
-'s' at the enc of the name.
-
-I<Example:> 
-
- my @uris = $field->URIs;
-
-=back
-
-$obj-E<gt>B<addAttribute>(...)
-
-=over 4
-
-Attributes are not supported for URI fields.
-
-=back
-
-$obj-E<gt>B<addURI>(URI)
-
-=over 4
-
-Add an URI to the field.  The URI can be specified as URI object
-or as string which will be turned into an URI object.  The added
-URI is returned.
-
-I<Example:> adding an URI to an URI field
-
-
- my $f   = Mail::Message::Field::URI->new('List-Post');
-
- my $uri = URI->new("http://x.org");
- $f->addURI($uri);
-
- $f->addURI("http://y.org");  # simpler
- $f->addURI("//y.org", "http");
-
-=back
-
-$obj-E<gt>B<addresses>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<attribute>(OBJECT|(STRING, OPTIONS)|(NAME,VALUE,OPTIONS))
-
-=over 4
-
-See L<Mail::Message::Field::Structured/"Access to the content">
-
-=back
-
-$obj-E<gt>B<attributes>
-
-=over 4
-
-See L<Mail::Message::Field::Structured/"Access to the content">
-
-=back
-
-$obj-E<gt>B<beautify>
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Access to the content">
-
-=back
-
-$obj-E<gt>B<comment>([STRING])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<createComment>(STRING, OPTIONS)
-
-Mail::Message::Field::URIs-E<gt>B<createComment>(STRING, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Access to the content">
-
-=back
-
-$obj-E<gt>B<createPhrase>(STRING, OPTIONS)
-
-Mail::Message::Field::URIs-E<gt>B<createPhrase>(STRING, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Access to the content">
-
-=back
-
-$obj-E<gt>B<study>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<toDate>([TIME])
-
-Mail::Message::Field::URIs-E<gt>B<toDate>([TIME])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<toInt>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-=head2 Other methods
-
-
-$obj-E<gt>B<dateToTimestamp>(STRING)
-
-Mail::Message::Field::URIs-E<gt>B<dateToTimestamp>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field/"Other methods">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<consume>(LINE | (NAME,BODY|OBJECTS))
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<decode>(STRING, OPTIONS)
-
-Mail::Message::Field::URIs-E<gt>B<decode>(STRING, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Internals">
-
-=back
-
-$obj-E<gt>B<defaultWrapLength>([LENGTH])
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<encode>(STRING, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Internals">
-
-=back
-
-$obj-E<gt>B<fold>(NAME, BODY, [MAXCHARS])
-
-Mail::Message::Field::URIs-E<gt>B<fold>(NAME, BODY, [MAXCHARS])
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<setWrapLength>([LENGTH])
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<stringifyData>(STRING|ARRAY|OBJECTS)
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<unfold>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-=head2 Parsing
-
-
-$obj-E<gt>B<consumeComment>(STRING)
-
-Mail::Message::Field::URIs-E<gt>B<consumeComment>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Parsing">
-
-=back
-
-$obj-E<gt>B<consumeDotAtom>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Parsing">
-
-=back
-
-$obj-E<gt>B<consumePhrase>(STRING)
-
-Mail::Message::Field::URIs-E<gt>B<consumePhrase>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Parsing">
-
-=back
-
-$obj-E<gt>B<datum>([VALUE])
-
-=over 4
-
-See L<Mail::Message::Field::Structured/"Parsing">
-
-=back
-
-$obj-E<gt>B<parse>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Parsing">
-
-=back
-
-$obj-E<gt>B<produceBody>
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Parsing">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Field::URIs-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Field::URIs-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Field::URIs-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> Field content is not numerical: $content
-
-The numeric value of a field is requested (for instance the C<Lines> or
-C<Content-Length> fields should be numerical), however the data contains
-weird characters.
-
-I<Warning:> Illegal character in charset '$charset'
-
-The field is created with an utf8 string which only contains data from the
-specified character set.  However, that character set can never be a valid
-name because it contains characters which are not permitted.
-
-I<Warning:> Illegal character in field name $name
-
-A new field is being created which does contain characters not permitted
-by the RFCs.  Using this field in messages may break other e-mail clients
-or transfer agents, and therefore mutulate or extinguish your message.
-
-I<Warning:> Illegal character in language '$lang'
-
-The field is created with data which is specified to be in a certain language,
-however, the name of the language cannot be valid: it contains characters
-which are not permitted by the RFCs.
-
-I<Warning:> Illegal encoding '$encoding', used 'q'
-
-The RFCs only permit base64 (C<b > or C<B >) or quoted-printable
-(C<q> or C<Q>) encoding.  Other than these four options are illegal.
-
-I<Error:> No attributes for URI fields.
-
-Is is not possible to add attributes to URI fields: it is not permitted
-by the RFCs.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/URIs.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Field/URIs.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Unstructured.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Unstructured.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Unstructured.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,33 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message::Field::Unstructured;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Field::Full';
-
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    if($args->{body} && ($args->{encoding} || $args->{charset}))
-    {   $args->{body} = $self->encode($args->{body}, %$args);
-    }
-
-    $self->SUPER::init($args) or return;
-
-    $self->log(WARNING=>"Attributes are not supported for unstructured fields")
-        if defined $args->{attributes};
-
-    $self->log(WARNING => "No extras for unstructured fields")
-        if defined $args->{extra};
-
-    $self;
-}
-
-#------------------------------------------
-
-
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Unstructured.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Unstructured.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Unstructured.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Unstructured.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Unstructured.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,697 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Field::Unstructured - smart unstructured field
-
-
-=head1 INHERITANCE
-
- Mail::Message::Field::Unstructured
-   is a Mail::Message::Field::Full
-   is a Mail::Message::Field
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my $f = Mail::Message::Field::Unstructured->new(Comments => 'hi!');
-
-
-=head1 DESCRIPTION
-
-Unstructured fields do contain information which is not restricted in
-any way.  RFC2822 defines some unstructured fields, but by default all
-unknown fields are unstructured as well.  Things like attributes and
-comments have no meaning for unstructured fields, but encoding does.
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<+0>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<<=>>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<bool>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<cmp>
-
-=over 4
-
-See L<Mail::Message::Field/"OVERLOADED">
-
-=back
-
-overload: B<stringification>
-
-=over 4
-
-See L<Mail::Message::Field::Full/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>
-
-=over 4
-
-See L<Mail::Message::Field/"Constructors">
-
-=back
-
-Mail::Message::Field::Unstructured-E<gt>B<from>(FIELD, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Constructors">
-
-=back
-
-Mail::Message::Field::Unstructured-E<gt>B<new>(DATA)
-
-=over 4
-
-When the DATA is specified as single line, the content part is considered to
-be correcly (character) encoded and escaped.  Typically, it is a line as
-read from file.  The folding of the line is kept as is.
-
-In case more than one argument is provided, the second is considered the BODY.
-Attributes and other special things are not defined for unstructured fields,
-and therefore not valid options.  The BODY can be a single string, a single
-OBJECT, or an array of OBJECTS.  The objects are stringified (into a comma
-separated list).  Each BODY element is interpreted with the specified encoding.
-
-When the BODY is empty, the construction of the object fails: C<undef> is
-returned.
-
- Option    Defined in       Default      
- charset   L<Mail::Message::Field::Full>  undef        
- encoding  L<Mail::Message::Field::Full>  C<'q'>       
- force     L<Mail::Message::Field::Full>  false        
- language  L<Mail::Message::Field::Full>  undef        
- log       L<Mail::Reporter>  C<'WARNINGS'>
- trace     L<Mail::Reporter>  C<'WARNINGS'>
-
-. charset STRING
-
-. encoding 'q'|'Q'|'b'|'B'
-
-. force BOOLEAN
-
-. language STRING
-
-. log LEVEL
-
-. trace LEVEL
-
-I<Example:> 
-
- my $s = Mail::Message::Field::Unstructured->new('Comment', 'Hi!');
-
- # Use autodetect
- my $s = Mail::Message::Field::Full->new('Comment', 'Hi!');
- my $s = Mail::Message::Field::Full->new('Comment: Hi!');
-
-=back
-
-=head2 The field
-
-
-$obj-E<gt>B<isStructured>
-
-Mail::Message::Field::Unstructured-E<gt>B<isStructured>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<length>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<string>([WRAP])
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-$obj-E<gt>B<toDisclose>
-
-=over 4
-
-See L<Mail::Message::Field/"The field">
-
-=back
-
-=head2 Access to the name
-
-
-$obj-E<gt>B<Name>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the name">
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the name">
-
-=back
-
-$obj-E<gt>B<wellformedName>([STRING])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the name">
-
-=back
-
-=head2 Access to the body
-
-
-$obj-E<gt>B<body>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<decodedBody>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Access to the body">
-
-=back
-
-$obj-E<gt>B<folded>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<foldedBody>([BODY])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<stripCFWS>([STRING])
-
-Mail::Message::Field::Unstructured-E<gt>B<stripCFWS>([STRING])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-$obj-E<gt>B<unfoldedBody>([BODY, [WRAP]])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the body">
-
-=back
-
-=head2 Access to the content
-
-
-$obj-E<gt>B<addresses>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<attribute>(NAME [, VALUE])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<attributes>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<beautify>
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Access to the content">
-
-=back
-
-$obj-E<gt>B<comment>([STRING])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<createComment>(STRING, OPTIONS)
-
-Mail::Message::Field::Unstructured-E<gt>B<createComment>(STRING, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Access to the content">
-
-=back
-
-$obj-E<gt>B<createPhrase>(STRING, OPTIONS)
-
-Mail::Message::Field::Unstructured-E<gt>B<createPhrase>(STRING, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Access to the content">
-
-=back
-
-$obj-E<gt>B<study>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<toDate>([TIME])
-
-Mail::Message::Field::Unstructured-E<gt>B<toDate>([TIME])
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-$obj-E<gt>B<toInt>
-
-=over 4
-
-See L<Mail::Message::Field/"Access to the content">
-
-=back
-
-=head2 Other methods
-
-
-$obj-E<gt>B<dateToTimestamp>(STRING)
-
-Mail::Message::Field::Unstructured-E<gt>B<dateToTimestamp>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field/"Other methods">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<consume>(LINE | (NAME,BODY|OBJECTS))
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<decode>(STRING, OPTIONS)
-
-Mail::Message::Field::Unstructured-E<gt>B<decode>(STRING, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Internals">
-
-=back
-
-$obj-E<gt>B<defaultWrapLength>([LENGTH])
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<encode>(STRING, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Internals">
-
-=back
-
-$obj-E<gt>B<fold>(NAME, BODY, [MAXCHARS])
-
-Mail::Message::Field::Unstructured-E<gt>B<fold>(NAME, BODY, [MAXCHARS])
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<setWrapLength>([LENGTH])
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<stringifyData>(STRING|ARRAY|OBJECTS)
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-$obj-E<gt>B<unfold>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field/"Internals">
-
-=back
-
-=head2 Parsing
-
-
-$obj-E<gt>B<consumeComment>(STRING)
-
-Mail::Message::Field::Unstructured-E<gt>B<consumeComment>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Parsing">
-
-=back
-
-$obj-E<gt>B<consumeDotAtom>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Parsing">
-
-=back
-
-$obj-E<gt>B<consumePhrase>(STRING)
-
-Mail::Message::Field::Unstructured-E<gt>B<consumePhrase>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Parsing">
-
-=back
-
-$obj-E<gt>B<parse>(STRING)
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Parsing">
-
-=back
-
-$obj-E<gt>B<produceBody>
-
-=over 4
-
-See L<Mail::Message::Field::Full/"Parsing">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Field::Unstructured-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Field::Unstructured-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Field::Unstructured-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> Field content is not numerical: $content
-
-The numeric value of a field is requested (for instance the C<Lines> or
-C<Content-Length> fields should be numerical), however the data contains
-weird characters.
-
-I<Warning:> Illegal character in charset '$charset'
-
-The field is created with an utf8 string which only contains data from the
-specified character set.  However, that character set can never be a valid
-name because it contains characters which are not permitted.
-
-I<Warning:> Illegal character in field name $name
-
-A new field is being created which does contain characters not permitted
-by the RFCs.  Using this field in messages may break other e-mail clients
-or transfer agents, and therefore mutulate or extinguish your message.
-
-I<Warning:> Illegal character in language '$lang'
-
-The field is created with data which is specified to be in a certain language,
-however, the name of the language cannot be valid: it contains characters
-which are not permitted by the RFCs.
-
-I<Warning:> Illegal encoding '$encoding', used 'q'
-
-The RFCs only permit base64 (C<b > or C<B >) or quoted-printable
-(C<q> or C<Q>) encoding.  Other than these four options are illegal.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field/Unstructured.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Field/Unstructured.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Field.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,493 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message::Field;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Reporter';
-
-use Carp;
-use Mail::Address;
-use POSIX      'strftime';
-use IO::Handle;
-
-our %_structured;  # not to be used directly: call isStructured!
-my $default_wrap_length = 78;
-
-
-use overload qq("") => sub { $_[0]->unfoldedBody }
-           , '+0'   => sub { $_[0]->toInt || 0 }
-           , bool   => sub {1}
-           , cmp    => sub { $_[0]->unfoldedBody cmp "$_[1]" }
-           , '<=>'  => sub { $_[2]
-                           ? $_[1]        <=> $_[0]->toInt
-                           : $_[0]->toInt <=> $_[1]
-                           }
-           , fallback => 1;
-
-#------------------------------------------
-
-
-sub new(@)
-{   my $class = shift;
-    if($class eq __PACKAGE__)  # bootstrap
-    {   require Mail::Message::Field::Fast;
-        return Mail::Message::Field::Fast->new(@_);
-    }
-    $class->SUPER::new(@_);
-}
-
-#------------------------------------------
-
-
-sub length { length shift->folded }
-
-#------------------------------------------
-
-
-BEGIN {
-%_structured = map { (lc($_) => 1) }
-  qw/To Cc Bcc From Date Reply-To Sender
-     Resent-Date Resent-From Resent-Sender Resent-To Return-Path
-     List-Help List-Post List-Unsubscribe Mailing-List
-     Received References Message-ID In-Reply-To
-     Content-Length Content-Type Content-Disposition
-     Delivered-To
-     Lines
-     MIME-Version
-     Precedence
-     Status/;
-} 
-
-sub isStructured(;$)
-{   my $name  = ref $_[0] ? shift->name : $_[1];
-    exists $_structured{lc $name};
-}
-
-#------------------------------------------
-
-
-sub print(;$)
-{   my $self = shift;
-    my $fh   = shift || select;
-    $fh->print(scalar $self->folded);
-}
-
-#------------------------------------------
-
-
-sub toString(;$) {shift->string(@_)}
-sub string(;$)
-{   my $self  = shift;
-    return $self->folded unless @_;
-
-    my $wrap  = shift || $default_wrap_length;
-    my $name  = $self->Name;
-    my @lines = $self->fold($name, $self->unfoldedBody, $wrap);
-    $lines[0] = $name . ':' . $lines[0];
-    wantarray ? @lines : join('', @lines);
-}
-
-#------------------------------------------
-
-
-sub toDisclose()
-{   shift->name !~ m!^(?: (?:x-)?status
-                      |   (?:resent-)?bcc
-                      |   Content-Length
-                      |   x-spam-
-                      ) $!x;
-}
-
-#------------------------------------------
-
-
-sub nrLines() { my @l = shift->foldedBody; scalar @l }
-
-#------------------------------------------
-
-
-*size = \&length;
-
-#------------------------------------------
-
-
-# attempt to change the case of a tag to that required by RFC822. That
-# being all characters are lowercase except the first of each
-# word. Also if the word is an `acronym' then all characters are
-# uppercase. We, rather arbitrarily, decide that a word is an acronym
-# if it does not contain a vowel and isn't the well-known 'Cc' or
-# 'Bcc' headers.
-
-my %wf_lookup
-  = qw/mime MIME  ldap LDAP  soap SOAP  swe SWE
-       bcc Bcc  cc Cc  id ID/;
-
-sub wellformedName(;$)
-{   my $thing = shift;
-    my $name = @_ ? shift : $thing->name;
-
-    join '-',
-       map { $wf_lookup{lc $_} || ( /[aeiouyAEIOUY]/ ? ucfirst lc : uc ) }
-          split /\-/, $name, -1;
-}
-
-#------------------------------------------
-
-
-sub folded { shift->notImplemented }
-
-#------------------------------------------
-
-
-sub body()
-{   my $self = shift;
-    my $body = $self->unfoldedBody;
-    return $body unless $self->isStructured;
-
-    $body =~ s/\s*\;.*//s;
-    $body;
-}
-
-#------------------------------------------
-
-
-sub foldedBody { shift->notImplemented }
-
-#------------------------------------------
-
-
-sub unfoldedBody { shift->notImplemented }
-
-#------------------------------------------
-
-
-sub stripCFWS($)
-{   my $thing  = shift;
-
-    # get (folded) data
-    my $string = @_ ? shift : $thing->foldedBody;
-
-    # remove comments
-    my $r          = '';
-    my $in_dquotes = 0;
-    my $open_paren = 0;
-
-    my @s = split m/([()"])/, $string;
-    while(@s)
-    {   my $s = shift @s;
-
-           if(CORE::length($r)&& substr($r, -1) eq "\\")  { $r .= $s }
-        elsif($s eq '"')   { $in_dquotes = not $in_dquotes; $r .= $s }
-        elsif($s eq '(' && !$in_dquotes) { $open_paren++ }
-        elsif($s eq ')' && !$in_dquotes) { $open_paren-- }
-        elsif($open_paren) {}  # in comment
-        else               { $r .= $s }
-    }
-
-    # beautify and unfold at the same time
-    for($r)
-    {  s/\s+/ /gs;
-       s/\s+$//;
-       s/^\s+//;
-    }
-
-    $r;
-}
-
-#------------------------------------------
-
-
-sub comment(;$)
-{   my $self = shift;
-    return undef unless $self->isStructured;
-
-    my $body = $self->unfoldedBody;
-
-    if(@_)
-    {   my $comment = shift;
-        $body    =~ s/\s*\;.*//;
-        $body   .= "; $comment" if defined $comment && CORE::length($comment);
-        $self->unfoldedBody($body);
-        return $comment;
-    }
- 
-    $body =~ s/.*?\;\s*// ? $body : '';
-}
-
-#------------------------------------------
-
-sub content() { shift->unfoldedBody }  # Compatibility
-
-#------------------------------------------
-
-
-sub attribute($;$)
-{   my ($self, $attr) = (shift, shift);
-    my $body  = $self->unfoldedBody;
-
-    unless(@_)
-    {   return
-           $body =~ m/\b$attr\s*\=\s*
-                       ( "( (?: [^"]|\\" )* )"
-                       | '( (?: [^']|\\' )* )'
-                       | ([^;\s]*)
-                       )
-                  /xi ? $+ : undef;
-    }
-
-    my $value = shift;
-    unless(defined $value)  # remove attribute
-    {   for($body)
-        {      s/\b$attr\s*=\s*'([^']|\\')*'//i
-            or s/\b$attr\s*=\s*"([^"]|\\")*"//i
-            or s/\b$attr\s*=\s*[;\s]*//i;
-        }
-        $self->unfoldedBody($body);
-        return undef;
-    }
-
-    (my $quoted = $value) =~ s/"/\\"/g;
-    for($body)
-    {       s/\b$attr\s*=\s*'([^']|\\')*'/$attr="$quoted"/i
-         or s/\b$attr\s*=\s*"([^"]|\\")*"/$attr="$quoted"/i
-         or s/\b$attr\s*=\s*[^;\s]+/$attr="$quoted"/i
-         or do { $_ .= qq(; $attr="$quoted") }
-    }
-
-    $self->unfoldedBody($body);
-    $value;
-}
-
-#------------------------------------------
-
-
-sub attributes()
-{   my $self  = shift;
-    my $body  = $self->unfoldedBody;
-
-    my @attrs;
-    while($body =~ m/\b(\w+)\s*\=\s*
-                       ( "( (?: [^"]|\\" )* )"
-                       | '( (?: [^']|\\' )* )'
-                       | ([^;\s]*)
-                       )
-                    /xig)
-    {   push @attrs, $1 => $+;
-    }
-
-    @attrs;
-}
-
-#------------------------------------------
-
-
-sub toInt()
-{   my $self = shift;
-    return $1 if $self->body =~ m/^\s*(\d+)\s*$/;
-
-    $self->log(WARNING => "Field content is not numerical: ". $self->toString);
-
-    return undef;
-}
-
-#------------------------------------------
-
-
-my @weekday = qw/Sun Mon Tue Wed Thu Fri Sat Sun/;
-my @month   = qw/Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec/;
-
-sub toDate(@)
-{   my $class  = shift;
-    my @time   = @_== 0 ? localtime() : @_==1 ? localtime(shift) : @_;
-    my $format = "$weekday[$time[6]], %d $month[$time[4]] %Y %H:%M:%S %z";
-    my $time   = strftime($format, @time);
-
-    # for C libs which do not (GNU compliantly) support %z
-    $time =~ s/ (\%z|[A-Z ]+)$/_tz_offset($1)/e;
-
-    $time; 
-}
-
-sub _tz_offset($)
-{  my $zone = shift;
-   require Time::Zone;
-
-   my $diff = $zone eq '%z' ? Time::Zone::tz_local_offset()
-           :                  Time::Zone::tz_offset($zone);
-   my $minutes = int((abs($diff)+0.01) / 60);     # float rounding errors
-   my $hours   = int(($minutes+0.01) / 60);
-   $minutes   -= $hours * 60;
-   sprintf( ($diff < 0 ? " -%02d%02d" : " +%02d%02d"), $hours, $minutes);
-}
-
-#------------------------------------------
-
-
-sub addresses() { Mail::Address->parse(shift->unfoldedBody) }
-
-#------------------------------------------
-
-
-sub study()
-{   my $self = shift;
-    require Mail::Message::Field::Full;
-    Mail::Message::Field::Full->new(scalar $self->folded);
-}
-
-#------------------------------------------
-
-
-sub dateToTimestamp($)
-{   my $string = $_[0]->stripCFWS($_[1]);
-
-    # in RFC822, FWSes can appear within the time.
-    $string =~ s/(\d\d)\s*\:\s*(\d\d)\s*\:\s*(\d\d)/$1:$2:$3/;
-
-    require Date::Parse;
-    Date::Parse::str2time($string, 'GMT');
-}
-
-
-#------------------------------------------
-
-
-#=notice Empty field: $name
-#Empty fields are not allowed, however sometimes found in messages constructed
-#by broken applications.  You probably want to ignore this message unless you
-#wrote this broken application yourself.
-
-sub consume($;$)
-{   my $self = shift;
-    my ($name, $body) = defined $_[1] ? @_ : split(/\s*\:\s*/, (shift), 2);
-
-    Mail::Reporter->log(WARNING => "Illegal character in field name $name")
-       if $name =~ m/[^\041-\071\073-\176]/;
-
-    #
-    # Compose the body.
-    #
-
-    if(ref $body)                 # Objects or array
-    {   my $flat = $self->stringifyData($body) or return ();
-        $body = $self->fold($name, $flat);
-    }
-    elsif($body !~ s/\n+$/\n/g)   # Added by user...
-    {   $body = $self->fold($name, $body);
-    }
-    else                          # Created by parser
-    {   # correct erroneous wrap-seperators (dos files under UNIX)
-        $body =~ s/[\012\015]+/\n/g;
-        $body =~ s/^[ \t]*/ /;  # start with one blank, folding kept unchanged
-
-        $self->log(NOTICE => "Empty field: $name")
-           if $body eq " \n";
-    }
-
-    ($name, $body);
-}
-
-#------------------------------------------
-
-
-sub stringifyData($)
-{  my ($self, $arg) = (shift, shift);
-   my @addr;
-   foreach my $obj (ref $arg eq 'ARRAY' ? @$arg : ($arg))
-   {  next unless defined $obj;
-
-      if(!ref $obj)                  { push @addr, $obj; next }
-      if($obj->isa('Mail::Address')) { push @addr, $obj->format; next }
-
-      if($obj->isa('Mail::Identity') || $obj->isa('User::Identity'))
-      {   require Mail::Message::Field::Address;
-          push @addr, Mail::Message::Field::Address->coerce($obj)->string;
-      }
-      elsif($obj->isa('User::Identity::Collection::Emails'))
-      {   my @roles = $obj->roles or next;
-          require Mail::Message::Field::AddrGroup;
-          my $group = Mail::Message::Field::AddrGroup->coerce($obj);
-          push @addr, $group->string if $group;
-      }
-      else
-      {    # any other object is stringified
-           push @addr, "$obj";
-      }
-   }
-
-   @addr ? join(', ', at addr) : undef;
-}
-
-#------------------------------------------
-
-
-sub setWrapLength(;$)
-{   my $self = shift;
-
-    $self->foldedBody(scalar $self->fold($self->Name, $self->unfoldedBody, @_))
-        if @_;
-
-    $self;
-}
-
-#------------------------------------------
-
-
-sub defaultWrapLength(;$)
-{   my $self = shift;
-    @_ ? ($default_wrap_length = shift) : $default_wrap_length;
-}
-
-#------------------------------------------
-
-
-sub fold($$;$)
-{   my $thing = shift;
-    my $name  = shift;
-    my $line  = shift;
-    my $wrap  = shift || $default_wrap_length;
-
-    $line    =~ s/\n\s/ /gms;            # Remove accidental folding
-    return " \n" unless CORE::length($line);  # empty field
-
-    my @folded;
-    while(1)
-    {  my $max = $wrap - (@folded ? 1 : CORE::length($name) + 2);
-       my $min = $max >> 2;
-       last if CORE::length($line) < $max;
-
-          $line =~ s/^ ( .{$min,$max}   # $max to 30 chars
-                        [;,]            # followed at a ; or ,
-                       )[ \t]           # and then a WSP
-                    //x
-       || $line =~ s/^ ( .{$min,$max} ) # $max to 30 chars
-                       [ \t]            # followed by a WSP
-                    //x
-       || $line =~ s/^ ( .{$max,}? )    # longer, but minimal chars
-                       [ \t]            # followed by a WSP
-                    //x
-       || $line =~ s/^ (.*) //x;        # everything
-
-       push @folded, " $1\n";
-    }
-
-    push @folded, " $line\n" if CORE::length($line);
-    wantarray ? @folded : join('', @folded);
-}
-
-#------------------------------------------
-
-
-sub unfold($)
-{   my $string = $_[1];
-    for($string)
-    {   s/\r?\n//gm;
-        s/^ +//;
-    }
-    $string;
-}
-
-#------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Field.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Field.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,1118 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Field - one line of a message header
-
-
-=head1 INHERITANCE
-
- Mail::Message::Field
-   is a Mail::Reporter
-
- Mail::Message::Field is extended by
-   Mail::Message::Field::Fast
-   Mail::Message::Field::Flex
-   Mail::Message::Field::Full
-
-
-=head1 SYNOPSIS
-
- my $field = Mail::Message::Field->new(From => 'fish at tux.aq');
- print $field->name;
- print $field->body;
- print $field->comment;
- print $field->content;  # body & comment
- $field->print(\*OUT);
- print $field->string;
- print "$field\n";
- print $field->attribute('charset') || 'us-ascii';
-
-
-=head1 DESCRIPTION
-
-This implementation follows the guidelines of rfc2822 as close as possible,
-and may there produce a different output than implementations based on
-the obsolete rfc822.  However, the old output will still be accepted.
-
-These objects each store one header line, and facilitates access routines to
-the information hidden in it.  Also, you may want to have a look at the
-added methods of a message:
-
- my @from    = $message->from;
- my $sender  = $message->sender;
- my $subject = $message->subject;
- my $msgid   = $message->messageId;
-
- my @to      = $message->to;
- my @cc      = $message->cc;
- my @bcc     = $message->bcc;
- my @dest    = $message->destinations;
-
- my $other   = $message->get('Reply-To');
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-(stringification) produces the unfolded body of the field, which may
-be what you expect.  This is what makes what the field object seems
-to be a simple string. The string is produced by L<unfoldedBody()|Mail::Message::Field/"Access to the body">.
-
-I<Example:> 
-
- print $msg->get('subject');  # via overloading
- print $msg->get('subject')->unfoldedBody; # same
-
- my $subject = $msg->get('subject') || 'your mail';
- print "Re: $subject\n";
-
-=back
-
-overload: B<+0>
-
-=over 4
-
-(numification) When the field is numeric, the value will be returned.
-The result is produced by L<toInt()|Mail::Message::Field/"Access to the content">.  If the value is not correct,
-a C<0> is produced, to simplify calculations.
-
-=back
-
-overload: B<<=>>
-
-=over 4
-
-(numeric comparison) Compare the integer field contents with something
-else.
-
-I<Example:> 
-
- if($msg->get('Content-Length') > 10000) ...
- if($msg->size > 10000) ... ; # same, but better
-
-=back
-
-overload: B<bool>
-
-=over 4
-
-Always true, to make it possible to say C<if($field)>.
-
-=back
-
-overload: B<cmp>
-
-=over 4
-
-(string comparison) Compare the unfolded body of a field with an other
-field or a string, using the buildin C<cmp>.
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>
-
-=over 4
-
-Create a copy of this field object.
-
-=back
-
-Mail::Message::Field-E<gt>B<new>(DATA)
-
-=over 4
-
-See L<Mail::Message::Field::Fast::new()|Mail::Message::Field::Fast/"METHODS">,
-L<Mail::Message::Field::Flex::new()|Mail::Message::Field::Flex/"METHODS">,
-and L<Mail::Message::Field::Full::new()|Mail::Message::Field::Full/"METHODS">.
-By default, a C<Fast> field is produced.
-
- Option  Defined in       Default      
- log     L<Mail::Reporter>  C<'WARNINGS'>
- trace   L<Mail::Reporter>  C<'WARNINGS'>
-
-. log LEVEL
-
-. trace LEVEL
-
-=back
-
-=head2 The field
-
-
-$obj-E<gt>B<isStructured>
-
-Mail::Message::Field-E<gt>B<isStructured>
-
-=over 4
-
-Some fields are described in the RFCs as being I<structured>: having a
-well described syntax.  These fields have common ideas about comments
-and the like, what they do not share with unstructured fields, like
-the C<Subject> field.
-
-I<Example:> 
-
- my $field = Mail::Message::Field->new(From => 'me');
- if($field->isStructured)
-
- Mail::Message::Field->isStructured('From');
-
-=back
-
-$obj-E<gt>B<length>
-
-=over 4
-
-Returns the total length of the field in characters, which includes the
-field's name, body and folding characters.
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-Returns the number of lines needed to display this header-line.
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-Print the whole header-line to the specified file-handle. One line may
-result in more than one printed line, because of the folding of long
-lines.  The FILEHANDLE defaults to the selected handle.
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-Returns the number of bytes needed to display this header-line, Same
-as L<length()|Mail::Message::Field/"The field">.
-
-=back
-
-$obj-E<gt>B<string>([WRAP])
-
-=over 4
-
-Returns the field as string.  By default, this returns the same as
-L<folded()|Mail::Message::Field/"Access to the body">. However, the optional WRAP will cause to re-fold to take
-place (without changing the folding stored inside the field).
-
-=back
-
-$obj-E<gt>B<toDisclose>
-
-=over 4
-
-Returns whether this field can be disclosed to other people, for instance
-when sending the message to an other party.  Returns a C<true> or C<false>
-condition.
-See also L<Mail::Message::Head::Complete::printUndisclosed()|Mail::Message::Head::Complete/"Access to the header">.
-
-=back
-
-=head2 Access to the name
-
-
-$obj-E<gt>B<Name>
-
-=over 4
-
-Returns the name of this field in original casing.  See L<name()|Mail::Message::Field/"Access to the name"> as well.
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-Returns the name of this field, with all characters lower-cased for
-ease of comparison.  See L<Name()|Mail::Message::Field/"Access to the name"> as well.
-
-=back
-
-$obj-E<gt>B<wellformedName>([STRING])
-
-=over 4
-
-(Instance method class method)
-As instance method, the current field's name is correctly formatted
-and returned.  When a STRING is used, that one is formatted.
-
-I<Example:> 
-
- print Mail::Message::Field->Name('content-type')
-   # -->  Content-Type
-
- my $field = $head->get('date');
- print $field->Name;
-   # -->  Date
-
-=back
-
-=head2 Access to the body
-
-
-$obj-E<gt>B<body>
-
-=over 4
-
-This method may be what you want, but usually, the L<foldedBody()|Mail::Message::Field/"Access to the body"> and
-L<unfoldedBody()|Mail::Message::Field/"Access to the body"> are what you are looking for.  This method is
-cultural heritage, and should be avoided.
-
-Returns the body of the field.  When this field is structured, it will
-be B<stripped> from everything what is behind the first semi-color (C<;>).
-In any case, the string is unfolded.  
-Whether the field is structured is defined by L<isStructured()|Mail::Message::Field/"The field">.
-
-=back
-
-$obj-E<gt>B<folded>
-
-=over 4
-
-Returns the folded version of the whole header.  When the header is
-shorter than the wrap length, a list of one line is returned.  Otherwise
-more lines will be returned, all but the first starting with at least
-one blank.  See also L<foldedBody()|Mail::Message::Field/"Access to the body"> to get the same information without
-the field's name.
-
-In scalar context, the lines are delived into one string, which is
-a little faster because that's the way they are stored internally...
-
-I<Example:> 
-
- my @lines = $field->folded;
- print $field->folded;
- print scalar $field->folded; # faster
-
-=back
-
-$obj-E<gt>B<foldedBody>([BODY])
-
-=over 4
-
-Returns the body as a set of lines. In scalar context, this will be one line
-containing newlines.  Be warned about the newlines when you do
-pattern-matching on the result of thie method.
-
-The optional BODY argument changes the field's body.  The folding of the
-argument must be correct.
-
-=back
-
-$obj-E<gt>B<stripCFWS>([STRING])
-
-Mail::Message::Field-E<gt>B<stripCFWS>([STRING])
-
-=over 4
-
-Remove the I<comments> and I<folding white spaces> from the STRING.  Without
-string and only as instance method, the L<unfoldedBody()|Mail::Message::Field/"Access to the body"> is being stripped
-and returned.
-
-WARNING: This operation is only allowed for structured header fields (which
-are defined by the various RFCs as being so.  You don't want parts within
-braces which are in the Subject header line to be removed, to give an
-example.
-
-=back
-
-$obj-E<gt>B<unfoldedBody>([BODY, [WRAP]])
-
-=over 4
-
-Returns the body as one single line, where all folding information (if
-available) is removed.  This line will also NOT end on a new-line.
-
-The optional BODY argument changes the field's body.  The right folding is
-performed before assignment.  The WRAP may be specified to enforce a
-folding size.
-
-I<Example:> 
-
- my $body = $field->unfoldedBody;
- print "$field";   # via overloading
-
-=back
-
-=head2 Access to the content
-
-
-$obj-E<gt>B<addresses>
-
-=over 4
-
-Returns a list of Mail::Address objects, which represent the
-e-mail addresses found in this header line.
-
-I<Example:> 
-
- my @addr = $message->head->get('to')->addresses;
- my @addr = $message->to;
-
-=back
-
-$obj-E<gt>B<attribute>(NAME [, VALUE])
-
-=over 4
-
-Get the value of an attribute, optionally after setting it to a new value.
-Attributes are part of some header lines, and hide themselves in the
-comment field.  If the attribute does not exist, then C<undef> is
-returned.  The attribute is still encoded.
-
-I<Example:> 
-
- my $field = Mail::Message::Field->new(
-  'Content-Type: text/plain; charset="us-ascii"');
-
- print $field->attribute('charset');
-   # --> us-ascii
-
- print $field->attribute('bitmap') || 'no'
-   # --> no
-
- $field->atrribute(filename => '/tmp/xyz');
- $field->print;
-   # --> Content-Type: text/plain; charset="us-ascii";
-   #       filename="/tmp/xyz"
-   # Automatically folded, and no doubles created.
-
-=back
-
-$obj-E<gt>B<attributes>
-
-=over 4
-
-Returns a list of key-value pairs, where the values are not yet decoded.
-
-I<Example:> 
-
- my %attributes = $head->get('Content-Disposition')->attributes;
-
-=back
-
-$obj-E<gt>B<comment>([STRING])
-
-=over 4
-
-Returns the unfolded comment (part after a semi-colon) in a structureed
-header-line. optionally after setting it to a new STRING first.
-When C<undef> is specified as STRING, the comment is removed.
-Whether the field is structured is defined by L<isStructured()|Mail::Message::Field/"The field">.
-
-The I<comment> part of a header field often contains C<attributes>.  Often
-it is preferred to use L<attribute()|Mail::Message::Field/"Access to the content"> on them.
-
-=back
-
-$obj-E<gt>B<study>
-
-=over 4
-
-Study the header field in detail: turn on the full parsing and detailed
-understanding of the content of the fields.  L<Mail::Message::Field::Fast|Mail::Message::Field::Fast>
-and L<Mail::Message::Field::Fast|Mail::Message::Field::Fast> objects will be transformed into any
-L<Mail::Message::Field::Full|Mail::Message::Field::Full> object.
-
-I<Example:> 
-
- my $subject = $msg->head->get('subject')->study;
- my $subject = $msg->head->study('subject');  # same
- my $subject = $msg->study('subject');        # same
-
-=back
-
-$obj-E<gt>B<toDate>([TIME])
-
-Mail::Message::Field-E<gt>B<toDate>([TIME])
-
-=over 4
-
-Convert a timestamp into an rfc2822 compliant date format.  This differs
-from the default output of C<localtime> in scalar context.  Without
-argument, the C<localtime> is used to get the current time. TIME can
-be specified as one numeric (like the result of C<time()>) and as list
-(like produced by c<localtime()> in list context).
-
-Be sure to have your timezone set right, especially when this script
-runs automatically.
-
-I<Example:> 
-
- my $now = time;
- Mail::Message::Field->toDate($now);
- Mail::Message::Field->toDate(time);
-
- Mail::Message::Field->toDate(localtime);
- Mail::Message::Field->toDate;      # same
- # returns someting like:
- #     Wed, 28 Aug 2002 10:40:25 +0200
-
-=back
-
-$obj-E<gt>B<toInt>
-
-=over 4
-
-Returns the value which is related to this field as integer.  A check is
-performed whether this is right.
-
-=back
-
-=head2 Other methods
-
-
-$obj-E<gt>B<dateToTimestamp>(STRING)
-
-Mail::Message::Field-E<gt>B<dateToTimestamp>(STRING)
-
-=over 4
-
-Convert a STRING which represents and RFC compliant time string into
-a timestamp like is produced by the C<time> function.
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<consume>(LINE | (NAME,BODY|OBJECTS))
-
-=over 4
-
-Accepts a whole field LINE, or a pair with the field's NAME and BODY. In
-the latter case, the BODY data may be specified as array of OBJECTS which
-are stringified.  Returned is a nicely formatted pair of two strings: the
-field's name and a folded body.
-
-This method is called by L<new()|Mail::Message::Field/"Constructors">, and usually not by an application
-program. The details about converting the OBJECTS to a field content
-are explained in L</Specifying field data>.
-
-=back
-
-$obj-E<gt>B<defaultWrapLength>([LENGTH])
-
-=over 4
-
-Any field from any header for any message will have this default wrapping.
-This is maintained in one global variable.  Without a specified LENGTH,
-the current value is returned.  The default is 78.
-
-=back
-
-$obj-E<gt>B<fold>(NAME, BODY, [MAXCHARS])
-
-Mail::Message::Field-E<gt>B<fold>(NAME, BODY, [MAXCHARS])
-
-=over 4
-
-Make the header field with NAME fold into multiple lines.
-Wrapping is performed by inserting newlines before a blanks in the
-BODY, such that no line exceeds the MAXCHARS and each line is as long
-as possible.
-
-The RFC requests for folding on nice spots, but this request is
-mainly ignored because it would make folding too slow.
-
-=back
-
-$obj-E<gt>B<setWrapLength>([LENGTH])
-
-=over 4
-
-Force the wrapping of this field to the specified LENGTH characters. The
-wrapping is performed with L<fold()|Mail::Message::Field/"Internals"> and the results stored within
-the field object.
-
-I<Example:> refolding the field
-
-
- $field->setWrapLength(99);
-
-=back
-
-$obj-E<gt>B<stringifyData>(STRING|ARRAY|OBJECTS)
-
-=over 4
-
-This method implements the translation of user supplied objects into
-ascii fields.  The process is explained in L</Specifying field data>.
-
-=back
-
-$obj-E<gt>B<unfold>(STRING)
-
-=over 4
-
-The reverse action of L<fold()|Mail::Message::Field/"Internals">: all lines which form the body of a field
-are joined into one by removing all line terminators (even the last).
-Possible leading blanks on the first line are removed as well.
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Field-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Field-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Field-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> Field content is not numerical: $content
-
-The numeric value of a field is requested (for instance the C<Lines> or
-C<Content-Length> fields should be numerical), however the data contains
-weird characters.
-
-I<Warning:> Illegal character in field name $name
-
-A new field is being created which does contain characters not permitted
-by the RFCs.  Using this field in messages may break other e-mail clients
-or transfer agents, and therefore mutulate or extinguish your message.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-=head1 DETAILS
-
-
-=head2 Field syntax
-
-Fields are stored in the header of a message, which are represented by
-L<Mail::Message::Head|Mail::Message::Head> objects. A field is a combination of a I<name>,
-I<body>, and I<attributes>.  Especially the term "body" is cause for
-confusion: sometimes the attributes are considered to be part of the body.
-
-The name of the field is followed by a colon ("C<:>", not preceeded by
-blanks, but followed by one blank).  Each attribute is preceeded by
-a separate semi-colon ("C<;>").  Names of fields are case-insensitive and
-cannot contain blanks.
-
-I<Example:> of fields
-
-
-Correct fields:
-
- Field: hi!
- Content-Type: text/html; charset=latin1
- 
-Incorrect fields, but accepted:
-
- Field : wrong, blank before colon
- Field:                 # wrong, empty
- Field:not nice, blank preferred after colon
- One Two: wrong, blank in name
-
-=head3 Folding fields
-
-Fields which are long can be folded to span more than one line.  The real
-limit for lines in messages is only at 998 characters, however such long
-lines are not easy to read without support of an application.  Therefore
-rfc2822 (which defines the message syntax) specifies explicitly that
-field lines can be re-formatted into multiple sorter lines without change
-of meaning, by adding new-line characters to any field before any blank or
-tab.
-
-Usually, the lines are reformatted to create lines which are 78 characters
-maximum. Some applications try harder to fold on nice spots, like before
-attributes.  Especially the C<Received> field is often manually folded into
-some nice layout.  In most cases however, it is preferred to produce lines
-which are as long as possible but max 78.
-
-BE WARNED that all fields can be subjected to folding, and that you usually
-want the unfolded value.
-
-I<Example:> of field folding
-
-
- Subject: this is a short line, and not folded
-
- Subject: this subject field is much longer, and therefore
-  folded into multiple
-  lines, although one more than needed.
-
-=head3 Structured fields
-
-The rfc2822 describes a large number of header fields explicitly.  These
-fields have a defined meaning.  For some of the fields, like the C<Subject>
-field, the meaning is straight forward the contents itself.  These fields
-are the I<Unstructured Fields>.
-
-Other fields have a well defined internal syntax because their content is
-needed by e-mail applications. For instance, the C<To> field contains
-addresses which must be understood by all applications in the same way.
-These are the I<Structured Fields>, see L<isStructured()|Mail::Message::Field/"The field">.
-
-=head3 Comments in fields
-
-Stuctured fields can contain comments, which are pieces of text enclosed in
-parenthesis.  These comments can be placed close to anywhere in the line
-and must be ignored be the application.  Not all applications are capable
-of handling comments correctly in all circumstances.
-
-I<Example:> of field comments
-
-
- To: mailbox (Mail::Box mailinglist) <mailbox at overmeer.net>
- Date: Thu, 13 Sep 2001 09:40:48 +0200 (CEST)
- Subject: goodbye (was: hi!)
-
-On the first line, the text "Mail::Box mailinglist" is used as comment.
-Be warned that rfc2822 explicitly states that comments in e-mail address
-specifications should not be considered to contain any usable information.
-
-On the second line, the timezone is specified as comment. The C<Date>
-field format has no way to indicate the timezone of the sender, but only
-contains the timezone difference to UTC, however one could decide to add
-this as comment.  Application must ignore this data because the C<Date>
-field is structured.
-
-The last field is unstructured.  The text between parantheses is an
-integral part of the subject line.
-
-=head2 Getting a field
-
-As many programs as there are handling e-mail, as many variations on
-accessing the header information are requested.  Be careful which way
-you access the data: read the variations described here and decide
-which solution suites your needs best.
-
-=head3 Using get() field
-
-The C<get()> interface is copied from other Perl modules which can
-handle e-mail messages.  Many applications which simply replace
-Mail::Internet objects by L<Mail::Message|Mail::Message> objects will work
-without modification.
-
-There is more than one get method.  The exact results depend on which
-get you use.  When L<Mail::Message::get()|Mail::Message/"The header"> is called, you will get the
-unfolded, stripped from comments, stripped from attributes contents of
-the field as B<string>.  Character-set encodings will still be in the
-string.  If the same fieldname appears more than once in the header,
-only the last value is returned.
-
-When L<Mail::Message::Head::get()|Mail::Message::Head/"Access to the header"> is called in scalar context, the
-last field with the specified name is returned as field B<object>.
-This object strinigfies into the unfolded contents of the field, including
-attributes and comments.  In list context, all appearances of the field
-in the header are returned as objects.
-
-BE WARNED that some lines seem unique, but are not according to the
-official rfc.  For instance, C<To> fields can appear more than once.
-If your program calls C<get('to')> in scalar context, some information
-is lost.
-
-I<Example:> of using get()
-
-
- print $msg->get('subject') || 'no subject';
- print $msg->head->get('subject') || 'no subject';
-
- my @to = $msg->head->get('to');
-
-=head3 Using study() field
-
-As the name C<study> already implies, this way of accessing the fields is
-much more thorough but also slower.  The C<study> of a field is like a
-C<get>, but provides easy access to the content of the field and handles
-character-set decoding correctly.
-
-The L<Mail::Message::study()|Mail::Message/"The header"> method will only return the last field
-with that name as object.  L<Mail::Message::Head::study()|Mail::Message::Head/"Access to the header"> and
-L<Mail::Message::Field::study()|Mail::Message::Field/"Access to the content"> return all fields when used in list
-context.
-
-I<Example:> of using study()
-
-
- print $msg->study('subject') || 'no subject';
- my @rec  = $msg->head->study('Received');
-
- my $from = $msg->head->get('From')->study;
- my $from = $msg->head->study('From');  # same
- my @addr = $from->addresses;
-
-=head3 Using resent groups
-
-Some fields belong together in a group of fields.  For instance, a set
-of lines is used to define one step in the mail transport process.  Each
-step adds a C<Received> line, and optionally some C<Resent-*> lines and
-C<Return-Path>.  These groups of lines shall stay together and in order
-when the message header is processed.
-
-The C<Mail::Message::Head::ResentGroup> object simplifies the access to
-these related fields.  These resent groups can be deleted as a whole,
-or correctly constructed.
-
-I<Example:> of using resent groups
-
-
- my $rgs = $msg->head->resentGroups;
- $rgs[0]->delete if @rgs;
-
- $msg->head->removeResentGroups;
-
-=head2 The field's data
-
-There are many ways to get the fields info as object, and there are also
-many ways to process this data within the field.
-
-=head3 Access to the field
-
-=over 4
-
-=item * L<string()|Mail::Message::Field/"The field">
-
-Returns the text of the body exactly as will be printed to file when
-L<print()|Mail::Message::Field/"The field"> is called, so name, main body, and attributes.
-
-=item * L<foldedBody()|Mail::Message::Field/"Access to the body">
-
-Returns the text of the body, like L<string()|Mail::Message::Field/"The field">, but without the name of
-the field.
-
-=item * L<unfoldedBody()|Mail::Message::Field/"Access to the body">
-
-Returns the text of the body, like L<foldedBody()|Mail::Message::Field/"Access to the body">, but then with all
-new-lines removed.  This is the normal way to get the content of
-unstructured fields.  Character-set encodings will still be in place.
-Fields are stringified into their unfolded representation.
-
-=item * L<stripCFWS()|Mail::Message::Field/"Access to the body">
-
-Returns the text of structured fields, where new-lines and comments are
-removed from the string.  This is a good start for parsing the field,
-for instance to find e-mail addresses in them.
-
-=item * L<Mail::Message::Field::Full::decodedBody()|Mail::Message::Field::Full/"Access to the body">
-
-Studied fields can produce the unfolded text decoded into utf8 strings.
-This is an expensive process, but the only correct way to get the field's
-data.  More useful for people who are not living in ASCII space.
-
-=item * Studied fields
-
-Studied fields have powerful methods to provide ways to access and produce
-the contents of (structured) fields exactly as the involved rfcs prescribe.
-
-=back
-
-=head3 Using simplified field access
-
-Some fields are accessed that often that there are support methods to
-provide simplified access.  All these methods are called upon a message
-directly.
-
-I<Example:> of simplified field access
-
-
- print $message->subject;
- print $message->get('subject') || '';  # same
-
- my @from = $message->from; # returns addresses
- $message->reply->send if $message->sender;
-
-The C<sender> method will return the address specified in the C<Sender>
-field, or the first named in the C<From> field.  It will return C<undef>
-in case no address is known.
-
-=head3 Specifying field data
-
-Field data can be anything, strongly dependent on the type
-of field at hand. If you decide to contruct the fields very
-carefully via some L<Mail::Message::Field::Full|Mail::Message::Field::Full> extension (like via
-L<Mail::Message::Field::Addresses|Mail::Message::Field::Addresses> objects), then you will have protection
-build-in.  However, you can bluntly create any L<Mail::Message::Field|Mail::Message::Field>
-object based on some data.
-
-When you create a field, you may specify a string, object, or an array
-of strings and objects.  On the moment, objects are only used to help
-the construction on e-mail addresses, however you may add some of your
-own.
-
-The following rules (implemented in L<stringifyData()|Mail::Message::Field/"Internals">) are obeyed given
-the argument is:
-
-=over 4
-
-=item * a string
-
-The string must be following the (complicated) rules of the rfc2822, and
-is made field content as specified.  When the string is not terminated
-by a new-line (C<"\n">) it will be folded according to the standard rules.
-
-=item * a Mail::Address object
-
-The most used Perl object to parse and produce address lines.  This object
-does not understand character set encodings in phrases.
-
-=item * a L<Mail::Identity|Mail::Identity> object
-
-As part of the L<User::Identity|User::Identity> distribution, this object has full
-understanding of the meaning of one e-mail address, related to a person.
-All features defined by rfc2822 are implemented.
-
-=item * a L<User::Identity|User::Identity> object
-
-A person is specified, which may have more than one L<Mail::Identity|Mail::Identity>'s
-defined.  Some methods, like L<Mail::Message::reply()|Mail::Message::Construct::Reply/"Constructing a message"> and
-L<Mail::Message::forward()|Mail::Message::Construct::Forward/"Constructing a message"> try to select the right e-mail address
-smart (see their method descriptions), but in other cases the first
-e-mail address found is used.
-
-=item * a L<User::Identity::Collection::Emails|User::Identity::Collection::Emails> object
-
-All L<Mail::Identity|Mail::Identity> objects in the collection will be included in
-the field as a group carying the name of the collection.
-
-=item * any other object
-
-For all other objects, the stringification overload is used to produce
-the field content.
-
-=item * an ARRAY
-
-You may also specify an array with a mixture of any of the above.  The
-elements will be joined as comma-separated list.  If you do not want
-comma's inbetween, you will have to process the array yourself.
-
-=back
-
-I<Example:> specifying simple field data
-
-
- my $f = Mail::Message::Field->new(Subject => 'hi!');
- my $b = Mail::Message->build(Subject => 'monkey');
-
-I<Example:> s specifying e-mail addresses for a field
-
-
- use Mail::Address;
- my $fish = Mail::Address->new('Mail::Box', 'fish at tux.aq');
- print $fish->format;   # ==> Mail::Box <fish at tux.aq>
- my $exa  = Mail::Address->new(undef, 'me at example.com');
- print $exa->format;    # ==> me at example.com
-
- my $b = $msg->build(To => "you at example.com");
- my $b = $msg->build(To => $fish);
- my $b = $msg->build(To => [ $fish, $exa ]);
-
- my @all = ($fish, "you at example.com", $exa);
- my $b = $msg->build(To => \@all);
- my $b = $msg->build(To => [ "xyz", @all ]);
-
-I<Example:> specifying identities for a field
-
-
- use User::Identity;
- my $patrik = User::Identity->new
-  ( name      => 'patrik'
-  , full_name => "Patrik Fältström"  # from rfc
-  , charset   => "ISO-8859-1"
-  );
- $patrik->add
-  ( email    => "him at home.net"
-  );
-
- my $b = $msg->build(To => $patrik);
-
- $b->get('To')->print;
-   # ==> =?ISO-8859-1?Q?Patrik_F=E4ltstr=F6m?=
-   #     <him at home.net>
-
-=head2 Field class implementation
-
-For performance reasons only, there are three types of fields: the
-fast, the flexible, and the full understander:
-
-=over 4
-
-=item * L<Mail::Message::Field::Fast|Mail::Message::Field::Fast>
-
-C<Fast> objects are not derived from a C<Mail::Reporter>.  The consideration
-is that fields are so often created, and such a small objects at the same
-time, that setting-up a logging for each of the objects is relatively
-expensive and not really useful.
-The fast field implementation uses an array to store the data: that
-will be faster than using a hash.  Fast fields are not easily inheritable,
-because the object creation and initiation is merged into one method.
-
-=item * L<Mail::Message::Field::Flex|Mail::Message::Field::Flex>
-
-The flexible implementation uses a hash to store the data.  The L<new()|Mail::Message::Field/"Constructors">
-and C<init> methods are split, so this object is extensible.
-
-=item * L<Mail::Message::Field::Full|Mail::Message::Field::Full>
-
-With a full implementation of all applicable RFCs (about 5), the best
-understanding of the fields is reached.  However, this comes with
-a serious memory and performance penalty.  These objects are created
-from fast or flex header fields when L<study()|Mail::Message::Field/"Access to the content"> is called.
-
-=back
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Field.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Field.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Complete.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Head/Complete.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Complete.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,566 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message::Head::Complete;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Head';
-
-use Mail::Box::Parser;
-use Mail::Message::Head::Partial;
-
-use Scalar::Util 'weaken';
-use List::Util   'sum';
-
-
-sub clone(;@)
-{   my $self   = shift;
-    my $copy   = ref($self)->new($self->logSettings);
-
-    $copy->addNoRealize($_->clone) foreach $self->orderedFields;
-    $copy->modified(1);
-    $copy;
-}
-
-#------------------------------------------
-
-
-sub build(@)
-{   my $self = shift;
-    my $head = $self->new;
-    while(@_)
-    {   my $name = shift;
-        defined $name or next;
-
-        if($name->isa('Mail::Message::Field'))
-        {   $head->add($name);
-            next;
-        }
-
-        my $content = shift;
-        defined $content or next;
-
-        if(ref $content && $content->isa('Mail::Message::Field'))
-        {   $self->log(WARNING => "Field objects have an implied name ($name)");
-            $head->add($content);
-            next;
-        }
-
-        $head->add($name, $content);
-    }
-
-    $head;
-}
-
-#------------------------------------------
-
-
-sub isDelayed() {0}
-
-#------------------------------------------
-
-
-sub nrLines() { sum 1, map { $_->nrLines } shift->orderedFields }
-
-#------------------------------------------
-
-
-sub size() { sum 1, map {$_->size} shift->orderedFields }
-
-#------------------------------------------
-
-
-sub wrap($)
-{   my ($self, $length) = @_;
-    $_->setWrapLength($length) foreach $self->orderedFields;
-}
-
-#------------------------------------------
-
-
-sub add(@)
-{   my $self = shift;
-
-    # Create object for this field.
-
-    my $field
-      = @_==1 && ref $_[0] ? shift     # A fully qualified field is added.
-      : ($self->{MMH_field_type} || 'Mail::Message::Field::Fast')->new(@_);
-
-    $field->setWrapLength;
-
-    # Put it in place.
-
-    my $known = $self->{MMH_fields};
-    my $name  = $field->name;  # is already lower-cased
-
-    $self->addOrderedFields($field);
-
-    if(defined $known->{$name})
-    {   if(ref $known->{$name} eq 'ARRAY') { push @{$known->{$name}}, $field }
-        else { $known->{$name} = [ $known->{$name}, $field ] }
-    }
-    else
-    {   $known->{$name} = $field;
-    }
-
-    $self->{MMH_modified}++;
-    $field;
-}
-
-#------------------------------------------
-
-
-sub count($)
-{   my $known = shift->{MMH_fields};
-    my $value = $known->{lc shift};
-
-      ! defined $value ? 0
-    : ref $value       ? @$value
-    :                    1;
-}
-
-#------------------------------------------
-
-
-sub names() {shift->knownNames}
- 
-#------------------------------------------
-
-
-sub grepNames(@)
-{   my $self = shift;
-    my @take;
-    push @take, (ref $_ eq 'ARRAY' ? @$_ : $_) foreach @_;
-
-    return $self->names unless @take;
-
-    my $take;
-    if(@take==1 && ref $take[0] eq 'Regexp')
-    {   $take    = $take[0];   # one regexp prepared already
-    }
-    else
-    {   # I love this trick:
-        local $" = ')|(?:';
-        $take    = qr/^(?:(?:@take))/i;
-    }
-
-    grep {$_->Name =~ $take} $self->orderedFields;
-}
-
-#------------------------------------------
-
-
-my @skip_none = qw/content-transfer-encoding content-disposition/;
-my %skip_none = map { ($_ => 1) } @skip_none;
-
-sub set(@)
-{   my $self = shift;
-    my $type = $self->{MMH_field_type} || 'Mail::Message::Field::Fast';
-    $self->{MMH_modified}++;
-
-    # Create object for this field.
-    my $field = @_==1 && ref $_[0] ? shift->clone : $type->new(@_);
-
-    my $name  = $field->name;         # is already lower-cased
-    my $known = $self->{MMH_fields};
-
-    # Internally, non-existing content-info are in the body stored as 'none'
-    # The header will not contain these lines.
-
-    if($skip_none{$name} && $field->body eq 'none')
-    {   delete $known->{$name};
-        return $field;
-    }
-
-    $field->setWrapLength;
-    $known->{$name} = $field;
-
-    $self->addOrderedFields($field);
-    $field;
-}
-
-#------------------------------------------
-
-
-sub reset($@)
-{   my ($self, $name) = (shift, lc shift);
-
-    my $known = $self->{MMH_fields};
-
-    if(@_==0)
-    {   $self->{MMH_modified}++ if delete $known->{$name};
-        return ();
-    }
-
-    $self->{MMH_modified}++;
-
-    # Cloning required, otherwise double registrations will not be
-    # removed from the ordered list: that's controled by 'weaken'
-
-    my @fields = map {$_->clone} @_;
-
-    if(@_==1) { $known->{$name} = $fields[0] }
-    else      { $known->{$name} = [@fields]  }
-
-    $self->addOrderedFields(@fields);
-    $self;
-}
- 
-#------------------------------------------
-
-
-sub delete($) { $_[0]->reset($_[1]) }
-
-#------------------------------------------
-
-
-sub removeField($)
-{   my ($self, $field) = @_;
-    my $name  = $field->name;
-    my $known = $self->{MMH_fields};
-
-    if(!defined $known->{$name})
-    { ; }  # complain
-    elsif(ref $known->{$name} eq 'ARRAY')
-    {    for(my $i=0; $i < @{$known->{$name}}; $i++)
-         {
-             return splice @{$known->{$name}}, $i, 1
-                 if $known->{$name}[$i] eq $field;
-         }
-    }
-    elsif($known->{$name} eq $field)
-    {    return delete $known->{$name};
-    }
-
-    $self->log(WARNING => "Cannot remove field $name from header: not found.");
-
-    return;
-}
-
-#------------------------------------------
-
-
-sub removeFields(@)
-{   my $self = shift;
-    (bless $self, 'Mail::Message::Head::Partial')->removeFields(@_);
-}
-   
-#------------------------------------------
-
-
-sub removeFieldsExcept(@)
-{   my $self = shift;
-    (bless $self, 'Mail::Message::Head::Partial')->removeFieldsExcept(@_);
-}
-
-#------------------------------------------
-
-
-sub removeContentInfo() { shift->removeFields(qr/^Content-/, 'Lines') }
-
-#------------------------------------------
-
-
-sub removeResentGroups(@)
-{   my $self = shift;
-    (bless $self, 'Mail::Message::Head::Partial')->removeResentGroups(@_);
-}
-
-#------------------------------------------
-
-
-sub removeListGroup(@)
-{   my $self = shift;
-    (bless $self, 'Mail::Message::Head::Partial')->removeListGroup(@_);
-}
-
-#------------------------------------------
-
-
-sub removeSpamGroups(@)
-{   my $self = shift;
-    (bless $self, 'Mail::Message::Head::Partial')->removeSpamGroups(@_);
-}
-
-#------------------------------------------
-
-
-sub spamDetected()
-{   my $self = shift;
-    my @sgs = $self->spamGroups or return undef;
-    grep { $_->spamDetected } @sgs;
-}
-
-#------------------------------------------
-
-
-sub print(;$)
-{   my $self  = shift;
-    my $fh    = shift || select;
-
-    $_->print($fh)
-        foreach $self->orderedFields;
-
-    if(ref $fh eq 'GLOB') { print $fh "\n" }
-    else                  { $fh->print("\n") }
-
-    $self;
-}
-
-#------------------------------------------
-
-
-sub printUndisclosed($)
-{   my ($self, $fh) = @_;
-
-    $_->print($fh)
-       foreach grep {$_->toDisclose} $self->orderedFields;
-
-    if(ref $fh eq 'GLOB') { print $fh "\n" }
-    else                  { $fh->print("\n") }
-
-    $self;
-}
-
-#------------------------------------------
-
-                                                                                
-sub printSelected($@)
-{   my ($self, $fh) = (shift, shift);
-
-    foreach my $field ($self->orderedFields)
-    {   my $Name = $field->Name;
-        my $name = $field->name;
-
-        my $found;
-        foreach my $pattern (@_)
-        {   $found = ref $pattern?($Name =~ $pattern):($name eq lc $pattern);
-            last if $found;
-        }
-
-           if(!$found)           { ; }
-        elsif(ref $fh eq 'GLOB') { print $fh "\n" }
-        else                     { $fh->print("\n") }
-    }
-                                                                                
-    $self;
-}
-
-
-#------------------------------------------
-
-
-sub toString() {shift->string}
-sub string()
-{   my $self  = shift;
-
-    my @lines = map {$_->string} $self->orderedFields;
-    push @lines, "\n";
-
-    wantarray ? @lines : join('', @lines);
-}
-
-#------------------------------------------
-
-
-sub resentGroups()
-{   my $self = shift;
-    require Mail::Message::Head::ResentGroup;
-    Mail::Message::Head::ResentGroup->from($self);
-}
-
-#------------------------------------------
-
-
-sub addResentGroup(@)
-{   my $self  = shift;
-
-    require Mail::Message::Head::ResentGroup;
-    my $rg = @_==1 ? (shift) : Mail::Message::Head::ResentGroup->new(@_);
-
-    my @fields = $rg->orderedFields;
-    my $order  = $self->{MMH_order};
-
-    # Look for the first line which relates to resent groups
-    my $i;
-    for($i=0; $i < @$order; $i++)
-    {   next unless defined $order->[$i];
-        last if $rg->isResentGroupFieldName($order->[$i]->name);
-    }
-
-    my $known = $self->{MMH_fields};
-    while(@fields)
-    {   my $f    = pop @fields;
-
-        # Add to the order of fields
-        splice @$order, $i, 0, $f;
-        weaken( $order->[$i] );
-        my $name = $f->name;
-
-        # Adds *before* in the list for get().
-           if(!defined $known->{$name})      {$known->{$name} = $f}
-        elsif(ref $known->{$name} eq 'ARRAY'){unshift @{$known->{$name}},$f}
-        else                       {$known->{$name} = [$f, $known->{$name}]}
-    }
-
-    $rg->messageHead($self);
-
-    # Oh, the header has changed!
-    $self->modified(1);
-
-    $rg;
-}
-
-#------------------------------------------
-
-
-sub listGroup()
-{   my $self = shift;
-    eval "require 'Mail::Message::Head::ListGroup'";
-    Mail::Message::Head::ListGroup->from($self);
-}
-
-#------------------------------------------
-
-
-sub addListGroup($)
-{   my ($self, $lg) = @_;
-    $lg->attach($self);
-}
-
-#------------------------------------------
-
-
-sub spamGroups(@)
-{   my $self = shift;
-    require Mail::Message::Head::SpamGroup;
-    my @types = @_ ? (types => \@_) : ();
-    my @sgs   = Mail::Message::Head::SpamGroup->from($self, @types);
-    wantarray || @_ != 1 ? @sgs : $sgs[0];
-}
-
-#------------------------------------------
-
-
-sub addSpamGroup($)
-{   my ($self, $sg) = @_;
-    $sg->attach($self);
-}
-
-#------------------------------------------
-
-
-
-sub timestamp() {shift->guessTimestamp || time}
-
-#------------------------------------------
-
-
-sub recvstamp()
-{   my $self = shift;
-
-    return $self->{MMH_recvstamp} if exists $self->{MMH_recvstamp};
-
-    my $recvd = $self->get('received', 0) or
-        return $self->{MMH_recvstamp} = undef;
-
-    my $stamp = Mail::Message::Field->dateToTimestamp($recvd->comment);
-
-    $self->{MMH_recvstamp} = defined $stamp && $stamp > 0 ? $stamp : undef;
-}
-
-#------------------------------------------
-
-
-sub guessTimestamp()
-{   my $self = shift;
-    return $self->{MMH_timestamp} if exists $self->{MMH_timestamp};
-
-    my $stamp;
-    if(my $date = $self->get('date'))
-    {   $stamp = Mail::Message::Field->dateToTimestamp($date);
-    }
-
-    unless($stamp)
-    {   foreach (reverse $self->get('received'))
-        {   $stamp = Mail::Message::Field->dateToTimestamp($_->comment);
-            last if $stamp;
-        }
-    }
-
-    $self->{MMH_timestamp} = defined $stamp && $stamp > 0 ? $stamp : undef;
-}
-
-#------------------------------------------
-
-sub guessBodySize()
-{   my $self = shift;
-
-    my $cl = $self->get('Content-Length');
-    return $1 if defined $cl && $cl =~ m/(\d+)/;
-
-    my $lines = $self->get('Lines');   # 40 chars per lines
-    return $1 * 40   if defined $lines && $lines =~ m/(\d+)/;
-
-    undef;
-}
-
-#------------------------------------------
-
-
-sub createFromLine()
-{   my $self   = shift;
-
-    my $from   = $self->get('from') || '';
-    my $stamp  = $self->timestamp;
-    my $sender = $from =~ m/(\<.*?\>)/ ? $1 : 'unknown';
-    "From $sender ".(gmtime $stamp)."\n";
-}
-
-#------------------------------------------
-
-
-my $msgid_creator;
-
-sub createMessageId()
-{   $msgid_creator ||= $_[0]->messageIdPrefix;
-    $msgid_creator->(@_);
-}
-
-#------------------------------------------
-
-
-sub messageIdPrefix(;$$)
-{   my $thing = shift;
-    return $msgid_creator
-       unless @_ || !defined $msgid_creator;
-
-    return $msgid_creator = shift
-       if @_==1 && ref $_[0] eq 'CODE';
-
-    my $prefix   = shift || "mailbox-$$";
-
-    my $hostname = shift;
-    unless(defined $hostname)
-    {   require Sys::Hostname;
-        $hostname = Sys::Hostname::hostname() || 'localhost';
-    }
-
-    eval {require Time::HiRes};
-    if(Time::HiRes->can('gettimeofday'))
-    {
-        return $msgid_creator
-          = sub { my ($sec, $micro) = Time::HiRes::gettimeofday();
-                  "$prefix-$sec-$micro\@$hostname";
-                };
-    }
-
-    my $unique_id = time;
-    $msgid_creator
-      = sub { $unique_id++;
-              "$prefix-$unique_id\@$hostname";
-            };
-}
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Complete.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Head/Complete.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Complete.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Head/Complete.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Complete.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,1003 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Head::Complete - the header of one message
-
-
-=head1 INHERITANCE
-
- Mail::Message::Head::Complete
-   is a Mail::Message::Head
-   is a Mail::Reporter
-
- Mail::Message::Head::Complete is extended by
-   Mail::Message::Head::Partial
-   Mail::Message::Replace::MailHeader
-
- Mail::Message::Head::Complete is realized by
-   Mail::Message::Head::Delayed
-   Mail::Message::Head::Subset
-
-
-=head1 SYNOPSIS
-
- my $head = Mail::Message::Head::Complete->new;
- See Mail::Message::Head
-
-
-=head1 DESCRIPTION
-
-E-mail's message can be in various states: unread, partially read, and
-fully read.  The class stores a message of which all header lines are
-known for sure.
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Message::Head/"OVERLOADED">
-
-=back
-
-overload: B<bool>
-
-=over 4
-
-See L<Mail::Message::Head/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<build>([PAIR|FIELD]-LIST)
-
-=over 4
-
-Undefined values are interpreted as empty field values, and therefore skipped.
-
-=back
-
-$obj-E<gt>B<clone>([FIELDS])
-
-=over 4
-
-Make a copy of the header, optionally limited only to the header lines
-specified by FIELDS.  The lines which are taken must start with one of the
-list.  If no list is specified, all will be taken.
-
-I<Example:> 
-
- my $newhead = $head->clone('Subject', 'Received');
-
-=back
-
-Mail::Message::Head::Complete-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Head/"Constructors">
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<isEmpty>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<knownNames>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<message>([MESSAGE])
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-Return the number of lines needed to display this header (including
-the trailing newline)
-
-=back
-
-$obj-E<gt>B<orderedFields>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-Return the number of bytes needed to display this header (including
-the trailing newline).  On systems which use CRLF as line separator,
-the number of lines in the header (see L<nrLines()|Mail::Message::Head::Complete/"The header">) must be added to
-find the actual size in the file.
-
-=back
-
-$obj-E<gt>B<wrap>(INTEGER)
-
-=over 4
-
-Re-fold all fields from the header to contain at most INTEGER number of
-characters per line.
-
-I<Example:> re-folding a header
-
-
- $msg->head->wrap(78);
-
-=back
-
-=head2 Access to the header
-
-
-$obj-E<gt>B<add>(FIELD | LINE | (NAME,BODY[,ATTRS]))
-
-=over 4
-
-Add a field to the header.  If a field is added more than once, all values
-are stored in the header, in the order they are added.
-
-When a FIELD object is specified (some L<Mail::Message::Field|Mail::Message::Field> instance), that
-will be added.  Another possibility is to specify a raw header LINE, or a
-header line nicely split-up in NAME and BODY, in which case the
-field constructor is called for you.
-
-LINE or BODY specifications which are terminated by a new-line are considered 
-to be correctly folded.  Lines which are not terminated by a new-line will
-be folded when needed: new-lines will be added where required.  It is strongly
-adviced to let MailBox do the folding for you.
-
-The return value of this method is the L<Mail::Message::Field|Mail::Message::Field> object
-which is created (or was specified).
-
-I<Example:> 
-
- my $head  = Mail::Message::Head->new;
- $head->add('Subject: hi!');
- $head->add(From => 'me at home');
- my $field = Mail::Message::Field->new('To: you at there');
- $head->add($field);
- my Mail::Message::Field $s = $head->add(Sender => 'I');
-
-=back
-
-$obj-E<gt>B<addListGroup>(OBJECT)
-
-=over 4
-
-A I<list group> is a set of header fields which contain data about a
-mailing list which was used to transmit the message.  See
-L<Mail::Message::Head::ListGroup|Mail::Message::Head::ListGroup> for details about the implementation
-of the OBJECT.
-
-When you have a list group prepared, you can add it later using this
-method.  You will get your private copy of the list group data in
-return, because the same group can be used for multiple messages.
-
-I<Example:> of adding a list group to a header
-
-
- my $lg = Mail::Message::Head::ListGroup->new(...);
- my $own_lg = $msg->head->addListGroup($lg);
-
-=back
-
-$obj-E<gt>B<addResentGroup>(RESENT-GROUP|DATA)
-
-=over 4
-
-Add a RESENT-GROUP (a L<Mail::Message::Head::ResentGroup|Mail::Message::Head::ResentGroup> object) to
-the header.  If you specify DATA, that is used to create such group
-first.  If no C<Received> line is specified, it will be created
-for you.
-
-These header lines have nothing to do with the user's sense
-of C<reply> or C<forward> actions: these lines trace the e-mail
-transport mechanism.
-
-I<Example:> 
-
- my $rg = Mail::Message::Head::ResentGroup->new(head => $head, ...);
- $head->addResentGroup($rg);
-
- my $rg = $head->addResentGroup(From => 'me');
-
-=back
-
-$obj-E<gt>B<addSpamGroup>(OBJECT)
-
-=over 4
-
-A I<spam fighting group> is a set of header fields which contains data
-which is used to fight spam.  See L<Mail::Message::Head::SpamGroup|Mail::Message::Head::SpamGroup>
-for details about the implementation of the OBJECT.
-
-When you have a spam group prepared, you can add it later using this
-method.  You will get your private copy of the spam group data in
-return, because the same group can be used for multiple messages.
-
-I<Example:> of adding a spam group to a header
-
-
- my $sg = Mail::Message::Head::SpamGroup->new(...);
- my $own_sg = $msg->head->addSpamGroup($sg);
-
-=back
-
-$obj-E<gt>B<count>(NAME)
-
-=over 4
-
-Count the number of fields with this NAME.  Most fields will return 1:
-only one occurance in the header.  As example, the C<Received> fields
-are usually present more than once.
-
-=back
-
-$obj-E<gt>B<delete>(NAME)
-
-=over 4
-
-Remove the field with the specified name.  If the header contained
-multiple lines with the same name, they will be replaced all together.
-This method simply calls L<reset()|Mail::Message::Head::Complete/"Access to the header"> without replacement fields.
-READ THE IMPORTANT WARNING IN L<removeField()|Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<get>(NAME [,INDEX])
-
-=over 4
-
-See L<Mail::Message::Head/"Access to the header">
-
-=back
-
-$obj-E<gt>B<grepNames>([NAMES|ARRAY-OF-NAMES|REGEXS])
-
-=over 4
-
-Filter from all header fields the names which start will any of the
-specified list.  When no names are specified, all names will be returned.
-The list is ordered as they where read from file, or added later.
-
-The NAMES are regular expressions, and will all be matched case insensitive
-and attached to the front of the string only.  You may also specify
-one or more prepared regexes.
-
-I<Example:> 
-
- print $head->grepNames();         # same as $head->names
- print $head->grepNames('X-', 'Subject', ');
- print $head->grepNames('To\b');   # will only select To
-
-=back
-
-$obj-E<gt>B<listGroup>
-
-=over 4
-
-Returns a I<list group> description: the set of headers which form
-the information about mailing list software used to transport the
-message.  See also L<addListGroup()|Mail::Message::Head::Complete/"Access to the header"> and L<removeListGroup()|Mail::Message::Head::Complete/"Access to the header">.
-
-I<Example:> use of listGroup()
-
-
- if(my $lg = $msg->head->listGroup)
- {  $lg->print(\*STDERR);
-    $lg->delete;
- }
-
- $msg->head->removeListGroup;
-
-=back
-
-$obj-E<gt>B<names>
-
-=over 4
-
-Returns a full ordered list of known field names, as defined in the
-header.  Fields which were reset() to be empty will still be
-listed here.
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-Print all headers to the specified FILEHANDLE, by default the selected
-filehandle.  See L<printUndisclosed()|Mail::Message::Head::Complete/"Access to the header"> to limit the headers to include
-only the public headers.
-
-I<Example:> 
-
- $head->print(\*OUT);
- $head->print;
-
- my $fh = IO::File->new(...);
- $head->print($fh);
-
-=back
-
-$obj-E<gt>B<printSelected>(FILEHANDLE, (STRING|REGEXP)s)
-
-=over 4
-
-Like the usual L<print()|Mail::Message::Head::Complete/"Access to the header">, the header lines are printed to the specified
-FILEHANDLE.  In this case, however, only the fields with names as specified by
-STRING (case insensative) or REGEXP are printed.  They will stay the in-order
-of the source header.
-
-I<Example:> printing only a subset of the fields
-
-
- $head->printSelected(STDOUT, qw/Subject From To/, qr/^x\-(spam|xyz)\-/i)
-
-=back
-
-$obj-E<gt>B<printUndisclosed>([FILEHANDLE])
-
-=over 4
-
-Like the usual L<print()|Mail::Message::Head::Complete/"Access to the header">, the header lines are printed to the specified
-FILEHANDLE, by default the selected filehandle.  In this case, however,
-C<Bcc> and C<Resent-Bcc> lines are included.
-
-=back
-
-$obj-E<gt>B<removeContentInfo>
-
-=over 4
-
-Remove all body related fields from the header.  The header will become
-partial.
-
-=back
-
-$obj-E<gt>B<removeField>(FIELD)
-
-=over 4
-
-Remove the specified FIELD object from the header.  This is useful when
-there are possible more than one fields with the same name, and you
-need to remove exactly one of them.  Also have a look at L<delete()|Mail::Message::Head::Complete/"Access to the header">,
-L<reset()|Mail::Message::Head::Complete/"Access to the header">, and L<set()|Mail::Message::Head::Complete/"Access to the header">.
-
-See also L<Mail::Message::Head::Partial::removeFields()|Mail::Message::Head::Partial/"Access to the header"> (mind the 's'
-at the end of the name), which accepts a string or regular expression
-as argument to select the fields to be removed.
-
-WARNING WARNING WARNING: for performance reasons, the header administration
-uses weak references (see L<Scalar::Util> method weaken()> to figure-out
-which fields have been removed.  A header is a hash of field for fast search
-and an array of weak references to remember the order of the fields, required
-for printing.  If the field is removed from the hash, the weak-ref is set to
-undef and the field not printed.
-
-However... it is easy to disturb this process.  Example:
- my $msg = ....;                 # subject ref-count = 1 + 0 = 1
- $msg->head->delete('Subject');  # subject ref-count =     0 = 0: clean-up
- $msg->print;                    # subject doesn't show: ok
-
-But
- my $msg = ....;                 # subject ref-count = 1 + 0 = 1
- my $s = $msg->head->get('subject'); # ref-count = 1 + 1 + 0 = 2
- $msg->head->delete('Subject');  # subject ref-count = 1 + 0 = 1: no clean-up
- $msg->print;                    # subject DOES show: not ok
- undef $s;                       # ref-count becomes 0: clean-up
- $msg->print;                    # subject doesn't show: ok
-
-To avoid the latter situation, do not catch the field object, but only
-the field content.  SAVE are all methods which return the text:
- my $s = $msg->head->get('subject')->body;
- my $s = $msg->head->get('subject')->unfoldedBody;
- my $s = $msg->head->get('subject')->foldedBody;
- my $s = $msg->head->get('subject')->foldedBody;
- my $s = $msg->get('subject');
- my $s = $msg->subject;
- my $s = $msg->string;
-
-=back
-
-$obj-E<gt>B<removeFields>(STRING|REGEXP, [STRING|REGEXP, ...])
-
-=over 4
-
-The header object is turned into a L<Mail::Message::Head::Partial|Mail::Message::Head::Partial> object
-which has a set of fields removed.  Read about the implications and the
-possibilities in L<Mail::Message::Head::Partial::removeFields()|Mail::Message::Head::Partial/"Access to the header">.
-
-=back
-
-$obj-E<gt>B<removeFieldsExcept>(STRING|REGEXP, [STRING|REGEXP, ...])
-
-=over 4
-
-The header object is turned into a L<Mail::Message::Head::Partial|Mail::Message::Head::Partial> object
-which has a set of fields removed.  Read about the implications and the
-possibilities in L<Mail::Message::Head::Partial::removeFieldsExcept()|Mail::Message::Head::Partial/"Access to the header">.
-
-=back
-
-$obj-E<gt>B<removeListGroup>
-
-=over 4
-
-Removes all fields related to mailing list administration at once.
-The header object is turned into a L<Mail::Message::Head::Partial|Mail::Message::Head::Partial>
-object.  Read about the implications and the possibilities in
-L<Mail::Message::Head::Partial::removeListGroup()|Mail::Message::Head::Partial/"Access to the header">.
-
-=back
-
-$obj-E<gt>B<removeResentGroups>
-
-=over 4
-
-Removes all resent groups at once.  The header object is turned into
-a L<Mail::Message::Head::Partial|Mail::Message::Head::Partial> object.  Read about the implications and the
-possibilities in L<Mail::Message::Head::Partial::removeResentGroups()|Mail::Message::Head::Partial/"Access to the header">.
-
-=back
-
-$obj-E<gt>B<removeSpamGroups>
-
-=over 4
-
-Removes all fields which were added by various spam detection software
-at once.  The header object is turned into a L<Mail::Message::Head::Partial|Mail::Message::Head::Partial>
-object.  Read about the implications and the possibilities in
-L<Mail::Message::Head::Partial::removeSpamGroups()|Mail::Message::Head::Partial/"Access to the header">.
-
-=back
-
-$obj-E<gt>B<resentGroups>
-
-=over 4
-
-Returns a list of L<Mail::Message::Head::ResentGroup|Mail::Message::Head::ResentGroup> objects which
-each represent one intermediate point in the message's transmission in
-the order as they appear in the header: the most recent one first.
-See also L<addResentGroup()|Mail::Message::Head::Complete/"Access to the header"> and L<removeResentGroups()|Mail::Message::Head::Complete/"Access to the header">.
-
-A resent group contains a set of header fields whose names start
-with C<Resent->.  Before the first C<Resent> line is I<trace> information,
-which is composed of an optional C<Return-Path> field and an required
-C<Received> field.
-
-=back
-
-$obj-E<gt>B<reset>(NAME, FIELDS)
-
-=over 4
-
-Replace the values in the header fields named by NAME with the values
-specified in the list of FIELDS. A single name can correspond to multiple
-repeated fields.  READ THE IMPORTANT WARNING IN L<removeField()|Mail::Message::Head::Complete/"Access to the header">
-
-Removing fields which are part of one of the predefined field groups is
-not a smart idea.  You can better remove these fields as group, all
-together.  For instance, the C<'Received'> lines are part of resent
-groups, C<'X-Spam'> is past of a spam group, and C<List-Post> belongs
-to a list group.  You can delete a whole group with
-L<Mail::Message::Head::FieldGroup::delete()|Mail::Message::Head::FieldGroup/"The header">, or with methods which
-are provided by L<Mail::Message::Head::Partial|Mail::Message::Head::Partial>.
-
-If FIELDS is empty, the corresponding NAME fields will
-be removed. The location of removed fields in the header order will be
-remembered. Fields with the same name which are added later will appear at
-the remembered position.  This is equivalent to the L<delete()|Mail::Message::Head::Complete/"Access to the header"> method.
-
-I<Example:> 
-
- # reduce number of 'Keywords' lines to last 5)
- my @keywords = $head->get('Keywords');
- $head->reset('Keywords', @keywords[-5..-1]) if @keywords > 5;
-
- # Reduce the number of Received lines to only the last added one.
- my @rgs = $head->resentGroups;
- shift @rgs;     # keep this one (later is added in front)
- $_->delete foreach @rgs;
-
-=back
-
-$obj-E<gt>B<set>(FIELD | LINE | (NAME, BODY [,ATTRS]))
-
-=over 4
-
-The C<set> method is similar to the L<add()|Mail::Message::Head::Complete/"Access to the header"> method, and takes the same
-options. However, existing values for fields will be removed before a new
-value is added.  READ THE IMPORTANT WARNING IN L<removeField()|Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<spamDetected>
-
-=over 4
-
-Returns whether one of the spam groups defines a report about spam.  If there
-are not header fields in the message which relate to spam-detection
-software, C<undef> is returned.  The spamgroups which report spam are returned.
-
-I<Example:> 
-
- $message->delete if $message->spamDetected;
-
- call_spamassassin($message)
-    unless defined $message->spamDetected;
-
-=back
-
-$obj-E<gt>B<spamGroups>([NAMES])
-
-=over 4
-
-Returns a list of L<Mail::Message::Head::SpamGroup|Mail::Message::Head::SpamGroup> objects, each collecting
-some lines which contain spam fighting information.  When any NAMES are
-given, then only these groups are returned.
-See also L<addSpamGroup()|Mail::Message::Head::Complete/"Access to the header"> and L<removeSpamGroups()|Mail::Message::Head::Complete/"Access to the header">.
-
-In scalar context, with exactly one NAME specified, that group will be
-returned.  With more NAMES or without NAMES, a list will be returned
-(which defaults to the length of the list in scalar context).
-
-I<Example:> use of listGroup()
-
-
- my @sg = $msg->head->spamGroups;
- $sg[0]->print(\*STDERR);
- $sg[-1]->delete;
-
- my $sg = $msg->head->spamGroups('SpamAssassin');
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-Returns the whole header as one scalar (in scalar context) or list
-of lines (list context).  Triggers completion.
-
-=back
-
-$obj-E<gt>B<study>(NAME [,INDEX])
-
-=over 4
-
-See L<Mail::Message::Head/"Access to the header">
-
-=back
-
-=head2 About the body
-
-
-$obj-E<gt>B<guessBodySize>
-
-=over 4
-
-See L<Mail::Message::Head/"About the body">
-
-=back
-
-$obj-E<gt>B<guessTimeStamp>
-
-=over 4
-
-Make a guess about when the message was origanally posted, based on the
-information found in the header's C<Date> field.
-
-For some kinds of folders, L<Mail::Message::guessTimestamp()|Mail::Message/"The header"> may produce
-a better result, for instance by looking at the modification time of the
-file in which the message is stored.  Also some protocols, like POP can
-supply that information.
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-See L<Mail::Message::Head/"About the body">
-
-=back
-
-$obj-E<gt>B<recvstamp>
-
-=over 4
-
-Returns an indication about when the message was sent, but only using the
-C<Date> field in the header as last resort: we do not trust the sender of
-the message to specify the correct date.  See L<timestamp()|Mail::Message::Head::Complete/"About the body"> when you do
-trust the sender.
-
-Many spam producers fake a date, which mess up the order of receiving
-things.  The timestamp which is produced is derived from the Received
-headers, if they are present, and C<undef> otherwise.
-
-The timestamp is encoded as C<time> is on your system (see perldoc -f
-time), and as such usable for the C<gmtime> and C<localtime> methods.
-
-I<Example:> of time-sorting folders with received messages
-
-
- my $folder = $mgr->open('InBox');
- my @messages = sort {$a->recvstamp <=> $b->recvstamp}
-                   $folder->messages;
-
-I<Example:> of time-sorting messages of mixed origin
-
-
- my $folder = $mgr->open('MyFolder');
-
- # Pre-calculate timestamps to be sorted (for speed)
- my @stamps = map { [ ($_->timestamp || 0), $_ ] }
-                     $folder->messages;
-
- my @sorted
-   = map { $_->[1] }      # get the message for the stamp
-       sort {$a->[0] <=> $b->[0]}   # stamps are numerics
-          @stamps;
-
-=back
-
-$obj-E<gt>B<timestamp>
-
-=over 4
-
-Returns an indication about when the message was sent, with as
-little guessing as possible.  In this case, the date as specified by the
-sender is trusted.  See L<recvstamp()|Mail::Message::Head::Complete/"About the body"> when you do not want to trust the
-sender.
-
-The timestamp is encoded as C<time> is
-on your system (see perldoc -f time), and as such usable for the C<gmtime>
-and C<localtime> methods.
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<addNoRealize>(FIELD)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<addOrderedFields>(FIELDS)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<createFromLine>
-
-=over 4
-
-For some mail-folder types separate messages by a line starting with
-'C<From >'.  If a message is moved to such folder from a folder-type
-which does not support these separators, this method is called to produce
-one.
-
-=back
-
-$obj-E<gt>B<createMessageId>
-
-=over 4
-
-Creates a message-id for this message.  This method will be run when
-a new message is created, or a message is discovered without the
-message-id header field.  Message-ids are required for detection of
-message-threads.  See L<messageIdPrefix()|Mail::Message::Head::Complete/"Internals">.
-
-=back
-
-$obj-E<gt>B<fileLocation>
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<load>
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<messageIdPrefix>([PREFIX, [HOSTNAME]|CODE])
-
-Mail::Message::Head::Complete-E<gt>B<messageIdPrefix>([PREFIX, [HOSTNAME]|CODE])
-
-=over 4
-
-When options are provided, it sets a new way to create message-ids,
-as used by L<createMessageId()|Mail::Message::Head::Complete/"Internals">.  You have two choices: either by
-providing a PREFIX and optionally a HOSTNAME, or a CODE reference.
-
-The CODE reference will be called with the header as first argument.
-You must ensure yourself that the returned value is RFC compliant.
-
-The PREFIX defaults to C<mailbox-$$>, the HOSTNAME defaults to the
-return of L<Sys::Hostname>'s method C<hostname()>.  Inbetween the
-two, a nano-second time provided by L<Time::Hires> is used.  If that
-module is not available, C<time> is called at the start of the program,
-and incremented for each newly created id.
-
-In any case, a subroutine will be created to be used.  A reference
-to that will be returned.  When the method is called without arguments,
-but no subroutine is defined yet, one will be created.
-
-I<Example:> setting a message prefix
-
-
-  $head->messageIdPrefix('prefix');
-  Mail::Message::Head::Complete->messageIdPrefix('prefix');
-  my $code = $head->messageIdPrefix('mailbox', 'nohost');
-
-  sub new_msgid()
-  {   my $head = shift;
-      "myid-$$-${(rand 10000)}@example.com";
-  }
-
-  $many_msg->messageIdPrefix(\&new_msgid);
-  Mail::Message::Head::Complete->messageIdPrefix(&new_msgid);
-
-=back
-
-$obj-E<gt>B<moveLocation>(DISTANCE)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<read>(PARSER)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<setNoRealize>(FIELD)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Head::Complete-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Head::Complete-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Head::Complete-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> Cannot remove field $name from header: not found.
-
-You ask to remove a field which is not known in the header.  Using
-L<delete()|Mail::Message::Head::Complete/"Access to the header">, L<reset()|Mail::Message::Head::Complete/"Access to the header">, or L<set()|Mail::Message::Head::Complete/"Access to the header"> to do the job will not result
-in warnings: those methods check the existence of the field first.
-
-I<Warning:> Field objects have an implied name ($name)
-
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Complete.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Head/Complete.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Delayed.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Head/Delayed.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Delayed.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,91 +0,0 @@
-
-use strict;
-
-package Mail::Message::Head::Delayed;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Head';
-
-use Object::Realize::Later
-    becomes          => 'Mail::Message::Head::Complete',
-    realize          => 'load',
-    believe_caller   => 1;
-
-use Scalar::Util 'weaken';
-
-
-sub build(@) {shift->log(ERROR => "Cannot build() a delayed header.") }
-
-#------------------------------------------
-
-sub init($$)
-{   my ($self, $args) = @_;
-    $self->SUPER::init($args);
-
-    if(defined $args->{message})
-    {   $self->{MMHD_message} = $args->{message};
-        weaken($self->{MMHD_message});
-    }
-
-    $self;
-}
-
-#------------------------------------------
-
-sub isDelayed() {1}
-
-#------------------------------------------
-
-sub modified(;$)
-{   return 0 if @_==1 || !$_[1];
-    shift->forceRealize->modified(1);
-}
-
-#------------------------------------------
-
-sub isModified() { 0 }
-
-#------------------------------------------
-
-sub isEmpty() { 0 }
-
-#------------------------------------------
-
-
-sub get($;$)
-{   my $self = shift;
-    $self->load->get(@_);
-}
-
-#------------------------------------------
-
-
-sub guessBodySize() {undef}
-
-#-------------------------------------------
-
-
-sub guessTimestamp() {undef}
-
-#------------------------------------------
-
-
-sub read($)
-{   my ($self, $parser, $headtype, $bodytype)  = @_;
-
-#   $parser->skipHeader not implemented... returns where
-    $self->{MMH_where}   = 0;
-    $self;
-}
-
-#------------------------------------------
-
-sub load() {$_[0] = $_[0]->message->loadHead}
-
-#------------------------------------------
-
-sub setNoRealize($) { shift->log(INTERNAL => "Setting field on a delayed?") }
-
-#-------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Delayed.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Head/Delayed.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Delayed.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Head/Delayed.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Delayed.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,409 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Head::Delayed - a not-read header of a Mail::Message
-
-
-=head1 INHERITANCE
-
- Mail::Message::Head::Delayed realizes a Mail::Message::Head::Complete
-
- Mail::Message::Head::Delayed
-   is a Mail::Message::Head
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my Mail::Message::Head::Delayed $delayed = ...;
- $delayed->isa('Mail::Message::Head')  # true
- $delayed->guessBodySize               # undef
- $delayed->isDelayed                   # true
-
-
-=head1 DESCRIPTION
-
-This object is used as place-holder, to be replaced
-by a L<Mail::Message::Head|Mail::Message::Head> when someone accesses the header of a message.
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Message::Head/"OVERLOADED">
-
-=back
-
-overload: B<bool>
-
-=over 4
-
-See L<Mail::Message::Head/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<build>(FIELDS)
-
-=over 4
-
-You cannot create a delayed header with fields.
-
-=back
-
-Mail::Message::Head::Delayed-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Head/"Constructors">
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<isEmpty>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<knownNames>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<message>([MESSAGE])
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<orderedFields>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-=head2 Access to the header
-
-
-$obj-E<gt>B<get>(NAME [,INDEX])
-
-=over 4
-
-Get the information about the header line NAME.  Realization will
-take place.
-
-=back
-
-$obj-E<gt>B<study>(NAME [,INDEX])
-
-=over 4
-
-See L<Mail::Message::Head/"Access to the header">
-
-=back
-
-=head2 About the body
-
-
-$obj-E<gt>B<guessBodySize>
-
-=over 4
-
-On a delayed head, this retuns C<undef>, because when there is no header
-there is also no body.
-
-For messages in directory or network organized folders,
-L<Mail::Message::size()|Mail::Message/"The message"> usually will give a figure for the whole message
-without much cost.  Subtract a few hundred bytes for the header, and
-you will get a good estimate.
-
-=back
-
-$obj-E<gt>B<guessTimeStamp>
-
-=over 4
-
-Make a guess about when the message was originally posted.
-On a delayed head, this returns C<undef>.
-For messages in directory or network organized folders,
-L<Mail::Message::timestamp()|Mail::Message/"The header"> usually will give a figure without much cost.
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-See L<Mail::Message::Head/"About the body">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<addNoRealize>(FIELD)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<addOrderedFields>(FIELDS)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<fileLocation>
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<load>
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<moveLocation>(DISTANCE)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<read>(PARSER)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<setNoRealize>(FIELD)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Head::Delayed-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Head::Delayed-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Head::Delayed-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot build() a delayed header.
-
-A delayed message header cannot contain any information, so cannot be
-build.  You can construct complete or subset headers.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Delayed.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Head/Delayed.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/FieldGroup.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Head/FieldGroup.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/FieldGroup.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,178 +0,0 @@
-
-package Mail::Message::Head::FieldGroup;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Reporter';
-
-use strict;
-use warnings;
-
-
-sub new(@)
-{   my $class = shift;
-
-    my @fields;
-    push @fields, shift while ref $_[0];
-
-    $class->SUPER::new(@_, fields => \@fields);
-}
-
-sub init($$)
-{   my ($self, $args) = @_;
-    $self->SUPER::init($args);
-
-    my $head = $self->{MMHF_head}
-      = $args->{head} || Mail::Message::Head::Partial->new;
-
-    $self->add($_)                            # add specified object fields
-        foreach @{$args->{fields}};
-
-    $self->add($_, delete $args->{$_})        # add key-value paired fields
-        foreach grep m/^[A-Z]/, keys %$args;
-
-    $self->{MMHF_version}  = $args->{version}  if defined $args->{version};
-    $self->{MMHF_software} = $args->{software} if defined $args->{software};
-    $self->{MMHF_type}     = $args->{type}     if defined $args->{type};
-
-    $self->{MMHF_fns}      = [];
-    $self;
-}
-
-#------------------------------------------
-
-
-sub implementedTypes() { shift->notImplemented }
-
-#------------------------------------------
-
-
-sub from($) { shift->notImplemented }
-
-#------------------------------------------
-
-
-sub clone()
-{   my $self = shift;
-    my $clone = bless %$self, ref $self;
-    $clone->{MMHF_fns} = [ $self->fieldNames ];
-    $clone;
-}
-
-#------------------------------------------
-
-
-sub head() { shift->{MMHF_head} }
-
-#------------------------------------------
-
-
-sub attach($)
-{   my ($self, $head) = @_;
-    $head->add($_->clone) for $self->fields;
-    $self;
-}
-
-#------------------------------------------
-
-
-sub delete()
-{   my $self   = shift;
-    my $head   = $self->head;
-    $head->removeField($_) foreach $self->fields;
-    $self;
-}
-
-#------------------------------------------
-
-
-sub add(@)
-{   my $self = shift;
-    my $field = $self->head->add(@_) or return ();
-    push @{$self->{MMHF_fns}}, $field->name;
-    $self;
-}
-
-#------------------------------------------
-
-
-sub fields()
-{   my $self = shift;
-    my $head = $self->head;
-    map { $head->get($_) } $self->fieldNames;
-}
-
-#------------------------------------------
-
-
-sub fieldNames() { @{shift->{MMHF_fns}} }
-
-#------------------------------------------
-
-
-sub addFields(@)
-{   my $self = shift;
-    my $head = $self->head;
-
-    push @{$self->{MMHF_fns}}, @_;
-    @_;
-}
-
-#------------------------------------------
-
-
-sub version() { shift->{MMHF_version} }
-
-#------------------------------------------
-
-
-sub software() { shift->{MMHF_software} }
-
-#------------------------------------------
-
-
-sub type() { shift->{MMHF_type} }
-
-#------------------------------------------
-
-
-sub detected($$$)
-{   my $self = shift;
-    @$self{ qw/MMHF_type MMHF_software MMHF_version/ } = @_;
-}
-
-#------------------------------------------
-
-
-sub collectFields(;$) { shift->notImplemented }
-
-#------------------------------------------
-
-
-sub print(;$)
-{   my $self = shift;
-    my $out  = shift || select;
-    $_->print($out) foreach $self->fields;
-}
-
-#------------------------------------------
-
-
-sub details()
-{   my $self     = shift;
-    my $type     = $self->type || 'Unknown';
-
-    my $software = $self->software;
-    undef $software if defined($software) && $type eq $software;
-    my $version  = $self->version;
-    my $release
-      = defined $software
-      ? (defined $version ? " ($software $version)" : " ($software)")
-      : (defined $version ? " ($version)"           : '');
-
-    my $fields   = scalar $self->fields;
-    "$type $release, $fields fields";
-}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/FieldGroup.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Head/FieldGroup.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/FieldGroup.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Head/FieldGroup.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/FieldGroup.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,462 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Head::FieldGroup - a sub set of fields in a header
-
-
-=head1 INHERITANCE
-
- Mail::Message::Head::FieldGroup
-   is a Mail::Reporter
-
- Mail::Message::Head::FieldGroup is extended by
-   Mail::Message::Head::ListGroup
-   Mail::Message::Head::ResentGroup
-   Mail::Message::Head::SpamGroup
-
-
-=head1 SYNOPSIS
-
-Never instantiated directly.
-
-
-=head1 DESCRIPTION
-
-Some fields have a combined meaning: a set of fields which represent
-one intermediate step during the transport of the message (a
-I<resent group>, implemented in L<Mail::Message::Head::ResentGroup|Mail::Message::Head::ResentGroup>), 
-fields added by mailing list software (implemented in
-L<Mail::Message::Head::ListGroup|Mail::Message::Head::ListGroup>), or fields added by Spam detection
-related software (implemented by L<Mail::Message::Head::SpamGroup|Mail::Message::Head::SpamGroup>).
-Each set of fields can be extracted or added as group with objects
-which are based on the implementation in this class.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>
-
-=over 4
-
-Make a copy of this object.  The collected fieldnames are copied and the
-list type information.  No deep copy is made for the header: this is
-only copied as reference.
-
-=back
-
-$obj-E<gt>B<from>(HEAD|MESSAGE)
-
-=over 4
-
-Create a group of fields based on the specified MESSAGE or message HEAD.
-This may return one or more of the objects, which depends on the
-type of group.  Mailing list fields are all stored in one object,
-where resent and spam groups can appear more than once.
-
-=back
-
-$obj-E<gt>B<implementedTypes>
-
-Mail::Message::Head::FieldGroup-E<gt>B<implementedTypes>
-
-=over 4
-
-Returns a list of strings containing all possible return values for
-L<type()|Mail::Message::Head::FieldGroup/"Access to the header">.
-
-=back
-
-Mail::Message::Head::FieldGroup-E<gt>B<new>(FIELDS, OPTIONS)
-
-=over 4
-
-Construct an object which maintains one set of header FIELDS.  The
-FIELDS may be specified as C<Mail::Message::Field> objects or as key-value
-pairs.  The OPTIONS and FIELDS (as key-value pair) can be mixed: they are
-distinguished by their name, where the fields always start with a capital.
-The field objects must aways lead the OPTIONS.
-
- Option    Defined in       Default      
- head                       C<undef>     
- log       L<Mail::Reporter>  C<'WARNINGS'>
- software                   C<undef>     
- trace     L<Mail::Reporter>  C<'WARNINGS'>
- type                       C<undef>     
- version                    C<undef>     
-
-. head HEAD
-
-=over 4
-
-The header HEAD object is used to store the grouped fields in.
-If no header is specified, a L<Mail::Message::Head::Partial|Mail::Message::Head::Partial> is created
-for you.  If you wish to scan the existing fields in a header, then use
-the L<from()|Mail::Message::Head::FieldGroup/"Constructors"> method.
-
-=back
-
-. log LEVEL
-
-. software STRING
-
-=over 4
-
-Name of the software which produced the fields.
-
-=back
-
-. trace LEVEL
-
-. type STRING
-
-=over 4
-
-Group name for the fields.  Often the same, or close
-to the same STRING, as the C<software> option contains.
-
-=back
-
-. version STRING
-
-=over 4
-
-Version number for the software which produced the fields.
-
-=back
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<add>((FIELD, VALUE) | OBJECT)
-
-=over 4
-
-Add a field to the header, using the field group.  When the field group
-is already attached to a real message header, it will appear in that
-one as well as being registed in this set.  If no header is defined,
-the field only appears internally.
-
-I<Example:> adding a field to a detached list group
-
-
- my $this = Mail::Message::Head::ListGroup->new(...);
- $this->add('List-Id' => 'mailbox');
- $msg->addListGroup($this);
- $msg->send;
-
-I<Example:> adding a field to an attached list group
-
-
- my $lg = Mail::Message::Head::ListGroup->from($msg);
- $lg->add('List-Id' => 'mailbox');
-
-=back
-
-$obj-E<gt>B<addFields>([FIELDNAMES])
-
-=over 4
-
-Add some FIELDNAMES to the set.
-
-=back
-
-$obj-E<gt>B<attach>(HEAD)
-
-=over 4
-
-Add a group of fields to a message HEAD.  The fields will be cloned(!)
-into the header, so that the field group object can be used again.
-
-I<Example:> attaching a list group to a message
-
-
- my $lg = Mail::Message::Head::ListGroup->new(...);
- $lg->attach($msg->head);
- $msg->head->addListGroup($lg);   # same
-
- $msg->head->addSpamGroup($sg);   # also implemented with attach
-
-=back
-
-$obj-E<gt>B<delete>
-
-=over 4
-
-Remove all the header lines which are combined in this fields group,
-from the header.
-
-=back
-
-$obj-E<gt>B<fieldNames>
-
-=over 4
-
-Return the names of the fields which are used in this group.
-
-=back
-
-$obj-E<gt>B<fields>
-
-=over 4
-
-Return the fields which are defined for this group.
-
-=back
-
-$obj-E<gt>B<head>
-
-=over 4
-
-Returns the header object, which includes these fields.
-
-=back
-
-=head2 Access to the header
-
-
-$obj-E<gt>B<software>
-
-=over 4
-
-Returns the name of the software as is defined in the headers.  The may
-be slightly different from the return value of L<type()|Mail::Message::Head::FieldGroup/"Access to the header">, but usually
-not too different.
-
-=back
-
-$obj-E<gt>B<type>
-
-=over 4
-
-Returns an abstract name for the field group; which software is
-controling it.  C<undef> is returned in case the type is not known.
-Valid names are group type dependent: see the applicable manual
-pages.  A list of all types can be retreived with L<implementedTypes()|Mail::Message::Head::FieldGroup/"Constructors">.
-
-=back
-
-$obj-E<gt>B<version>
-
-=over 4
-
-Returns the version number of the software used to produce the fields.
-Some kinds of software do leave such a trace, other cases will return
-C<undef>
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<collectFields>([NAME])
-
-=over 4
-
-Scan the header for fields which are usually contained in field group
-with the specified NAME.  For mailinglist groups, you can not specify
-a NAME: only one set of headers will be found (all headers are considered
-to be produced by exactly one package of mailinglist software).
-
-This method is automatically called when a field group is
-constructed via L<from()|Mail::Message::Head::FieldGroup/"Constructors"> on an existing header or message.
-
-Returned are the names of the list header fields found, in scalar
-context the amount of fields.  An empty list/zero indicates that there
-was no group to be found.
-
-Please warn the author of MailBox if you see that to few
-or too many fields are included.
-
-=back
-
-$obj-E<gt>B<detected>(TYPE, SOFTWARE, VERSION)
-
-=over 4
-
-Sets the values for the field group type, software, and version,
-prossibly to C<undef>.
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Head::FieldGroup-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<details>
-
-=over 4
-
-Produce information about the detected/created field group, which may be
-helpful during debugging.  A nicely formatted string is returned.
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Head::FieldGroup-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Head::FieldGroup-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-Print the group to the specified FILEHANDLE or GLOB.  This is probably only
-useful for debugging purposed.  The output defaults to the selected file
-handle.
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/FieldGroup.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Head/FieldGroup.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/ListGroup.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Head/ListGroup.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/ListGroup.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,238 +0,0 @@
-
-package Mail::Message::Head::ListGroup;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Head::FieldGroup';
-
-use strict;
-use warnings;
-
-use List::Util 'first';
-
-
-sub init($$)
-{   my ($self, $args) = @_;
-    $self->SUPER::init($args);
-
-    my $address = $args->{address};
-       if(!defined $address) { ; }
-    elsif(!ref $address || !$address->isa('Mail::Message::Field::Address'))
-    {   require Mail::Message::Field::Address;
-        my $mi   = Mail::Message::Field::Address->coerce($address);
-
-        $self->log(ERROR =>
-                "Cannot convert \"$address\" into an address object"), return
-            unless defined $mi;
-
-        $address = $mi;
-    }
-    $self->{MMHL_address}  = $address          if defined $args->{address};
-
-    $self->{MMHL_listname} = $args->{listname} if defined $args->{listname};
-    $self->{MMHL_rfc}      = $args->{rfc}      if defined $args->{rfc};
-    $self->{MMHL_fns}      = [];
-    $self;
-}
-
-#------------------------------------------
-
-
-sub from($)
-{   my ($class, $from) = @_;
-    my $head = $from->isa('Mail::Message::Head') ? $from : $from->head;
-    my $self = $class->new(head => $head);
-
-    return () unless $self->collectFields;
-
-    my ($type, $software, $version, $field);
-    if(my $communigate = $head->get('X-ListServer'))
-    {   ($software, $version) = $communigate =~ m/^(.*)\s+LIST\s*([\d.]+)\s*$/i;
-        $type    = ($software =~ m/Pro/ ? 'CommuniGatePro' : 'CommuniGate');
-    }
-    elsif(my $mailman = $head->get('X-Mailman-Version'))
-    {   $version = "$mailman";
-        $type    = 'Mailman';
-    }
-    elsif(my $majordomo = $head->get('X-Majordomo-Version'))
-    {   $version = "$majordomo";
-        $type    = 'Majordomo';
-    }
-    elsif(my $ecartis = $head->get('X-Ecartis-Version'))
-    {   ($software, $version) = $ecartis =~ m/^(.*)\s+(v[\d.]+)/;
-        $type    = 'Ecartis';
-    }
-    elsif(my $listar = $head->get('X-Listar-Version'))
-    {   ($software, $version) = $listar =~ m/^(.*?)\s+(v[\w.]+)/;
-        $type    = 'Listar';
-    }
-    elsif(defined($field = $head->get('List-Software'))
-          && $field =~ m/listbox/i)
-    {   ($software, $version) = $field =~ m/^(\S*)\s*(v[\d.]+)\s*$/;
-        $type    = 'Listbox';
-    }
-    elsif($field = first { m!LISTSERV-TCP/IP!s } $head->get('Received'))
-    {   # Listserv is hard to recognise
-        ($software, $version) = $field =~
-            m!\( (LISTSERV-TCP/IP) \s+ release \s+ (\S+) \)!xs;
-        $type = 'Listserv';
-    }
-    elsif(defined($field = $head->get('X-Mailing-List'))
-          && $field =~ m[archive/latest])
-    {   $type    = 'Smartlist' }
-    elsif(defined($field = $head->get('Mailing-List')) && $field =~ m/yahoo/i )
-    {   $type    = 'YahooGroups' }
-    elsif(defined($field) && $field =~ m/(ezmlm)/i )
-    {   $type    = 'Ezmlm' }
-    elsif(my $fml = $head->get('X-MLServer'))
-    {   ($software, $version) = $fml =~ m/^\s*(\S+)\s*\[\S*\s*([^\]]*?)\s*\]/;
-        $type    = 'FML';
-    }
-    elsif(defined($field = $head->get('List-Subscribe')
-                        || $head->get('List-Unsubscribe'))
-          && $field =~ m/sympa/i)
-    {   $type    = 'Sympa' }
-    elsif(first { m/majordom/i } $head->get('Received'))
-    {   # Majordomo is hard to recognize
-        $type    = "Majordomo";
-    }
-    elsif($field = $head->get('List-ID') && $field =~ m/listbox\.com/i)
-    {   $type    = "Listbox" }
-
-    $self->detected($type, $software, $version);
-    $self;
-}
-
-#------------------------------------------
-
-
-sub rfc()
-{  my $self = shift;
-   return $self->{MMHL_rfc} if defined $self->{MMHL_rfc};
-
-   my $head = $self->head;
-     defined $head->get('List-Post') ? 'rfc2369'
-   : defined $head->get('List-Id')   ? 'rfc2919'
-   :                                    undef;
-}
-
-#------------------------------------------
-
-
-sub address()
-{   my $self = shift;
-    return $self->{MMHL_address} if exists $self->{MMHL_address};
-
-    my $type = $self->type || 'Unknown';
-    my $head = $self->head;
-
-    my ($field, $address);
-    if($type eq 'Smartlist' && defined($field = $head->get('X-Mailing-List')))
-    {   $address = $1 if $field =~ m/\<([^>]+)\>/ }
-    elsif($type eq 'YahooGroups')
-    {   $address = $head->get('X-Apparently-To')->unfoldedBody }
-    elsif($type eq 'Listserv')
-    {   $address = $head->get('Sender') }
-
-    $address ||= $head->get('List-Post') || $head->get('Reply-To')
-             || $head->get('Sender');
-    $address = $address->study if ref $address;
-
-       if(!defined $address) { ; }
-    elsif(!ref $address)
-    {   $address =~ s/\bowner-|-(?:owner|bounce|admin)\@//i;
-        $address = Mail::Message::Field::Address->new(address => $address);
-    }
-    elsif($address->isa('Mail::Message::Field::Addresses'))
-    {   # beautify
-        $address     = ($address->addresses)[0];
-        my $username = defined $address ? $address->username : '';
-        if($username =~ s/^owner-|-(owner|bounce|admin)$//i)
-        {   $address = Mail::Message::Field::Address->new
-               (username => $username, domain => $address->domain);
-        }
-    }
-    elsif($address->isa('Mail::Message::Field::URIs'))
-    {   my $uri  = first { $_->scheme eq 'mailto' } $address->URIs;
-        $address = defined $uri
-                 ? Mail::Message::Field::Address->new(address => $uri->to)
-                 : undef;
-    }
-    else  # Don't understand life anymore :-(
-    {   undef $address;
-    }
-
-    $self->{MMHL_address} = $address;
-}
-
-#------------------------------------------
-
-
-sub listname()
-{   my $self = shift;
-    return $self->{MMHL_listname} if exists $self->{MMHL_listname};
-
-    my $head = $self->head;
-
-    # Some lists have a field with the name only
-    my $list = $head->get('List-ID') || $head->get('X-List')
-            || $head->get('X-ML-Name');
-
-    my $listname;
-    if(defined $list)
-    {   $listname = $list->study->decodedBody;
-    }
-    elsif(my $address = $self->address)
-    {   $listname = $address->phrase || $address->address;
-    }
-
-    $self->{MMHL_listname} = $listname;
-}
-
-#------------------------------------------
-
-
-my $list_field_names
-  = qr/ ^ (?: List|X-Envelope|X-Original ) - 
-      | ^ (?: Precedence|Mailing-List|Approved-By ) $
-      | ^ X-(?: Loop|BeenThere|Sequence|List|Sender|MLServer ) $
-      | ^ X-(?: Mailman|Listar|Egroups|Encartis|ML ) -
-      | ^ X-(?: Archive|Mailing|Original|Mail|ListServer ) -
-      | ^ (?: Mail-Followup|Delivered|Errors|X-Apperently ) -To $
-      /xi;
-
-sub isListGroupFieldName($) { $_[1] =~ $list_field_names }
-
-#------------------------------------------
-
-
-sub collectFields()
-{   my $self = shift;
-    my @names = map { $_->name } $self->head->grepNames($list_field_names);
-    $self->addFields(@names);
-    @names;
-}
-
-#------------------------------------------
-
-
-sub details()
-{   my $self     = shift;
-    my $type     = $self->type || 'Unknown';
-
-    my $software = $self->software;
-    undef $software if defined($software) && $type eq $software;
-    my $version  = $self->version;
-    my $release
-      = defined $software
-      ? (defined $version ? " ($software $version)" : " ($software)")
-      : (defined $version ? " ($version)"           : '');
-
-    my $address  = $self->address || 'unknown address';
-    my $fields   = scalar $self->fields;
-    "$type at $address$release, $fields fields";
-}
-
-#------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/ListGroup.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Head/ListGroup.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/ListGroup.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Head/ListGroup.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/ListGroup.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,533 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Head::ListGroup - mailinglist related header fields
-
-
-=head1 INHERITANCE
-
- Mail::Message::Head::ListGroup
-   is a Mail::Message::Head::FieldGroup
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my $lg = Mail::Message::Head::ListGroup->new(head => $head, ...);
- $head->addListGroup($lg);
-
- my $lg = $head->addListGroup(...);
-
- $lg->delete;
-
-
-=head1 DESCRIPTION
-
-A I<list group> is a set of header fields which are added by mailing-list
-managing software.  This class knowns various details about that software.
-
-The knowledge and test messages which are used to initially implement
-this module is taken from Mail::ListDetector, written by
-Michael Stevens <mailto:michael at etla.org>.  The logic is redesigned to
-add flexibility and use the powerful MailBox features.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<address>
-
-=over 4
-
-Returns a L<Mail::Message::Field::Address|Mail::Message::Field::Address> object (or C<undef>) which
-defines the posting address of the mailing list.
-
-=back
-
-$obj-E<gt>B<clone>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"Constructors">
-
-=back
-
-$obj-E<gt>B<from>(HEAD|MESSAGE)
-
-=over 4
-
-Create a C<Mail::Message::Head::ListGroup> based in the specified MESSAGE
-or message HEAD.
-
-=back
-
-$obj-E<gt>B<implementedTypes>
-
-Mail::Message::Head::ListGroup-E<gt>B<implementedTypes>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"Constructors">
-
-=back
-
-$obj-E<gt>B<listname>
-
-=over 4
-
-Returns the name of the mailing list, which is usually a part of the
-e-mail address which is used to post the messages to.
-
-=back
-
-Mail::Message::Head::ListGroup-E<gt>B<new>(FIELDS, OPTIONS)
-
-=over 4
-
-Construct an object which maintains one set of mailing list headers
-
- Option    Defined in       Default               
- address                    C<undef>              
- head      L<Mail::Message::Head::FieldGroup>  C<undef>              
- listname                   <derived from address>
- log       L<Mail::Reporter>  C<'WARNINGS'>         
- rfc                        C<undef>              
- software  L<Mail::Message::Head::FieldGroup>  C<undef>              
- trace     L<Mail::Reporter>  C<'WARNINGS'>         
- type      L<Mail::Message::Head::FieldGroup>  C<undef>              
- version   L<Mail::Message::Head::FieldGroup>  C<undef>              
-
-. address STRING|OBJECT
-
-=over 4
-
-Address of the mailing list, which may be specified as STRING
-or e-mail containing object (a Mail::Address or L<Mail::Identity|Mail::Identity>.
-In any case, the data is converted into a L<Mail::Identity|Mail::Identity>.
-
-=back
-
-. head HEAD
-
-. listname STRING
-
-=over 4
-
-A short textual representation of the mailing-list.
-
-=back
-
-. log LEVEL
-
-. rfc 'rfc2919'|'rfc2369'
-
-=over 4
-
-Defines the mailing list software follows an rfc.
-
-=back
-
-. software STRING
-
-. trace LEVEL
-
-. type STRING
-
-. version STRING
-
-=back
-
-$obj-E<gt>B<rfc>
-
-=over 4
-
-When the mailing list software follows the guidelines of one of the dedicated
-RFCs, then this will be returned otherwise C<undef>.  The return values can
-be C<rfc2919>, C<rfc2369>, or C<undef>.
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<add>((FIELD, VALUE) | OBJECT)
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"The header">
-
-=back
-
-$obj-E<gt>B<addFields>([FIELDNAMES])
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"The header">
-
-=back
-
-$obj-E<gt>B<attach>(HEAD)
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"The header">
-
-=back
-
-$obj-E<gt>B<delete>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"The header">
-
-=back
-
-$obj-E<gt>B<fieldNames>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"The header">
-
-=back
-
-$obj-E<gt>B<fields>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"The header">
-
-=back
-
-$obj-E<gt>B<head>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"The header">
-
-=back
-
-=head2 Access to the header
-
-
-$obj-E<gt>B<isListGroupFieldName>(NAME)
-
-Mail::Message::Head::ListGroup-E<gt>B<isListGroupFieldName>(NAME)
-
-=over 4
-
-=back
-
-$obj-E<gt>B<software>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"Access to the header">
-
-=back
-
-$obj-E<gt>B<type>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"Access to the header">
-
-=back
-
-$obj-E<gt>B<version>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"Access to the header">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<collectFields>
-
-=over 4
-
-Scan the header for fields which are usually contained in mailing list
-software.  This method is automatically called when a list group is
-constructed L<from()|Mail::Message::Head::ListGroup/"Constructors"> an existing header or message.
-
-Returned are the names of the list header fields found, in scalar
-context the amount.  An empty list/zero indicates that this is not
-a mailing list message.
-
-Please warn the author of MailBox if you see that to few
-or too many fields are included.
-
-=back
-
-$obj-E<gt>B<detected>(TYPE, SOFTWARE, VERSION)
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Head::ListGroup-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<details>
-
-=over 4
-
-Produce information about the detected/create list group, which may be
-helpful during debugging, by default to the selected file handle.
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Head::ListGroup-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Head::ListGroup-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot convert "$string" into an address object
-
-The L<new(address)|Mail::Message::Head::ListGroup/"Constructors"> is coerced into a L<Mail::Message::Field::Address|Mail::Message::Field::Address>,
-which fails.  Have a look at L<Mail::Message::Field::Address::coerce()|Mail::Message::Field::Address/"Constructors">
-to see what valid arguments are.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-=head1 DETAILS
-
-
-=head2 Mailing list fields
-
-
-=head3 Detected lists
-
-The L<Mail::Message::Head::ListGroup|Mail::Message::Head::ListGroup> class can detect many different
-mailing lists, some of which are very popular and some of which are
-rare.
-
-Numerous fields in a header are addded when the message is passed
-through a mailing list server.  Each list software has defined its own
-fields, sometimes woth conflicting definitions.  There are also two
-RFCs about mailing list: C<rfc2919> and C<rfc2369>.
-
-The following lists are currently detected.  Between parenthesis is
-the string returned by L<type()|Mail::Message::Head::FieldGroup/"Access to the header"> when that differs from the software
-name.
-
-=over 4
-
-=item * CommuniGate
-
-Legacy commercial MacOS implementation by Stalker Software Inc.
-L<http://www.stalker.com/mac/default.html>
-
-=item * CommuniGate Pro (CommuniGatePro)
-
-Commercial rfc2919 compliant implementation by Stalker Software Inc.
-L<http://www.stalker.com>
-
-=item * Ecartis
-
-Commercial mailing list manager, formerly known as Listar. Produced
-by NodeRunner Computing.  See L<http://www.ecartis.com>.
-
-=item * Ezmlm
-
-Open Source mailing list manager, available from L<http://www.ezmlm.org>.
-
-=item * FML
-
-Open Source mailing list manager, see L<http://www.fml.org>.
-
-=item * Listar
-
-Old name for Ecartis.
-
-=item * Listbox
-
-Mailing lists defined at L<http://listbox.com>.
-
-=item * Mailman
-
-GNU's mailing list manager, available from L<http://www.list.org>.
-
-=item * Majordomo
-
-Free (licenced) mailing list manager by Great Circle Associates,
-available from L<http://www.greatcircle.com/majordomo/>
-
-=item * Smartlist
-
-Related to procmail, as expressed by their shared main page at
-L<http://www.procmail.org/>.
-
-=item * Yahoo! Groups (YahooGroups)
-
-Mailing lists defined at L<http://groups.yahoo.com>.
-
-=item * Listserv
-
-Commercial mailing list manager, produced by L-Soft. See
-L<http://www.lsoft.com/>.
-
-=back
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/ListGroup.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Head/ListGroup.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Partial.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Head/Partial.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Partial.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,124 +0,0 @@
-
-use strict;
-
-package Mail::Message::Head::Partial;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Head::Complete';
-
-use Scalar::Util 'weaken';
-
-
-sub removeFields(@)
-{   my $self  = shift;
-    my $known = $self->{MMH_fields};
-
-    foreach my $match (@_)
-    {
-        if(ref $match)
-        {   $_ =~ $match && delete $known->{$_} foreach keys %$known;
-        }
-        else { delete $known->{lc $match} }
-    }
-
-    $self->cleanupOrderedFields;
-}
-
-#------------------------------------------
-
-
-sub removeFieldsExcept(@)
-{   my $self   = shift;
-    my $known  = $self->{MMH_fields};
-    my %remove = map { ($_ => 1) } keys %$known;
-
-    foreach my $match (@_)
-    {   if(ref $match)
-        {   $_ =~ $match && delete $remove{$_} foreach keys %remove;
-        }
-        else { delete $remove{lc $match} }
-    }
-
-    delete @$known{ keys %remove };
-
-    $self->cleanupOrderedFields;
-}
-
-#------------------------------------------
-
-
-sub removeResentGroups()
-{   my $self = shift;
-    require Mail::Message::Head::ResentGroup;
-
-    my $known = $self->{MMH_fields};
-    my $found = 0;
-    foreach my $name (keys %$known)
-    {   next unless Mail::Message::Head::ResentGroup
-                         ->isResentGroupFieldName($name);
-        delete $known->{$name};
-        $found++;
-    }
-
-    $self->cleanupOrderedFields;
-    $self->modified(1) if $found;
-    $found;
-}
-
-#------------------------------------------
-
-
-sub removeListGroup()
-{   my $self = shift;
-    require Mail::Message::Head::ListGroup;
-
-    my $known = $self->{MMH_fields};
-    my $found = 0;
-    foreach my $name (keys %$known)
-    {   next unless Mail::Message::Head::ListGroup->isListGroupFieldName($name);
-        delete $known->{$name};
-	$found++;
-    }
-
-    $self->cleanupOrderedFields if $found;
-    $self->modified(1) if $found;
-    $found;
-}
-
-#------------------------------------------
-
-
-sub removeSpamGroups()
-{   my $self = shift;
-    require Mail::Message::Head::SpamGroup;
-
-    my $known = $self->{MMH_fields};
-    my $found = 0;
-    foreach my $name (keys %$known)
-    {   next unless Mail::Message::Head::SpamGroup->isSpamGroupFieldName($name);
-        delete $known->{$name};
-	$found++;
-    }
-
-    $self->cleanupOrderedFields if $found;
-    $self->modified(1) if $found;
-    $found;
-}
-
-#------------------------------------------
-
-
-sub cleanupOrderedFields()
-{   my $self = shift;
-    my @take = grep { defined $_ } @{$self->{MMH_order}};
-    weaken($_) foreach @take;
-    $self->{MMH_order} = \@take;
-    $self;
-}
-
-#------------------------------------------
-
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Partial.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Head/Partial.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Partial.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Head/Partial.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Partial.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,763 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Head::Partial - subset of header information of a message
-
-
-=head1 INHERITANCE
-
- Mail::Message::Head::Partial
-   is a Mail::Message::Head::Complete
-   is a Mail::Message::Head
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my $partial = $head->strip;
- $partial->isa('Mail::Message::Head')  # true
- $partial->isDelayed                      # false
- $partial->isPartial                      # true
-
- $partial->removeFields( qr/^X-/ );
- $partial->removeFieldsExcept( qw/To From/ );
- $partial->removeResentGroups;
- $partial->removeListGroup;
- $partial->removeSpamGroups;
-
-
-=head1 DESCRIPTION
-
-Header information consumes a considerable amount of memory.  Most of this
-information is only useful during a short period of time in your program,
-or sometimes it is not used at all.  You then can decide to remove most
-of the header information.  However, be warned that it will be lost
-permanently: the header (and therefore the messsage) gets mutulated!
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Message::Head/"OVERLOADED">
-
-=back
-
-overload: B<bool>
-
-=over 4
-
-See L<Mail::Message::Head/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<build>([PAIR|FIELD]-LIST)
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Constructors">
-
-=back
-
-$obj-E<gt>B<clone>([FIELDS])
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Constructors">
-
-=back
-
-Mail::Message::Head::Partial-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Head/"Constructors">
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<isEmpty>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<knownNames>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<message>([MESSAGE])
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"The header">
-
-=back
-
-$obj-E<gt>B<orderedFields>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"The header">
-
-=back
-
-$obj-E<gt>B<wrap>(INTEGER)
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"The header">
-
-=back
-
-=head2 Access to the header
-
-
-$obj-E<gt>B<add>(FIELD | LINE | (NAME,BODY[,ATTRS]))
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<addListGroup>(OBJECT)
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<addResentGroup>(RESENT-GROUP|DATA)
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<addSpamGroup>(OBJECT)
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<cleanupOrderedFields>
-
-=over 4
-
-The header maintains a list of fields which are ordered in sequence of
-definition.  It is required to maintain the header order to keep the
-related fields of resent groups together.  The fields are also included
-in a hash, sorted on their name for fast access.
-
-The references to field objects in the hash are real, those in the ordered 
-list are weak.  So when field objects are removed from the hash, their
-references in the ordered list are automagically undef'd.
-
-When many fields are removed, for instance with L<removeFields()|Mail::Message::Head::Partial/"Access to the header"> or
-L<removeFieldsExcept()|Mail::Message::Head::Partial/"Access to the header">, then it is useful to remove the list of undefs
-from the ordered list as well.  In those cases, this method is called
-automatically, however you may have your own reasons to call this method.
-
-=back
-
-$obj-E<gt>B<count>(NAME)
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<delete>(NAME)
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<get>(NAME [,INDEX])
-
-=over 4
-
-See L<Mail::Message::Head/"Access to the header">
-
-=back
-
-$obj-E<gt>B<grepNames>([NAMES|ARRAY-OF-NAMES|REGEXS])
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<listGroup>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<names>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<printSelected>(FILEHANDLE, (STRING|REGEXP)s)
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<printUndisclosed>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<removeContentInfo>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<removeField>(FIELD)
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<removeFields>(STRING|REGEXP, [STRING|REGEXP, ...])
-
-=over 4
-
-Remove the fields from the header which are exactly named 'STRING' (case
-insensitive) or match the REGular EXPresssion.  Do not forget to add the
-'i' modifier to the REGEXP, because fields are case insensitive.
-
-See also L<removeField()|Mail::Message::Head::Complete/"Access to the header"> which is used to remove one field object from
-the header.  The reverse specification can be made with
-C<removeFieldsExcept()>.
-
-I<Example:> 
-
- $head->removeFields('bcc', 'received');
- $head->removeFields( qr/^content-/i );
-
-=back
-
-$obj-E<gt>B<removeFieldsExcept>(STRING|REGEXP, [STRING|REGEXP, ...])
-
-=over 4
-
-Remove all fields from the header which are not equivalent to one of the
-specified STRINGs (case-insensitive) and which are not matching one of
-the REGular EXPressions.  Do not forget to add the 'i' modifier to the
-REGEXP, because fields are case insensitive.
-
-See also L<removeField()|Mail::Message::Head::Complete/"Access to the header"> which is used to remove one field object from
-the header.  The reverse specification can be made with C<removeFields()>.
-
-I<Example:> 
-
- $head->removeFieldsExcept('subject', qr/^content-/i ); 
- $head->removeFieldsExcept( qw/subject to from sender cc/ );
-
-=back
-
-$obj-E<gt>B<removeListGroup>
-
-=over 4
-
-Removes all header lines which are used to administer mailing lists.
-Which fields that are is explained in L<Mail::Message::Head::ListGroup|Mail::Message::Head::ListGroup>.
-Returned is the number of removed lines.
-
-=back
-
-$obj-E<gt>B<removeResentGroups>
-
-=over 4
-
-Removes all header lines which are member of a I<resent group>, which
-are explained in L<Mail::Message::Head::ResentGroup|Mail::Message::Head::ResentGroup>.  Returned is the
-number of removed lines.
-
-For removing single groups (for instance because you want to keep the
-last), use L<Mail::Message::Head::FieldGroup::delete()|Mail::Message::Head::FieldGroup/"The header">.
-
-=back
-
-$obj-E<gt>B<removeSpamGroups>
-
-=over 4
-
-Removes all header lines which were produced by spam detection and
-spam-fighting software.  Which fields that are is explained in
-L<Mail::Message::Head::SpamGroup|Mail::Message::Head::SpamGroup>.  Returned is the number of removed lines.
-
-=back
-
-$obj-E<gt>B<resentGroups>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<reset>(NAME, FIELDS)
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<set>(FIELD | LINE | (NAME, BODY [,ATTRS]))
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<spamDetected>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<spamGroups>([NAMES])
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<study>(NAME [,INDEX])
-
-=over 4
-
-See L<Mail::Message::Head/"Access to the header">
-
-=back
-
-=head2 About the body
-
-
-$obj-E<gt>B<guessBodySize>
-
-=over 4
-
-See L<Mail::Message::Head/"About the body">
-
-=back
-
-$obj-E<gt>B<guessTimeStamp>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"About the body">
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-See L<Mail::Message::Head/"About the body">
-
-=back
-
-$obj-E<gt>B<recvstamp>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"About the body">
-
-=back
-
-$obj-E<gt>B<timestamp>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"About the body">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<addNoRealize>(FIELD)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<addOrderedFields>(FIELDS)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<createFromLine>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Internals">
-
-=back
-
-$obj-E<gt>B<createMessageId>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Internals">
-
-=back
-
-$obj-E<gt>B<fileLocation>
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<load>
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<messageIdPrefix>([PREFIX, [HOSTNAME]|CODE])
-
-Mail::Message::Head::Partial-E<gt>B<messageIdPrefix>([PREFIX, [HOSTNAME]|CODE])
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Internals">
-
-=back
-
-$obj-E<gt>B<moveLocation>(DISTANCE)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<read>(PARSER)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<setNoRealize>(FIELD)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Head::Partial-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Head::Partial-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Head::Partial-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> Cannot remove field $name from header: not found.
-
-You ask to remove a field which is not known in the header.  Using
-L<delete()|Mail::Message::Head::Complete/"Access to the header">, L<reset()|Mail::Message::Head::Complete/"Access to the header">, or L<set()|Mail::Message::Head::Complete/"Access to the header"> to do the job will not result
-in warnings: those methods check the existence of the field first.
-
-I<Warning:> Field objects have an implied name ($name)
-
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-=head1 DETAILS
-
-
-=head2 Reducing the header size
-
-A message header is very large in memory and quite large on disk, and
-therefore a good candidate for size reduction.  One way to reduce the
-size is by simply eliminating superfluous header fields.  Each field
-requires at least 100 bytes of run-time memory, so this may help!
-
-Before you start playing around with L<removeFields()|Mail::Message::Head::Partial/"Access to the header"> and
-L<removeFieldsExcept()|Mail::Message::Head::Partial/"Access to the header">, you may take a look at two large groups
-of fields which can be removes as sets: the resent headers and the
-mailinglist headers.
-
-Resent headers describe the intermediate steps in the transmission
-process for the messages.  After successful delivery, they are rarely
-useful.
-
-When you are archiving a mailinglist, it is hardly ever useful to
-store a the list administration lines for each message as well.
-
-I<Example:> see examples/reduce.pl in distribution
-
-
- foreach my $msg ($folder->messages)
- {  $msg->head->removeResentGroups;
-    $msg->head->removeResentList;
- }
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Partial.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Head/Partial.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/ResentGroup.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Head/ResentGroup.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/ResentGroup.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,257 +0,0 @@
-
-use strict;
-
-package Mail::Message::Head::ResentGroup;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Head::FieldGroup';
-
-use Scalar::Util 'weaken';
-use Mail::Message::Field::Fast;
-
-use Sys::Hostname 'hostname';
-use Mail::Address;
-
-
-# all lower cased!
-my @ordered_field_names =
-  ( 'return-path', 'delivered-to' , 'received', 'resent-date'
-  , 'resent-from', 'resent-sender', , 'resent-to', 'resent-cc'
-  , 'resent-bcc', 'resent-message-id'
-  );
-
-my %resent_field_names = map { ($_ => 1) } @ordered_field_names;
-
-sub init($$)
-{   my ($self, $args) = @_;
-
-    $self->SUPER::init($args);
-
-    $self->{MMHR_real}  = $args->{message_head};
-
-    $self->set(Received => $self->createReceived)
-        if $self->orderedFields && ! $self->received;
-
-    $self;
-}
-
-#------------------------------------------
-
-
-sub from($@)
-{   return $_[0]->resentFrom if @_ == 1;   # backwards compat
-
-    my ($class, $from, %args) = @_;
-    my $head = $from->isa('Mail::Message::Head') ? $from : $from->head;
-
-    my (@groups, $group, $return_path, $delivered_to);
-
-    foreach my $field ($head->orderedFields)
-    {   my $name = $field->name;
-        next unless $resent_field_names{$name};
-
-        if($name eq 'return-path')              { $return_path  = $field }
-        elsif($name eq 'delivered-to')          { $delivered_to = $field }
-        elsif(substr($name, 0, 7) eq 'resent-')
-        {   $group->add($field) if defined $group }
-        elsif($name eq 'received')
-        {
-            $group = Mail::Message::Head::ResentGroup
-                          ->new($field, message_head => $head);
-            push @groups, $group;
-
-            $group->add($delivered_to) if defined $delivered_to;
-            undef $delivered_to;
-
-            $group->add($return_path) if defined $return_path;
-            undef $return_path;
-        }
-    }
-
-    @groups;
-}
-
-#------------------------------------------
-
-
-sub messageHead(;$)
-{   my $self = shift;
-    @_ ? $self->{MMHR_real} = shift : $self->{MMHR_real};
-}
-
-#------------------------------------------
-
-
-sub orderedFields()
-{   my $head = shift->head;
-    map { $head->get($_) || () } @ordered_field_names;
-}
-
-#------------------------------------------
-
-
-sub set($;$)
-{   my $self  = shift;
-    my $field;
-
-    if(@_==1) { $field = shift }
-    else
-    {   my ($fn, $value) = @_;
-        my $name  = $resent_field_names{lc $fn} ? $fn : "Resent-$fn";
-        $field = Mail::Message::Field::Fast->new($name, $value);
-    }
-
-    $self->head->set($field);
-    $field;
-}
-
-#-------------------------------------------
-
-sub fields() { shift->orderedFields }
-
-#-------------------------------------------
-
-sub fieldNames() { map { $_->Name } shift->orderedFields }
-
-#-------------------------------------------
-
-sub delete()
-{   my $self   = shift;
-    my $head   = $self->messageHead;
-    $head->removeField($_) foreach $self->fields;
-    $self;
-}
-
-#------------------------------------------
-
-
-sub add(@) { shift->set(@_) }
-
-#-------------------------------------------
-
-
-sub addFields(@) { shift->notImplemented }
-
-#-------------------------------------------
-
-
-sub returnPath() { shift->{MMHR_return_path} }
-
-#------------------------------------------
-
-
-sub deliveredTo() { shift->head->get('Delivered-To') }
-
-#------------------------------------------
-
-
-sub received() { shift->head->get('Received') }
-
-#------------------------------------------
-
-
-sub receivedTimestamp()
-{   my $received = shift->received or return;
-    my $comment  = $received->comment or return;
-    Mail::Message::Field->dateToTimestamp($comment);
-}
-
-#------------------------------------------
-
-
-sub date($) { shift->head->get('resent-date') }
-
-#------------------------------------------
-
-
-sub dateTimestamp()
-{   my $date = shift->date or return;
-    Mail::Message::Field->dateToTimestamp($date->unfoldedBody);
-}
-
-#------------------------------------------
-
-
-sub resentFrom()
-{   my $from = shift->head->get('resent-from') or return ();
-    wantarray ? $from->addresses : $from;
-}
-
-#------------------------------------------
-
-
-sub sender()
-{   my $sender = shift->head->get('resent-sender') or return ();
-    wantarray ? $sender->addresses : $sender;
-}
-
-#------------------------------------------
-
-
-sub to()
-{   my $to = shift->head->get('resent-to') or return ();
-    wantarray ? $to->addresses : $to;
-}
-
-#------------------------------------------
-
-
-sub cc()
-{   my $cc = shift->head->get('resent-cc') or return ();
-    wantarray ? $cc->addresses : $cc;
-}
-
-#------------------------------------------
-
-
-sub bcc()
-{   my $bcc = shift->head->get('resent-bcc') or return ();
-    wantarray ? $bcc->addresses : $bcc;
-}
-
-#------------------------------------------
-
-
-sub destinations()
-{   my $self = shift;
-    ($self->to, $self->cc, $self->bcc);
-}
-
-#------------------------------------------
-
-
-sub messageId() { shift->head->get('resent-message-id') }
-
-#------------------------------------------
-
-
-sub isResentGroupFieldName($) { $resent_field_names{lc $_[1]} }
-
-#------------------------------------------
-
-
-my $unique_received_id = 'rc'.time;
-
-sub createReceived(;$)
-{   my ($self, $domain) = @_;
-
-    unless(defined $domain)
-    {   my $sender = ($self->sender)[0] || ($self->resentFrom)[0];
-        $domain    = $sender->host if defined $sender;
-    }
-
-    my $received
-      = 'from ' . $domain
-      . ' by '  . hostname
-      . ' with SMTP'
-      . ' id '  . $unique_received_id++
-      . ' for ' . $self->head->get('Resent-To')  # may be wrong
-      . '; '. Mail::Message::Field->toDate;
-
-    $received;
-}
-
-#-------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/ResentGroup.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Head/ResentGroup.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/ResentGroup.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Head/ResentGroup.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/ResentGroup.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,652 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Head::ResentGroup - header fields tracking message delivery
-
-
-=head1 INHERITANCE
-
- Mail::Message::Head::ResentGroup
-   is a Mail::Message::Head::FieldGroup
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my $rg = Mail::Message::Head::ResentGroup->new(head => $head,
-              From => 'me at home.nl', To => 'You at tux.aq');
- $head->addResentGroup($rg);
-
- my $rg = $head->addResentGroup(From => 'me');
-
- my @from = $rg->From;
-
- my @rgs = $head->resentGroups;
- $rg[2]->delete if @rgs > 2;
-
-
-=head1 DESCRIPTION
-
-A I<resent group> is a set of header fields which describe one intermediate
-step in the message transport.  Resent groups B<have NOTHING to do> with
-user activety; there is no relation to the C<user's> sense of creating
-reply, forward, or bounce messages at all!
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"Constructors">
-
-=back
-
-$obj-E<gt>B<from>([HEAD|MESSAGE, OPTIONS])
-
-=over 4
-
-WARNING: this method has two very different purposes.  For backward
-compatibility reasons, without arguments L<resentFrom()|Mail::Message::Head::ResentGroup/"Access to the header"> is called to
-return the C<From> field of this resent group.
-
-With any arguments, a list of C<Mail::Message::Head::ResentGroup> objects
-is returned, taken from the specified MESSAGE or message HEAD.
-
-=back
-
-$obj-E<gt>B<implementedTypes>
-
-Mail::Message::Head::ResentGroup-E<gt>B<implementedTypes>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"Constructors">
-
-=back
-
-Mail::Message::Head::ResentGroup-E<gt>B<new>([FIELDS], OPTIONS)
-
-=over 4
-
-Create an object which maintains one set of resent headers.  The
-FIELDS are L<Mail::Message::Field|Mail::Message::Field> objects from the same header.
-
-OPTIONS which start with capitals will be used to construct additional
-fields.  These option names are prepended with C<Resent->, keeping the
-capitization of what is specified.
-
- Option        Defined in       Default                
- Bcc                            undef                  
- Cc                             undef                  
- Date                           <now>                  
- Delivered-To                   undef                  
- From                           <required>             
- Message-ID                     <uniquely created>     
- Received                       <created>              
- Return-Path                    undef                  
- Sender                         undef                  
- To                             undef                  
- head                           <created automatically>
- log           L<Mail::Reporter>  C<'WARNINGS'>          
- message_head                   C<undef>               
- software      L<Mail::Message::Head::FieldGroup>  C<undef>               
- trace         L<Mail::Reporter>  C<'WARNINGS'>          
- type          L<Mail::Message::Head::FieldGroup>  C<undef>               
- version       L<Mail::Message::Head::FieldGroup>  C<undef>               
-
-. Bcc STRING|OBJECT|OBJECTS
-
-. Cc STRING|OBJECT|OBJECTS
-
-. Date STRING
-
-=over 4
-
-When this resent-group is dispatched by the resender of the message. Like
-the C<Date> field, it is not the date and time that the message was
-actually transported.
-
-=back
-
-. Delivered-To STRING|FIELD
-
-. From STRING|OBJECT|OBJECTS
-
-. Message-ID STRING|FIELD
-
-=over 4
-
-The C<Resent-Message-ID> which identifies this resent group.  The FIELD
-must contain a message id.
-
-=back
-
-. Received STRING
-
-=over 4
-
-The C<Received> field is the starting line for a resent group of header
-lines. If it is not defined, one is created using L<createReceived()|Mail::Message::Head::ResentGroup/"Internals">.
-
-=back
-
-. Return-Path STRING|FIELD
-
-. Sender STRING|OBJECT
-
-=over 4
-
-Only permitted when more than one from address is specified.  In this case,
-it selects one of these addresses as the main originator of the message.
-
-=back
-
-. To STRING|OBJECT|OBJECTS
-
-. head OBJECT
-
-=over 4
-
-The header where the data is stored in.  Be dafault a
-L<Mail::Message::Head::Partial|Mail::Message::Head::Partial> is created for you.
-
-=back
-
-. log LEVEL
-
-. message_head HEAD
-
-=over 4
-
-The real header of the message where this resent group is part of.  The
-C<head> used in this class is only a container for a subset of fields.
-
-=back
-
-. software STRING
-
-. trace LEVEL
-
-. type STRING
-
-. version STRING
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<add>((FIELD =E<gt> VALUE) | OBJECT)
-
-=over 4
-
-All fields appear only once, so C<add()> behaves as L<set()|Mail::Message::Head::ResentGroup/"The header">.
-
-=back
-
-$obj-E<gt>B<addFields>([FIELDNAMES])
-
-=over 4
-
-Not applicable to resent-groups: the same name can appear in more than
-one group.  Therefore, a FIELDNAME is sufficiently distinctive.
-
-=back
-
-$obj-E<gt>B<attach>(HEAD)
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"The header">
-
-=back
-
-$obj-E<gt>B<delete>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"The header">
-
-=back
-
-$obj-E<gt>B<fieldNames>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"The header">
-
-=back
-
-$obj-E<gt>B<fields>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"The header">
-
-=back
-
-$obj-E<gt>B<head>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"The header">
-
-=back
-
-$obj-E<gt>B<messageHead>([HEAD])
-
-=over 4
-
-Returns (optionally after setting) the real header where this resent group
-belongs to.  This may be undef at creation, and then later filled in
-when L<Mail::Message::Head::Complete::addResentGroup()|Mail::Message::Head::Complete/"Access to the header"> is called.
-
-=back
-
-$obj-E<gt>B<orderedFields>
-
-=over 4
-
-Returns the fields in the order as should appear in header according
-to rfc2822.  For the C<Resent-> fields of the group, the order is
-not that important, but the C<Return-Path>, C<Delivered-To>, and C<Received>
-must come first.  Only fields mentioned in the RFC are returned.
-
-=back
-
-$obj-E<gt>B<set>((FIELD =E<gt> VALUE) | OBJECT)
-
-=over 4
-
-Set a FIELD to a (new) VALUE.  The FIELD names which do not start with
-'Resent-*' but need it will have that added.  It is also an option to
-specify a fully prepared message field OBJECT.  In any case, a field
-OBJECT is returned.
-
-I<Example:> 
-
- my $this = Mail::Message::Head::ResentGroup->new;
- $this->set(To => 'fish at tux.aq');
- $msg->addResentGroup($this);
- $msg->send;
-
- $msg->bounce(To => 'fish at tux.aq')->send;   # the same
-
- my $this = Mail::Message::Head::ResentGroup
-     ->new(To => 'fish at tux.aq');
-
-=back
-
-=head2 Access to the header
-
-
-$obj-E<gt>B<bcc>
-
-=over 4
-
-In scalar context, the C<Resent-Bcc> field is returned.  In list context,
-the addresses as specified within the bcc field are returned as
-Mail::Address objects.  Bcc fields are not transmitted (hidden for
-external parties).
-
-=back
-
-$obj-E<gt>B<cc>
-
-=over 4
-
-In scalar context, the C<Resent-Cc> field is returned.  In list context,
-the addresses as specified within the cc field are returned as
-Mail::Address objects.
-
-=back
-
-$obj-E<gt>B<date>
-
-=over 4
-
-Returns the C<Resent-Date> field, or C<undef> if it was not defined.
-
-=back
-
-$obj-E<gt>B<dateTimestamp>
-
-=over 4
-
-The timestamp as stored within the C<Resent-Date> field converted to
-local system time.
-
-=back
-
-$obj-E<gt>B<deliveredTo>
-
-=over 4
-
-The field which describes the C<Delivered-To> of this resent group.
-
-=back
-
-$obj-E<gt>B<destinations>
-
-=over 4
-
-Returns a list of all addresses specified in the C<Resent-To>, C<-Cc>, and
-C<-Bcc> fields of this resent group.
-
-=back
-
-$obj-E<gt>B<isResentGroupFieldName>(NAME)
-
-Mail::Message::Head::ResentGroup-E<gt>B<isResentGroupFieldName>(NAME)
-
-=over 4
-
-=back
-
-$obj-E<gt>B<messageId>
-
-=over 4
-
-Returns the message-ID used for this group of resent lines.
-
-=back
-
-$obj-E<gt>B<received>
-
-=over 4
-
-The field which describes the C<Received> data of this resent group.
-
-=back
-
-$obj-E<gt>B<receivedTimestamp>
-
-=over 4
-
-The timestamp as stored within the C<Received> field converted to
-local system time.
-
-=back
-
-$obj-E<gt>B<resentFrom>
-
-=over 4
-
-In scalar context, the C<Resent-From> field is returned.  In list
-context, the addresses as specified within the from field are
-returned as Mail::Address objects.
-
-For reasons of backward compatibility and consistency, the L<from()|Mail::Message::Head::ResentGroup/"METHODS">
-method will return the same as this method.
-
-=back
-
-$obj-E<gt>B<returnPath>
-
-=over 4
-
-The field which describes the C<Return-Path> of this resent group.
-
-=back
-
-$obj-E<gt>B<sender>
-
-=over 4
-
-In scalar context, the C<Resent-Sender> field is returned.  In list
-context, the addresses as specified within the from field are
-returned as Mail::Address objects.
-
-=back
-
-$obj-E<gt>B<software>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"Access to the header">
-
-=back
-
-$obj-E<gt>B<to>
-
-=over 4
-
-In scalar context, the C<Resent-To> field is returned.  In list context,
-the addresses as specified within the to field are returned as
-Mail::Address objects.
-
-=back
-
-$obj-E<gt>B<type>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"Access to the header">
-
-=back
-
-$obj-E<gt>B<version>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"Access to the header">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<collectFields>([NAME])
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"Internals">
-
-=back
-
-$obj-E<gt>B<createReceived>([DOMAIN])
-
-=over 4
-
-Create a recieved field for this resent group.  This is automatically
-called if none was specified during creation of this resent group object.
-
-The content of this field is described in RFC2821 section 4.4.  It could use
-some improvement.
-
-=back
-
-$obj-E<gt>B<detected>(TYPE, SOFTWARE, VERSION)
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Head::ResentGroup-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<details>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Head::ResentGroup-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Head::ResentGroup-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Message header required for creation of ResentGroup.
-
-It is required to know to which header the resent-group
-is created.  Use the C<head> option.  Maybe you should use
-L<Mail::Message::Head::Complete::addResentGroup()|Mail::Message::Head::Complete/"Access to the header"> with DATA, which will
-organize the correct initiations for you.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/ResentGroup.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Head/ResentGroup.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/SpamGroup.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Head/SpamGroup.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/SpamGroup.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,175 +0,0 @@
-
-package Mail::Message::Head::SpamGroup;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Head::FieldGroup';
-
-use strict;
-use warnings;
-
-use Carp 'confess';
-
-
-#------------------------------------------
-
-
-my %fighters;
-my $fighterfields;    # one regexp for all fields
-
-sub knownFighters() { keys %fighters }
-
-#------------------------------------------
-
-
-sub fighter($;@)
-{   my ($thing, $name) = (shift, shift);
-
-    if(@_)
-    {   my %args   = @_;
-        defined $args{fields} or confess "Spamfighters require fields\n";
-        defined $args{isspam} or confess "Spamfighters require isspam\n";
-        $fighters{$name} = \%args;
-
-        my @fields = map { $_->{fields} } values %fighters;
-        local $" = '|';
-        $fighterfields = qr/@fields/;
-    }
-
-    %{$fighters{$name}};
-}
-
-
-BEGIN
-{  __PACKAGE__->fighter( SpamAssassin =>
-       fields  => qr/^X-Spam-/i
-     , isspam  =>
-          sub { my ($sg, $head) = @_;
-                my $f = $head->get('X-Spam-Flag') || $head->get('X-Spam-Status')
-                   or return 0;
-
-                $f =~ m/^yes\b/i;
-              }
-    , version =>
-          sub { my ($sg, $head) = @_;
-                my $assin = $head->get('X-Spam-Checker-Version') or return ();
-                my ($software, $version) = $assin =~ m/^(.*)\s+(.*?)\s*$/;
-                ($software, $version);
-              }
-    );
-
-  __PACKAGE__->fighter( 'Habeas-SWE' =>
-      fields  => qr/^X-Habeas-SWE/i
-    , isspam  =>
-          sub { my ($sg, $head) = @_;
-                not $sg->habeasSweFieldsCorrect;
-              }
-    );
-
-  __PACKAGE__->fighter( MailScanner  =>
-      fields  => qr/^X-MailScanner/i
-    , isspam  =>
-          sub { my ($sg, $head) = @_;
-                my $subject = $head->get('subject');
-                $subject =~ m/^\{ (?:spam|virus)/xi;
-              }
-    );
-
-}
-
-#------------------------------------------
-
-
-sub from($@)
-{  my ($class, $from, %args) = @_;
-   my $head  = $from->isa('Mail::Message::Head') ? $from : $from->head;
-   my ($self, @detected);
-
-   my @types = defined $args{types} ? @{$args{types}} : $class->knownFighters;
-
-   foreach my $type (@types)
-   {   $self = $class->new(head => $head) unless defined $self;
-       next unless $self->collectFields($type);
-
-       my %fighter = $self->fighter($type);
-       my ($software, $version)
-           = defined $fighter{version} ? $fighter{version}->($self, $head) : ();
- 
-       $self->detected($type, $software, $version);
-       $self->spamDetected( $fighter{isspam}->($self, $head) );
-
-       push @detected, $self;
-       undef $self;             # create a new one
-   }
-
-   @detected;
-}
-
-#------------------------------------------
-
-sub collectFields($)
-{   my ($self, $set) = @_;
-    my %fighter = $self->fighter($set)
-       or confess "ERROR: No spam set $set.";
-
-    my @names = map { $_->name } $self->head->grepNames( $fighter{fields} );
-    return () unless @names;
-
-    $self->addFields(@names);
-    @names;
-}
-
-#------------------------------------------
-
-
-sub isSpamGroupFieldName($) { $_[1] =~ $fighterfields }
-
-#------------------------------------------
-
-
-my @habeas_lines =
-( 'winter into spring', 'brightly anticipated', 'like Habeas SWE (tm)'
-, 'Copyright 2002 Habeas (tm)'
-, 'Sender Warranted Email (SWE) (tm). The sender of this'
-, 'email in exchange for a license for this Habeas'
-, 'warrant mark warrants that this is a Habeas Compliant'
-, 'Message (HCM) and not spam. Please report use of this'
-, 'mark in spam to <http://www.habeas.com/report/>.'
-);
-
-sub habeasSweFieldsCorrect(;$)
-{   my $self;
-
-    if(@_ > 1)
-    {   my ($class, $thing) = @_;
-        my $head = $thing->isa('Mail::Message::Head') ? $thing : $thing->head;
-        $self    = $head->spamGroups('Habeas-SWE') or return;
-    }
-    else
-    {   $self = shift;
-        my $type = $self->type;
-        return unless defined $type && $type eq 'Habeas-SWE';
-    }
-
-    my $head     = $self->head;
-    return if $self->fields != @habeas_lines;
-
-    for(my $nr=1; $nr <= $#habeas_lines; $nr++)
-    {   my $f = $head->get("X-Habeas-SWE-$nr") or return;
-        return if $f->unfoldedBody ne $habeas_lines[$nr-1];
-    }
-
-    1;
-}
-
-#------------------------------------------
-
-
-sub spamDetected(;$)
-{   my $self = shift;
-    @_? ($self->{MMFS_spam} = shift) : $self->{MMFS_spam};
-}
-
-#------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/SpamGroup.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Head/SpamGroup.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/SpamGroup.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Head/SpamGroup.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/SpamGroup.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,540 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Head::SpamGroup - spam fighting related header fields
-
-
-=head1 INHERITANCE
-
- Mail::Message::Head::SpamGroup
-   is a Mail::Message::Head::FieldGroup
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my $sg = Mail::Message::Head::SpamGroup->new(head => $head, ...);
- $head->addSpamGroup($sg);
-
- my $sg = $head->addSpamGroup( <options> );
- $sg->delete;
- 
- my @sgs = $head->spamGroups;
-
-
-=head1 DESCRIPTION
-
-A I<spam group> is a set of header fields which are added by spam detection
-and spam fighting software.  This class knows various details about
-that software.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"Constructors">
-
-=back
-
-$obj-E<gt>B<fighter>(NAME, [SETTINGS])
-
-Mail::Message::Head::SpamGroup-E<gt>B<fighter>(NAME, [SETTINGS])
-
-=over 4
-
-Get the SETTINGS of a certain spam-fighter, optionally after setting them.
-The L<knownFighters()> method returns the defined names.  The names
-are case-sensitive.
-
- Option   Defined in       Default   
- fields                    <required>
- isspam                    <required>
- version                   C<undef>  
-
-. fields REGEXP
-
-=over 4
-
-The regular expression which indicates which of the header fields are
-added by the spam fighter software.
-
-=back
-
-. isspam CODE
-
-=over 4
-
-The CODE must return true or false, to indicate whether the spam fighter
-thinks that the message contains spam.  The CODE ref is called with
-the spamgroup object (under construction) and the header which is inspected.
-
-=back
-
-. version CODE
-
-=over 4
-
-Can be called to collect the official name and the version of the
-software which is used to detect spam.  The CODE ref is called with
-the spamgroup object (under construction) and the header which is inspected.
-
-=back
-
-I<Example:> adding your own spam-fighter definitions
-
-
- Mail::Message::Head::SpamGroup->fighter( 'MY-OWN',
-    fields => qw/^x-MY-SPAM-DETECTOR-/,
-    isspam => sub { my ($sg, $head) = @_; $head->fields > 100 }
-   );
-
-=back
-
-$obj-E<gt>B<from>(HEAD|MESSAGE, OPTIONS)
-
-=over 4
-
-Returns a list of C<Mail::Message::Head::SpamGroup> objects, based on the
-specified MESSAGE or message HEAD.
-
- Option  Defined in  Default 
- types               C<undef>
-
-. types ARRAY-OF-NAMES
-
-=over 4
-
-Only the specified types will be tried.  If the ARRAY is empty, an empty
-list is returned.  Without this option, all sets are returned.
-
-=back
-
-=back
-
-$obj-E<gt>B<habeasSweFieldsCorrect>([MESSAGE|HEAD])
-
-Mail::Message::Head::SpamGroup-E<gt>B<habeasSweFieldsCorrect>([MESSAGE|HEAD])
-
-=over 4
-
-Returns a true value if the MESSAGE or HEAD contains C<Habeas-SWE> fields
-which are correct.  Without argument, this is used as instance method on
-an existing Spam-Group.
-
-I<Example:> checking Habeas-SWE fields
-
-
- if(Mail::Message::Head::SpamGroup->habeasSweFieldsCorrect($message))
- {   $message->label(spam => 0);
- }
-
- my $sg = $message->head->spamGroups('Habeas-SWE');
- if($sg->habeasSweFieldsCorrect) { ... };
-
- use List::Util 'first';
- if(first {$_->habeasSweFieldsCorrect} $head->spamGroups)
- {   ...
- }
-
-=back
-
-$obj-E<gt>B<implementedTypes>
-
-Mail::Message::Head::SpamGroup-E<gt>B<implementedTypes>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"Constructors">
-
-=back
-
-$obj-E<gt>B<isSpamGroupFieldName>(NAME)
-
-Mail::Message::Head::SpamGroup-E<gt>B<isSpamGroupFieldName>(NAME)
-
-=over 4
-
-=back
-
-$obj-E<gt>B<knownFighters>
-
-Mail::Message::Head::SpamGroup-E<gt>B<knownFighters>
-
-=over 4
-
-Returns an unsorted list of all names representing pre-defined spam-fighter
-software.  You can ask details about them, and register more fighters with
-the L<fighter()|Mail::Message::Head::SpamGroup/"Constructors"> method.
-
-=back
-
-Mail::Message::Head::SpamGroup-E<gt>B<new>(FIELDS, OPTIONS)
-
-=over 4
-
-Construct an object which maintains one set of fields which were added
-by spam fighting software.
-
- Option    Defined in       Default      
- head      L<Mail::Message::Head::FieldGroup>  C<undef>     
- log       L<Mail::Reporter>  C<'WARNINGS'>
- software  L<Mail::Message::Head::FieldGroup>  C<undef>     
- trace     L<Mail::Reporter>  C<'WARNINGS'>
- type      L<Mail::Message::Head::FieldGroup>  C<undef>     
- version   L<Mail::Message::Head::FieldGroup>  C<undef>     
-
-. head HEAD
-
-. log LEVEL
-
-. software STRING
-
-. trace LEVEL
-
-. type STRING
-
-. version STRING
-
-=back
-
-$obj-E<gt>B<spamDetected>([BOOLEAN])
-
-=over 4
-
-Returns (after setting) whether this group of spam headers thinks that
-this is spam.  See L<Mail::Message::Head::Complete::spamDetected()|Mail::Message::Head::Complete/"Access to the header">.
-
-I<Example:> 
-
-  die if $head->spamDetected;
-
-  foreach my $sg ($head->spamGroups)
-  {   print $sg->type." found spam\n" if $sg->spamDetected;
-  }
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<add>((FIELD, VALUE) | OBJECT)
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"The header">
-
-=back
-
-$obj-E<gt>B<addFields>([FIELDNAMES])
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"The header">
-
-=back
-
-$obj-E<gt>B<attach>(HEAD)
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"The header">
-
-=back
-
-$obj-E<gt>B<delete>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"The header">
-
-=back
-
-$obj-E<gt>B<fieldNames>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"The header">
-
-=back
-
-$obj-E<gt>B<fields>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"The header">
-
-=back
-
-$obj-E<gt>B<head>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"The header">
-
-=back
-
-=head2 Access to the header
-
-
-$obj-E<gt>B<software>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"Access to the header">
-
-=back
-
-$obj-E<gt>B<type>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"Access to the header">
-
-=back
-
-$obj-E<gt>B<version>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"Access to the header">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<collectFields>([NAME])
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"Internals">
-
-=back
-
-$obj-E<gt>B<detected>(TYPE, SOFTWARE, VERSION)
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Head::SpamGroup-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<details>
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Head::SpamGroup-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Head::SpamGroup-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message::Head::FieldGroup/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-=head1 DETAILS
-
-
-=head2 Spam fighting fields
-
-
-=head3 Detected spam fighting software
-
-The L<Mail::Message::Head::SpamGroup|Mail::Message::Head::SpamGroup> class can be used to detect
-fields which were produced by different spam fighting software.
-
-=over 4
-
-=item * SpamAssassin
-
-These fields are added by L<Mail::SpamAssassin>, which is the central
-implementation of the spam-assassin package.  The homepage of this
-GPL'ed project can be found at L<http://spamassassin.org>.
-
-=item * Habeas-SWE
-
-Habeas tries to fight spam via the standard copyright protection
-mechanism: Sender Warranted E-mail (SWE). Only when you have a contract
-with Habeas, you are permitted to add a few copyrighted lines to your
-e-mail. Spam senders will be refused a contract.  Mail clients which
-see these nine lines are (quite) sure that the message is sincere.
-
-See L<http://www.habeas.com> for all the details on this commercial
-product.
-
-=item * MailScanner
-
-The MailScanner filter is developed and maintained by
-transtec Computers.  The software is available for free download from
-L<http://www.sng.ecs.soton.ac.uk/mailscanner/>.  Commercial support
-is provided via L<http://www.mailscanner.biz>.
-
-=back
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/SpamGroup.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Head/SpamGroup.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Subset.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Head/Subset.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Subset.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,92 +0,0 @@
-
-use strict;
-
-package Mail::Message::Head::Subset;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Head';
-
-use Object::Realize::Later
-    becomes        => 'Mail::Message::Head::Complete',
-    realize        => 'load',
-    believe_caller => 1;
-
-use Date::Parse;
-
-
-sub count($)
-{   my ($self, $name) = @_;
-
-    my @values = $self->get($name);
-
-    return $self->load->count($name)
-       unless @values;
-
-    scalar @values;
-}
-
-#-------------------------------------------
-
-
-sub get($;$)
-{   my $self = shift;
- 
-    if(wantarray)
-    {   my @values = $self->SUPER::get(@_);
-        return @values if @values;
-    }
-    else
-    {   my $value  = $self->SUPER::get(@_);
-        return $value  if defined $value;
-    }
-
-    $self->load->get(@_);
-}
-
-
-#-------------------------------------------
-
-
-sub guessBodySize()
-{   my $self = shift;
-
-    my $cl = $self->SUPER::get('Content-Length');
-    return $1 if defined $cl && $cl =~ m/(\d+)/;
-
-    my $lines = $self->SUPER::get('Lines');   # 40 chars per lines
-    return $1*40 if defined $lines && $lines =~ m/(\d+)/;
-
-    undef;
-}
-
-#-------------------------------------------
-# Be careful not to trigger loading: this is not the thoroughness
-# we want from this method.
-
-sub guessTimestamp()
-{   my $self = shift;
-    return $self->{MMHS_timestamp} if $self->{MMHS_timestamp};
-
-    my $stamp;
-    if(my $date = $self->SUPER::get('date'))
-    {   $stamp = str2time($date, 'GMT');
-    }
-
-    unless($stamp)
-    {   foreach ($self->SUPER::get('received'))
-        {   $stamp = str2time($_, 'GMT');
-            last if $stamp;
-        }
-    }
-
-    $self->{MMHS_timestamp} = $stamp;
-}
-
-#-------------------------------------------
-
-
-sub load() {$_[0] = $_[0]->message->loadHead}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Subset.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Head/Subset.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Subset.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Head/Subset.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Subset.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,408 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Head::Subset - subset of header information of a message
-
-
-=head1 INHERITANCE
-
- Mail::Message::Head::Subset realizes a Mail::Message::Head::Complete
-
- Mail::Message::Head::Subset
-   is a Mail::Message::Head
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my Mail::Message::Head::Subset $subset = ...;
- $subset->isa('Mail::Message::Head')  # true
- $subset->guessBodySize               # integer or undef
- $subset->isDelayed                   # true
-
-
-=head1 DESCRIPTION
-
-Some types of folders contain an index file which lists a few lines of
-information per messages.  Especially when it is costly to read header lines,
-the index speeds-up access considerably.  For instance, the subjects of
-all messages are often wanted, but waiting for a thousand messages of the
-folder to be read may imply a thousand network reads (IMAP) or file
-openings (MH)
-
-When you access header fields which are not in the header subset, the whole
-header has to be parsed (which may consume considerable time, depending on
-the type of folder).
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Message::Head/"OVERLOADED">
-
-=back
-
-overload: B<bool>
-
-=over 4
-
-See L<Mail::Message::Head/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<build>([PAIR|FIELD]-LIST)
-
-=over 4
-
-See L<Mail::Message::Head/"Constructors">
-
-=back
-
-Mail::Message::Head::Subset-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Head/"Constructors">
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<isEmpty>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<knownNames>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<message>([MESSAGE])
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<orderedFields>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-=head2 Access to the header
-
-
-$obj-E<gt>B<count>(NAME)
-
-=over 4
-
-Count the number of fields with this NAME.  If the NAME cannot be found,
-the full header get loaded.  In case we find any NAME field, it is
-decided we know all of them, and loading is not needed.
-
-=back
-
-$obj-E<gt>B<get>(NAME [,INDEX])
-
-=over 4
-
-Get the data which is related to the field with the NAME.  The case of the
-characters in NAME does not matter.  When a NAME is used which is not known
-yet, realization will take place.
-
-=back
-
-$obj-E<gt>B<study>(NAME [,INDEX])
-
-=over 4
-
-See L<Mail::Message::Head/"Access to the header">
-
-=back
-
-=head2 About the body
-
-
-$obj-E<gt>B<guessBodySize>
-
-=over 4
-
-The body size is defined in the C<Content-Length> field.  However, this
-field may not be known.  In that case, a guess is made based on the known
-C<Lines> field.  When also that field is not known yet, C<undef> is returned.
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-See L<Mail::Message::Head/"About the body">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<addNoRealize>(FIELD)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<addOrderedFields>(FIELDS)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<fileLocation>
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<load>
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<moveLocation>(DISTANCE)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<read>(PARSER)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<setNoRealize>(FIELD)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Head::Subset-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Head::Subset-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Head::Subset-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head/Subset.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Head/Subset.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Head.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,259 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message::Head;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Reporter';
-
-use Mail::Message::Head::Complete;
-use Mail::Message::Field::Fast;
-
-use Carp;
-use Scalar::Util 'weaken';
-
-
-use overload qq("") => 'string_unless_carp'
-           , bool   => 'isEmpty';
-
-# To satisfy overload in static resolving.
-sub toString() { shift->load->toString }
-sub string()   { shift->load->string }
-
-sub string_unless_carp()
-{   my $self = shift;
-    return $self->toString unless (caller)[0] eq 'Carp';
-
-    (my $class = ref $self) =~ s/^Mail::Message/MM/;
-    "$class object";
-}
-
-#------------------------------------------
-
-
-sub new(@)
-{   my $class = shift;
-
-    return Mail::Message::Head::Complete->new(@_)
-       if $class eq __PACKAGE__;
-
-    $class->SUPER::new(@_);
-}
- 
-sub init($)
-{   my ($self, $args) = @_;
-
-    $self->SUPER::init($args);
-
-    $self->{MMH_field_type} = $args->{field_type}
-        if $args->{field_type};
-
-    $self->message($args->{message})
-        if defined $args->{message};
-
-    $self->{MMH_fields}     = {};
-    $self->{MMH_order}      = [];
-    $self->{MMH_modified}   = $args->{modified} || 0;
-    $self;
-}
-
-#------------------------------------------
-
-
-sub build(@)
-{   shift;
-    Mail::Message::Head::Complete->build(@_);
-}
-
-#------------------------------------------
-
-
-sub isDelayed { 1 }
-
-#------------------------------------------
-
-
-sub modified(;$)
-{   my $self = shift;
-    return $self->isModified unless @_;
-    $self->{MMH_modified} = shift;
-}
-
-#------------------------------------------
-
-
-sub isModified() { shift->{MMH_modified} }
-
-#------------------------------------------
-
-
-sub isEmpty { scalar keys %{shift->{MMH_fields}} }
-
-#------------------------------------------
-
-
-sub message(;$)
-{   my $self = shift;
-    if(@_)
-    {    $self->{MMH_message} = shift;
-         weaken($self->{MMH_message});
-    }
-
-    $self->{MMH_message};
-}
-
-#------------------------------------------
-
-
-sub orderedFields() { grep {defined $_} @{shift->{MMH_order}} }
-
-#------------------------------------------
-
-
-sub knownNames() { keys %{shift->{MMH_fields}} }
-
-#------------------------------------------
-
-
-sub get($;$)
-{   my $known = shift->{MMH_fields};
-    my $value = $known->{lc(shift)};
-    my $index = shift;
-
-    if(defined $index)
-    {   return ! defined $value      ? undef
-             : ref $value eq 'ARRAY' ? $value->[$index]
-             : $index == 0           ? $value
-             :                         undef;
-    }
-    elsif(wantarray)
-    {   return ! defined $value      ? ()
-             : ref $value eq 'ARRAY' ? @$value
-             :                         ($value);
-    }
-    else
-    {   return ! defined $value      ? undef
-             : ref $value eq 'ARRAY' ? $value->[-1]
-             :                         $value;
-    }
-}
-
-sub get_all(@) { my @all = shift->get(@_) }   # compatibility, force list
-sub setField($$) {shift->add(@_)} # compatibility
-
-#------------------------------------------
-
-
-sub study($;$)
-{   my $self = shift;
-    return map {$_->study} $self->get(@_)
-       if wantarray;
-
-    my $got  = $self->get(@_);
-    defined $got ? $got->study : undef;
-}
-
-#------------------------------------------
-
-
-#------------------------------------------
-
-
-sub isMultipart()
-{   my $type = shift->get('Content-Type');
-    $type && scalar $type->body =~ m[^multipart/]i;
-}
-
-#------------------------------------------
-
-
-sub read($)
-{   my ($self, $parser) = @_;
-
-    my @fields = $parser->readHeader;
-    @$self{ qw/MMH_begin MMH_end/ } = (shift @fields, shift @fields);
-
-    my $type   = $self->{MMH_field_type} || 'Mail::Message::Field::Fast';
-
-    $self->addNoRealize($type->new( @$_ ))
-        foreach @fields;
-
-    $self;
-}
-
-#------------------------------------------
-
-
-#  Warning: fields are added in addResentGroup() as well!
-sub addOrderedFields(@)
-{   my $order = shift->{MMH_order};
-    foreach (@_)
-    {   push @$order, $_;
-        weaken( $order->[-1] );
-    }
-    @_;
-}
-
-#------------------------------------------
-
-
-sub load($) {shift}
-
-#------------------------------------------
-
-
-sub fileLocation()
-{   my $self = shift;
-    @$self{ qw/MMH_begin MMH_end/ };
-}
-
-#------------------------------------------
-
-
-sub moveLocation($)
-{   my ($self, $dist) = @_;
-    $self->{MMH_begin} -= $dist;
-    $self->{MMH_end}   -= $dist;
-    $self;
-}
-
-#------------------------------------------
-
-
-sub setNoRealize($)
-{   my ($self, $field) = @_;
-
-    my $known = $self->{MMH_fields};
-    my $name  = $field->name;
-
-    $self->addOrderedFields($field);
-    $known->{$name} = $field;
-    $field;
-}
-
-#------------------------------------------
-
-
-sub addNoRealize($)
-{   my ($self, $field) = @_;
-
-    my $known = $self->{MMH_fields};
-    my $name  = $field->name;
-
-    $self->addOrderedFields($field);
-
-    if(defined $known->{$name})
-    {   if(ref $known->{$name} eq 'ARRAY') { push @{$known->{$name}}, $field }
-        else { $known->{$name} = [ $known->{$name}, $field ] }
-    }
-    else
-    {   $known->{$name} = $field;
-    }
-
-    $field;
-}
-
-#------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Head.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Head.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,616 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Head - the header of one message
-
-
-=head1 INHERITANCE
-
- Mail::Message::Head
-   is a Mail::Reporter
-
- Mail::Message::Head is extended by
-   Mail::Box::IMAP4::Head
-   Mail::Message::Head::Complete
-   Mail::Message::Head::Delayed
-   Mail::Message::Head::Subset
-
-
-=head1 SYNOPSIS
-
- my $head = Mail::Message::Head->new;
- $head->add('From: me at localhost');
- $head->add(From => 'me at localhost');
- $head->add(Mail::Message::Field->new(From => 'me'));
- my Mail::Message::Field $subject = $head->get('subject');
- my Mail::Message::Field @rec = $head->get('received');
- $head->delete('From');
-
-
-=head1 DESCRIPTION
-
-C<Mail::Message::Head> MIME headers are part of L<Mail::Message|Mail::Message> messages,
-which are grouped in L<Mail::Box|Mail::Box> folders.
-
-B<ATTENTION!!!> most functionality about e-mail headers is described
-in L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>, which is a matured header object.
-Other kinds of headers will be translated to that type when time comes.
-
-On this page, the general methods which are available on any header are
-described.  Read about differences in the sub-class specific pages.
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-(stringifaction) The header, when used as string, will format as if
-L<Mail::Message::Head::Complete::string()|Mail::Message::Head::Complete/"Access to the header"> was called, so return a
-nicely folder full header.  An exception is made for Carp, which will
-get a simplified string to avoid unreadible messages from C<croak>
-and C<confess>.
-
-I<Example:> using a header object as string
-
-
- print $head;     # implicit stringification by print
- $head->print;    # the same
-
- print "$head";   # explicit stringication
-
-=back
-
-overload: B<bool>
-
-=over 4
-
-When the header does not contain any lines (which is illegal, according
-to the RFCs), false is returned.  In all other cases, a true value is
-produced.
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<build>([PAIR|FIELD]-LIST)
-
-=over 4
-
-A fast way to construct a header with many lines.
-The PAIRs are C<(name, content)> pairs of the header, but it is also possible
-to pass L<Mail::Message::Field|Mail::Message::Field> objects.   A
-L<Mail::Message::Head::Complete|Mail::Message::Head::Complete> header is created by simply calling
-L<Mail::Message::Head::Complete::build()|Mail::Message::Head::Complete/"Constructors">, and then each field
-is added.  Double field names are permitted.
-
-I<Example:> 
-
- my $subject = Mail::Message::Full->new(Subject => 'xyz');
-
- my $head = Mail::Message::Head->build
-  ( From     => 'me at example.com'
-  , To       => 'you at anywhere.aq'
-  , $subject
-  , Received => 'one'
-  , Received => 'two'
-  );
-
- print ref $head;
-  # -->  Mail::Message::Head::Complete
-
-=back
-
-Mail::Message::Head-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-Create a new message header object.  The object will store all the
-fields of a header.  When you get information from the header, it
-will be returned to you as L<Mail::Message::Field|Mail::Message::Field> objects, although
-the fields may be stored differently internally.
-
-If you try to instantiate a L<Mail::Message::Head|Mail::Message::Head>, you will automatically
-be upgraded to a L<Mail::Message::Head::Complete|Mail::Message::Head::Complete> --a full head.
-
- Option      Defined in       Default                                                 
- field_type                   L<Mail::Message::Field::Fast|Mail::Message::Field::Fast>
- log         L<Mail::Reporter>  C<'WARNINGS'>                                           
- message                      undef                                                   
- modified                     <false>                                                 
- trace       L<Mail::Reporter>  C<'WARNINGS'>                                           
-
-. field_type CLASS
-
-=over 4
-
-The type of objects that all the fields will have.  This must be
-an extension of L<Mail::Message::Field|Mail::Message::Field>.
-
-=back
-
-. log LEVEL
-
-. message MESSAGE
-
-=over 4
-
-The MESSAGE where this header belongs to.  Usually, this is not known
-at creation of the header, but sometimes it is.  If not, call the
-message() method later to set it.
-
-=back
-
-. modified BOOLEAN
-
-. trace LEVEL
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-Headers may only be partially read, in which case they are called delayed.
-This method returns true if some header information still needs to be
-read. Returns false if all header data has been read.
-Will never trigger completion.
-
-=back
-
-$obj-E<gt>B<isEmpty>
-
-=over 4
-
-Are there any fields defined in the current header?  Be warned that
-the header will not be loaded for this: delayed headers will return
-true in any case.
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-Returns whether the header has been modified after being read.
-
-I<Example:> 
-
- if($head->isModified) { ... }
-
-=back
-
-$obj-E<gt>B<knownNames>
-
-=over 4
-
-Like L<Mail::Message::Head::Complete::names()|Mail::Message::Head::Complete/"Access to the header">, but only returns the known
-header fields, which may be less than C<names> for header types which are
-partial.  C<names()> will trigger completion, where C<knownNames()> does not.
-
-=back
-
-$obj-E<gt>B<message>([MESSAGE])
-
-=over 4
-
-Get (after setting) the message where this header belongs to.
-This does not trigger completion.
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-Sets the modified flag to BOOLEAN.  Without value, the current setting is
-returned, but in that case you can better use L<isModified()|Mail::Message::Head/"The header">.
-Changing this flag will not trigger header completion.
-
-I<Example:> 
-
- $head->modified(1);
- if($head->modified) { ... }
- if($head->isModified) { ... }
-
-=back
-
-$obj-E<gt>B<orderedFields>
-
-=over 4
-
-Retuns the fields ordered the way they were read or added.
-
-=back
-
-=head2 Access to the header
-
-
-$obj-E<gt>B<get>(NAME [,INDEX])
-
-=over 4
-
-Get the data which is related to the field with the NAME.  The case of the
-characters in NAME does not matter.
-
-If there is only one data element defined for the NAME, or if there is an
-INDEX specified as the second argument, only the specified element will be
-returned. If the field NAME matches more than one header the return value
-depends on the context. In LIST context, all values will be returned in
-the order they are read. In SCALAR context, only the last value will be
-returned.
-
-I<Example:> 
-
- my $head = Mail::Message::Head->new;
- $head->add('Received: abc');
- $head->add('Received: xyz');
- $head->add('Subject: greetings');
-
- my @rec_list   = $head->get('Received');
- my $rec_scalar = $head->get('Received');
- print ", at rec_list,$rec_scalar,"     # ,abc xyz, xyz,
- print $head->get('Received', 0);    # abc
- my @sub_list   = $head->get('Subject');
- my $sub_scalar = $head->get('Subject');
- print ", at sub_list,$sub_scalar,"     # ,greetings, greetings,
-
-=back
-
-$obj-E<gt>B<study>(NAME [,INDEX])
-
-=over 4
-
-Like L<get()|Mail::Message::Head/"Access to the header">, but puts more effort in understanding the contents of the
-field.  L<Mail::Message::Field::study()|Mail::Message::Field/"Access to the content"> will be called for the field
-with the specified FIELDNAME, which returns L<Mail::Message::Field::Full|Mail::Message::Field::Full>
-objects. In scalar context only the last field with that name is returned.
-When an INDEX is specified, that element is returned.
-
-=back
-
-=head2 About the body
-
-
-$obj-E<gt>B<guessBodySize>
-
-=over 4
-
-Try to estimate the size of the body of this message, but without parsing
-the header or body.  The result might be C<undef> or a few percent of
-the real size.  It may even be very far of the real value, that's why
-this is a guess.
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-Returns whether the body of the related message is a multipart body.
-May trigger completion, when the C<Content-Type> field is not defined.
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<addNoRealize>(FIELD)
-
-=over 4
-
-Add a field, like L<Mail::Message::Head::Complete::add()|Mail::Message::Head::Complete/"Access to the header"> does, but
-avoid the loading of a possibly partial header.  This method does not
-test the validity of the argument, nor flag the header as changed.
-This does not trigger completion.
-
-=back
-
-$obj-E<gt>B<addOrderedFields>(FIELDS)
-
-=over 4
-
-=back
-
-$obj-E<gt>B<fileLocation>
-
-=over 4
-
-Returns the location of the header in the file, as a pair begin and end.  The
-begin is the first byte of the header.  The end is the first byte after
-the header.
-
-=back
-
-$obj-E<gt>B<load>
-
-=over 4
-
-Be sure that the header is loaded.  This returns the loaded header
-object.
-
-=back
-
-$obj-E<gt>B<moveLocation>(DISTANCE)
-
-=over 4
-
-Move the registration of the header in the file.
-
-=back
-
-$obj-E<gt>B<read>(PARSER)
-
-=over 4
-
-Read the header information of one message into this header structure.  This
-method is called by the folder object (some L<Mail::Box|Mail::Box> sub-class), which
-passes the PARSER as an argument.
-
-=back
-
-$obj-E<gt>B<setNoRealize>(FIELD)
-
-=over 4
-
-Set a field, but avoid the loading of a possibly partial header as set()
-does.  This method does not test the validity of the argument, nor flag the
-header as changed.  This does not trigger completion.
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Head-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Head-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Head-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-=head1 DETAILS
-
-
-=head2 Ordered header fields
-
-Many Perl implementations make a big mistake by disturbing the order
-of header fields.  For some fields (especially the I<resent groups>,
-see L<Mail::Message::Head::ResentGroup|Mail::Message::Head::ResentGroup>) the order shall be
-maintained.
-
-MailBox will keep the order of the fields as they were found in the
-source.  When your add a new field, it will be added at the end.  If
-your replace a field with a new value, it will stay in the original
-order.
-
-=head2 Head class implementation
-
-The header of a MIME message object contains a set of lines, which are
-called I<fields> (by default represented by L<Mail::Message::Field|Mail::Message::Field>
-objects).  Dependent on the situation, the knowledge about the fields can
-be in one of three situations, each represented by a sub-class of this
-module:
-
-=over 4
-
-=item * L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>
-
-In this case, it is sure that all knowledge about the header is available.
-When you L<get()|Mail::Message::Head/"Access to the header"> information from the header and it is not there, it will
-never be there.
-
-=item * L<Mail::Message::Head::Subset|Mail::Message::Head::Subset>
-
-There is no certainty whether all header lines are known (probably not).  This
-may be caused as result of reading a fast index file, as described in
-L<Mail::Box::MH::Index|Mail::Box::MH::Index>.  The object is automatically transformed
-into a L<Mail::Message::Head::Complete|Mail::Message::Head::Complete> when all header lines must be known.
-
-=item * L<Mail::Message::Head::Partial|Mail::Message::Head::Partial>
-
-A partial header is like a subset header: probably the header is incomplete.
-The means that you are not sure whether a L<get()|Mail::Message::Head/"Access to the header"> for a field fails because
-the field is not a part of the message or that it fails because it is not
-yet known to the program.  Where the subset header knows where to get the
-other fields, the partial header does not know it.  It cannot hide its
-imperfection.
-
-=item * L<Mail::Message::Head::Delayed|Mail::Message::Head::Delayed>
-
-In this case, there is no single field known.  Access to this header will
-always trigger the loading of the full header.
-
-=back
-
-=head2 Subsets of header fields
-
-Message headers can be quite large, and therefore MailBox provides
-simplified access to some subsets of information.  You can grab these
-sets of fields together, create and delete them as group.
-
-On the moment, the following sets are defined:
-
-=over 4
-
-=item * L<Mail::Message::Head::ResentGroup|Mail::Message::Head::ResentGroup>
-
-A I<resent group> is a set of fields which is used to log one step
-in the transmission of the message from the original sender to the
-destination.
-
-Each step adds a set of headers to indicate when the message was received
-and how it was forwarded (without modification).  These fields are
-best created using L<Mail::Message::bounce()|Mail::Message::Construct::Bounce/"Constructing a message">.
-
-=item * L<Mail::Message::Head::ListGroup|Mail::Message::Head::ListGroup>
-
-Fields which are used to administer and log mailing list activity.  Mailing
-list software has to play trics with the original message to be able to
-get the reply on that message back to the mailing list.  Usually a large
-number of lines are added.
-
-=item * L<Mail::Message::Head::SpamGroup|Mail::Message::Head::SpamGroup>
-
-A set of fields which contains header fields which are produced by
-spam detection software.  You may want to remove these fields when
-
-you store a message for a longer period of time.
-=back
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Head.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Head.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Part.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Part.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Part.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,130 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message::Part;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message';
-
-use Scalar::Util    'weaken';
-
-use Carp;
-
-
-sub init($)
-{   my ($self, $args) = @_;
-    $args->{head} ||= Mail::Message::Head::Complete->new;
-
-    $self->SUPER::init($args);
-
-    confess "No container specified for part.\n"
-        unless exists $args->{container};
-
-    weaken($self->{MMP_container})
-       if $self->{MMP_container} = $args->{container};
-
-    $self;
-}
-
-#------------------------------------------
-
-
-sub coerce($@)
-{   my ($class, $thing, $container) = (shift, shift, shift);
-
-    return $class->buildFromBody($thing, $container, @_)
-        if $thing->isa('Mail::Message::Body');
-
-    # Although cloning is a Bad Thing(tm), we must avoid modifying
-    # header fields of messages which reside in a folder.
-    my $message = $thing->isa('Mail::Box::Message') ? $thing->clone : $thing;
-
-    my $part    = $class->SUPER::coerce($message);
-    $part->container($container);
-    $part;
-}
-
-#------------------------------------------
-
-
-sub buildFromBody($$;@)
-{   my ($class, $body, $container) = (shift, shift, shift);
-    my @log     = $body->logSettings;
-
-    my $head    = Mail::Message::Head::Complete->new(@log);
-    while(@_)
-    {   if(ref $_[0]) {$head->add(shift)}
-        else          {$head->add(shift, shift)}
-    }
-
-    my $part = $class->new
-     ( head      => $head
-     , container => $container
-     , @log
-     );
-
-    $part->body($body);
-    $part;
-}
-
-#------------------------------------------
-
-sub container(;$)
-{   my $self = shift;
-    return $self->{MMP_container} unless @_;
-
-    $self->{MMP_container} = shift;
-    weaken($self->{MMP_container});
-}
-
-#------------------------------------------
-
-sub toplevel()
-{   my $body = shift->container or return;
-    my $msg  = $body->message   or return;
-    $msg->toplevel;
-}
-
-#------------------------------------------
-
-sub isPart() { 1 }
-
-#------------------------------------------
-
-
-sub printEscapedFrom($)
-{   my ($self, $out) = @_;
-    $self->head->print($out);
-    $self->body->printEscapedFrom($out);
-}
-
-#------------------------------------------
-
-sub readFromParser($;$)
-{   my ($self, $parser, $bodytype) = @_;
-
-    my $head = $self->readHead($parser)
-            || Mail::Message::Head::Complete->new
-                 ( message     => $self
-                 , field_type  => $self->{MM_field_type}
-                 , $self->logSettings
-                 );
-
-    my $body = $self->readBody($parser, $head, $bodytype)
-            || Mail::Message::Body::Lines->new(data => []);
-
-    $self->head($head);
-    $self->storeBody($body->contentInfoFrom($head));
-    $self;
-}
-
-#------------------------------------------
-
-
-sub destruct()
-{  my $self = shift;
-   $self->log(ERROR =>'You cannot destruct message parts, only whole messages');
-   undef;
-}
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Part.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Part.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Part.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Part.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Part.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,930 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Part - a part of a message, but a message by itself
-
-
-=head1 INHERITANCE
-
- Mail::Message::Part
-   is a Mail::Message
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my Mail::Message $message = ...;
- if($message->isMultipart) {
-    my Mail::Message::Part $part;
-
-    foreach $part ($message->body->parts) {
-       $part->print(\*OUT);
-       my $attached_head = $part->head;
-       my $attached_body = $part->body;      # encoded as read
-       my $attached_body = $part->decoded;   # transfer-encoding removed
-    }
- }
-
-
-=head1 DESCRIPTION
-
-A C<Mail::Message::Part> object contains a message which is included in
-the body of an other message.  For instance I<attachments> are I<parts>.
-
-READ L<Mail::Message|Mail::Message> FIRST.  A part is a special message: it has a
-reference to its parent message, and will usually not be sub-classed
-into mail folder specific variants.
-
-
-
-=head1 METHODS
-
-
-$obj-E<gt>B<printEscapedFrom>(FILEHANDLE)
-
-=over 4
-
-Prints the message part, but all lines which start with 'From ' will get
-a leading C<gt>.  See L<Mail::Message::Body::printEscapedFrom()|Mail::Message::Body/"Access to the payload">.
-
-=back
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"Constructors">
-
-=back
-
-Mail::Message::Part-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-Create a message part.
-
- Option      Defined in       Default                                                       
- body        L<Mail::Message>  undef                                                         
- body_type   L<Mail::Message>  L<Mail::Message::Body::Lines|Mail::Message::Body::Lines>      
- container                    <required>                                                    
- deleted     L<Mail::Message>  <false>                                                       
- field_type  L<Mail::Message>  undef                                                         
- head        L<Mail::Message>  <empty header>                                                
- head_type   L<Mail::Message>  L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>
- labels      L<Mail::Message>  {}                                                            
- log         L<Mail::Reporter>  C<'WARNINGS'>                                                 
- messageId   L<Mail::Message>  undef                                                         
- modified    L<Mail::Message>  <false>                                                       
- trace       L<Mail::Reporter>  C<'WARNINGS'>                                                 
- trusted     L<Mail::Message>  <false>                                                       
-
-. body OBJECT
-
-. body_type CLASS
-
-. container BODY
-
-=over 4
-
-Reference to the parental L<Mail::Message::Body|Mail::Message::Body> object where this part
-is a member of.  That object may be a L<Mail::Message::Body::Multipart|Mail::Message::Body::Multipart>
-or a L<Mail::Message::Body::Nested|Mail::Message::Body::Nested>.
-
-=back
-
-. deleted BOOLEAN
-
-. field_type CLASS
-
-. head OBJECT
-
-. head_type CLASS
-
-. labels ARRAY|HASH
-
-. log LEVEL
-
-. messageId STRING
-
-. modified BOOLEAN
-
-. trace LEVEL
-
-. trusted BOOLEAN
-
-=back
-
-=head2 Constructing a message
-
-
-$obj-E<gt>B<bounce>([RG-OBJECT|OPTIONS])
-
-=over 4
-
-See L<Mail::Message::Construct::Bounce/"Constructing a message">
-
-=back
-
-Mail::Message::Part-E<gt>B<build>([MESSAGE|PART|BODY], CONTENT)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-Mail::Message::Part-E<gt>B<buildFromBody>(BODY, CONTAINER, HEADERS)
-
-=over 4
-
-Shape a message part around a BODY.  Bodies have information about their
-content in them, which is used to construct a header for the message.
-Next to that, more HEADERS can be specified.  No headers are obligatory.
-No extra headers are fabricated automatically.
-
-I<Example:> 
-
- my $multi = Mail::Message::Body::Multipart->new;
- my $part  = Mail::Message::Part->buildFromBody($body, $multi);
-
-=back
-
-$obj-E<gt>B<forward>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardAttach>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardEncapsulate>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardInline>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardNo>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPostlude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPrelude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardSubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-Mail::Message::Part-E<gt>B<read>(FILEHANDLE|SCALAR|REF-SCALAR|ARRAY-OF-LINES, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Read/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<rebuild>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<reply>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replyPrelude>([STRING|FIELD|ADDRESS|ARRAY-OF-THINGS])
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replySubject>(STRING)
-
-Mail::Message::Part-E<gt>B<replySubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-=head2 The message
-
-
-$obj-E<gt>B<container>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isDummy>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isPart>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<messageId>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<send>([MAILER], OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<toplevel>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<write>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<bcc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<cc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<date>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<destinations>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<from>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<get>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<guessTimestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<head>([HEAD])
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<sender>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<study>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<subject>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<timestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<to>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-=head2 The body
-
-
-$obj-E<gt>B<body>([BODY])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<decoded>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<encode>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isNested>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<parts>(['ALL'|'ACTIVE'|'DELETED'|'RECURSE'|FILTER])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-=head2 Flags
-
-
-$obj-E<gt>B<delete>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<deleted>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isDeleted>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<label>(LABEL|PAIRS)
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<labels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<labelsToStatus>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<statusToLabels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-=head2 The whole message as text
-
-
-$obj-E<gt>B<file>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<lines>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<printStructure>([FILEHANDLE|undef],[INDENT])
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<clonedFrom>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-Mail::Message::Part-E<gt>B<coerce>(BODY|MESSAGE, MULTIPART, HEADERS)
-
-=over 4
-
-Transforms a BODY or MESSAGE to a real message part.  The MULTIPART
-refers to the parental body.
-
-When ta BODY is specified, extra HEADERS can be supplied as well.
-Bodies are coerced into message parts by calling L<buildFromBody()|Mail::Message::Part/"METHODS">.
-If you specify a MESSAGE residing in a folder, this message will
-automatically be cloned.
-
-=back
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readBody>(PARSER, HEAD [, BODYTYPE])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readFromParser>(PARSER, [BODYTYPE])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readHead>(PARSER [,CLASS])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<recursiveRebuildPart>(PART, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Internals">
-
-=back
-
-$obj-E<gt>B<storeBody>(BODY)
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<takeMessageId>([STRING])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Message::Construct/"METHODS">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Part-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Part-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Part-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortSize>([VALUE])
-
-Mail::Message::Part-E<gt>B<shortSize>([VALUE])
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortString>
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<destruct>
-
-=over 4
-
-Message parts can not be destructed per part: only whole messages can
-be forcefully freed from memory.  Of course, you can L<delete()|Mail::Message/"Flags"> separate
-parts, which only sets a flag not to write a part again.  Furthermore,
-you may cosider L<rebuild()|Mail::Message::Construct::Rebuild/"Constructing a message"> to get rit of deleted parts.
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot include forward source as $include.
-
-Unknown alternative for the L<forward(include)|Mail::Message::Construct::Forward/"Constructing a message">.  Valid choices are
-C<NO>, C<INLINE>, C<ATTACH>, and C<ENCAPSULATE>.
-
-I<Error:> Cannot include reply source as $include.
-
-Unknown alternative for the C<include> option of L<reply()|Mail::Message::Construct::Reply/"Constructing a message">.  Valid
-choices are C<NO>, C<INLINE>, and C<ATTACH>.
-
-I<Error:> No address to create forwarded to.
-
-If a forward message is created, a destination address must be specified.
-
-I<Error:> No default mailer found to send message.
-
-The message L<send()|Mail::Message/"The message"> mechanism had not enough information to automatically
-find a mail transfer agent to sent this message.  Specify a mailer
-explicitly using the C<via> options.
-
-I<Error:> Only build() Mail::Message's; they are not in a folder yet
-
-You may wish to construct a message to be stored in a some kind
-of folder, but you need to do that in two steps.  First, create a
-normal L<Mail::Message|Mail::Message>, and then add it to the folder.  During this
-L<Mail::Box::addMessage()|Mail::Box/"The folder"> process, the message will get L<coerce()|Mail::Message::Part/"METHODS">-d
-into the right message type, adding storage information and the like.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> You cannot destruct message parts, only whole messages
-
-Message parts can not be destructed per part: only whole messages can
-be forcefully freed from memory. Consider L<delete()|Mail::Message/"Flags"> or L<rebuild()|Mail::Message::Construct::Rebuild/"Constructing a message">.
-
-I<Error:> bounce requires To, Cc, or Bcc
-
-The message L<bounce()|Mail::Message::Construct::Bounce/"Constructing a message"> method forwards a received message off to someone
-else without modification; you must specified it's new destination.
-If you have the urge not to specify any destination, you probably
-are looking for L<reply()|Mail::Message::Construct::Reply/"Constructing a message">. When you wish to modify the content, use
-L<forward()|Mail::Message::Construct::Forward/"Constructing a message">.
-
-I<Error:> forwardAttach requires a preamble object
-
-
-I<Error:> forwardEncapsulate requires a preamble object
-
-
-I<Error:> no rebuild rule $name defined.
-
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Part.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Part.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Replace/MailHeader.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Replace/MailHeader.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Replace/MailHeader.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,197 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Message::Replace::MailHeader;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::Head::Complete';
-
-
-sub new(@)
-{   my $class = shift;
-    unshift @_, 'raw_data' if @_ % 2;
-    $class->SUPER::new(@_);
-}
-
-sub init($)
-{   my ($self, $args) = @_;
-    defined $self->SUPER::init($args) or return;
-
-    $self->modify     ($args->{Modify}     || $args->{Reformat} || 0);
-    $self->fold_length($args->{FoldLength} || 79);
-    $self->mail_from  ($args->{MailFrom}   || 'KEEP');
-    $self;
-}
-
-
-sub delete($;$)
-{   my ($self, $tag) = (shift, shift);
-    return $self->delete($tag) unless @_;
-
-    my $index   = shift;
-    my @fields  = $self->get($tag);
-    my ($field) = splice @fields, $index, 1;
-    $self->reset($tag, @fields);
-    $field;
-}
-
-
-sub add($$)
-{   my $self  = shift;
-    my $field = $self->add(shift);
-    $field->unfoldedBody;
-}
-
-
-sub replace($$;$)
-{   my ($self, $tag, $line, $index) = @_;
-    $line =~ s/^([^:]+)\:\s*// && ($tag = $1) unless defined $tag;
-
-    my $field  = Mail::Message::Field::Fast->new($tag, $line);
-    my @fields = $self->get($tag);
-    $fields[ $index||0 ] = $field;
-    $self->reset($tag, @fields);
-
-    $field;
-}
-
-
-sub get($;$)
-{   my $head = shift->head;
-    my @ret  = map { $head->get(@_) } @_;
-
-    if(wantarray) { return @ret ? map({$_->unfoldedBody} @ret) : () }
-    else          { return @ret ? $ret[0]->unfoldedBody : undef }
-}
-
-
-sub modify(;$)
-{   my $self = shift;
-    @_ ? ($self->{MH_refold} = shift) : $self->{MH_refold};
-}
-
-
-sub mail_from(;$)
-{   my $self = shift;
-    return $self->{MH_mail_from} unless @_;
-
-    my $choice = uc(shift);
-    die "bad Mail-From choice: '$choice'"
-        unless $choice =~ /^(IGNORE|ERROR|COERCE|KEEP)$/;
-
-    $self->{MH_mail_from} = $choice;
-}
-
-
-sub fold(;$)
-{   my $self = shift;
-    my $wrap = @_ ? shift : $self->fold_length;
-    $_->setWrapLength($wrap) foreach $self->orderedFields;
-    $self;
-}
-
-
-sub unfold(;$)
-{   my $self = shift;
-    my @fields = @_ ? $self->get(shift) : $self->orderedFields;
-    $_->setWrapLength(100_000) foreach @fields;  # blunt approach
-    $self;
-}
-
-
-sub extract($)
-{   my ($self, $lines) = @_;
-
-    my $parser = Mail::Box::Parser::Perl->new
-       ( filename  => 'extract from array'
-       , data      => $lines
-       , trusted   => 1
-       );
-
-    $self->read($parser);
-    $parser->close;
-
-    # Remove header from array
-    shift @$lines while @$lines && $lines->[0] != m/^[\r\n]+/;
-    shift @$lines if @$lines;
-    $self;
-}
-
-
-sub read($)
-{   my ($self, $file) = @_;
-    my $parser = Mail::Box::Parser::Perl->new
-       ( filename  => ('from file-handle '.ref $file)
-       , file      => $file
-       , trusted   => 1
-       );
-    $self->read($parser);
-    $parser->close;
-    $self;
-}
-
-
-sub empty() { shift->removeFields( m/^/ ) }
-
-
-sub header(;$)
-{   my $self = shift;
-    $self->extract(shift) if @_;
-    $self->fold if $self->modify;
-    [ $self->orderedFields ];
-}
-
-
-sub header_hashref($) { die "Don't use header_hashref!!!" }
-
-
-sub combine($;$) { die "Don't use combine()!!!" }
-
-
-sub exists() { shift->count }
-
-
-sub as_string() { shift->string }
-
-
-sub fold_length(;$$)
-{   my $self = shift;
-    return $self->{MH_wrap} unless @_;
-
-    my $old  = $self->{MH_wrap};
-    my $wrap = $self->{MH_wrap} = shift;
-    $self->fold($wrap) if $self->modify;
-    $old;
-}    
-
-
-sub tags() { shift->names }
-
-
-sub dup() { shift->clone }
-
-
-sub cleanup() { shift }
-
-
-BEGIN
-{   no warnings;
-    *Mail::Header::new =
-     sub { my $class = shift;
-           Mail::Message::Replace::MailHeader->new(@_);
-         }
-}
-
-
-
-sub isa($)
-{   my ($thing, $class) = @_;
-    return 1 if $class eq 'Mail::Mailer';
-    $thing->SUPER::isa($class);
-}
-
-
-1;
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Replace/MailHeader.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Replace/MailHeader.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Replace/MailHeader.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Replace/MailHeader.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Replace/MailHeader.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,892 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Replace::MailHeader - fake Mail::Header
-
-
-=head1 INHERITANCE
-
- Mail::Message::Replace::MailHeader
-   is a Mail::Message::Head::Complete
-   is a Mail::Message::Head
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- !!! ALPHA CODE !!!
-
- # change
- use Mail::Internet;
- use Mail::Header;
- # into
- use Mail::Message::Replace::MailInternet;
- # in existing code, and the code should still work, but
- # with the Mail::Message features.
-
-
-=head1 DESCRIPTION
-
-This module is a wrapper around a L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>,
-which simulates a L<Mail::Header> object.  The name-space of that module
-is hijacked and many methods are added.
-
-Most methods will work without any change, but you should test your
-software again.  Small changes have been made to L<fold_length()|Mail::Message::Replace::MailHeader/"Simulating Mail::Header">,
-L<header_hashref()|Mail::Message::Replace::MailHeader/"Simulating Mail::Header">.
-
-
-=head1 OVERLOADED
-
-
-overload: B<"">
-
-=over 4
-
-See L<Mail::Message::Head/"OVERLOADED">
-
-=back
-
-overload: B<bool>
-
-=over 4
-
-See L<Mail::Message::Head/"OVERLOADED">
-
-=back
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<build>([PAIR|FIELD]-LIST)
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Constructors">
-
-=back
-
-$obj-E<gt>B<clone>([FIELDS])
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Constructors">
-
-=back
-
-Mail::Message::Replace::MailHeader-E<gt>B<new>([ARG], OPTIONS)
-
-=over 4
-
-The ARG is an array with header lines.
-
- Option      Defined in       Default                                                 
- FoldLength                   79                                                      
- MailFrom                     C<'KEEP'>                                               
- Modify                       <false>                                                 
- field_type  L<Mail::Message::Head>  L<Mail::Message::Field::Fast|Mail::Message::Field::Fast>
- log         L<Mail::Reporter>  C<'WARNINGS'>                                           
- message     L<Mail::Message::Head>  undef                                                   
- modified    L<Mail::Message::Head>  <false>                                                 
- trace       L<Mail::Reporter>  C<'WARNINGS'>                                           
-
-. FoldLength INTEGER
-
-. MailFrom 'IGNORE'|'ERROR'|'COERCE'|'KEEP'
-
-=over 4
-
-How to handle the C<From > lines.  See L<mail_from()|Mail::Message::Replace::MailHeader/"Simulating Mail::Header">.
-
-=back
-
-. Modify BOOLEAN
-
-=over 4
-
-Reformat all header lines when they come in: change the folding.
-
-=back
-
-. field_type CLASS
-
-. log LEVEL
-
-. message MESSAGE
-
-. modified BOOLEAN
-
-. trace LEVEL
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<isEmpty>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<knownNames>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<message>([MESSAGE])
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"The header">
-
-=back
-
-$obj-E<gt>B<orderedFields>
-
-=over 4
-
-See L<Mail::Message::Head/"The header">
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"The header">
-
-=back
-
-$obj-E<gt>B<wrap>(INTEGER)
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"The header">
-
-=back
-
-=head2 Access to the header
-
-
-$obj-E<gt>B<add>(LINE, [INDEX])
-
-=over 4
-
-Add a header line, which simply calls C<Mail::Message::Head::add()> on
-the header for the specified LINE.  The INDEX is ignored, the unfolded
-body of the field is returned.
-
-=back
-
-$obj-E<gt>B<addListGroup>(OBJECT)
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<addResentGroup>(RESENT-GROUP|DATA)
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<addSpamGroup>(OBJECT)
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<count>(NAME)
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<delete>(TAG, [INDEX])
-
-=over 4
-
-Delete the fields with the specified TAG.  The deleted fields are
-returned.  If no index is given, then all are removed.
-
-=back
-
-$obj-E<gt>B<get>(NAME, [INDEX])
-
-=over 4
-
-Get all the header fields with the specified NAME.  In scalar context,
-only the first fitting NAME is returned.  Even when only one NAME is
-specified, multiple lines may be returned in list context: some fields
-appear more than once in a header.
-
-=back
-
-$obj-E<gt>B<grepNames>([NAMES|ARRAY-OF-NAMES|REGEXS])
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<listGroup>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<names>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<printSelected>(FILEHANDLE, (STRING|REGEXP)s)
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<printUndisclosed>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<removeContentInfo>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<removeField>(FIELD)
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<removeFields>(STRING|REGEXP, [STRING|REGEXP, ...])
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<removeFieldsExcept>(STRING|REGEXP, [STRING|REGEXP, ...])
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<removeListGroup>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<removeResentGroups>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<removeSpamGroups>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<replace>(TAG, LINE, [INDEX])
-
-=over 4
-
-Replace the field named TAG. from place INDEX (by default the first) by
-the LINE.  When TAG is C<undef>, it will be extracted from the LINE first.
-This calls L<Mail::Message::Head::Complete::reset()|Mail::Message::Head::Complete/"Access to the header"> on the message's head.
-
-=back
-
-$obj-E<gt>B<resentGroups>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<reset>(NAME, FIELDS)
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<set>(FIELD | LINE | (NAME, BODY [,ATTRS]))
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<spamDetected>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<spamGroups>([NAMES])
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Access to the header">
-
-=back
-
-$obj-E<gt>B<study>(NAME [,INDEX])
-
-=over 4
-
-See L<Mail::Message::Head/"Access to the header">
-
-=back
-
-=head2 About the body
-
-
-$obj-E<gt>B<guessBodySize>
-
-=over 4
-
-See L<Mail::Message::Head/"About the body">
-
-=back
-
-$obj-E<gt>B<guessTimeStamp>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"About the body">
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-See L<Mail::Message::Head/"About the body">
-
-=back
-
-$obj-E<gt>B<recvstamp>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"About the body">
-
-=back
-
-$obj-E<gt>B<timestamp>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"About the body">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<addNoRealize>(FIELD)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<addOrderedFields>(FIELDS)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<createFromLine>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Internals">
-
-=back
-
-$obj-E<gt>B<createMessageId>
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Internals">
-
-=back
-
-$obj-E<gt>B<fileLocation>
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<load>
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<messageIdPrefix>([PREFIX, [HOSTNAME]|CODE])
-
-Mail::Message::Replace::MailHeader-E<gt>B<messageIdPrefix>([PREFIX, [HOSTNAME]|CODE])
-
-=over 4
-
-See L<Mail::Message::Head::Complete/"Internals">
-
-=back
-
-$obj-E<gt>B<moveLocation>(DISTANCE)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-$obj-E<gt>B<setNoRealize>(FIELD)
-
-=over 4
-
-See L<Mail::Message::Head/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Replace::MailHeader-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Replace::MailHeader-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Replace::MailHeader-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-=head2 Access to the header
-
-
-=head2 Simulating Mail::Header
-
-
-$obj-E<gt>B<as_string>
-
-=over 4
-
-Returns the whole header as one big scalar.
-Calls L<Mail::Message::Head::Complete::string()|Mail::Message::Head::Complete/"Access to the header">.
-
-=back
-
-$obj-E<gt>B<cleanup>
-
-=over 4
-
-Cleanup memory usage.  Not needed here.
-
-=back
-
-$obj-E<gt>B<combine>(TAG, [WITH])
-
-=over 4
-
-I do not see any valid reason for this command, so did not implement it.
-
-=back
-
-$obj-E<gt>B<dup>
-
-=over 4
-
-Duplicate the header, which is simply L<clone()|Mail::Message::Head::Complete/"Constructors">.
-
-=back
-
-$obj-E<gt>B<empty>
-
-=over 4
-
-Clean-out the whole hash. Better not use this (simply create another
-header object), although it should work.
-
-=back
-
-$obj-E<gt>B<exists>
-
-=over 4
-
-Returns whether there are any fields.
-
-=back
-
-$obj-E<gt>B<extract>(ARRAY)
-
-=over 4
-
-Extract (and remove) header fields from the array.
-
-=back
-
-$obj-E<gt>B<fold>([LENGTH])
-
-=over 4
-
-Refold all fields in the header, to LENGTH or whatever L<fold_length()|Mail::Message::Replace::MailHeader/"Simulating Mail::Header">
-returns.
-
-=back
-
-$obj-E<gt>B<fold_length>([[TAG], LENGTH])
-
-=over 4
-
-Returns the line wrap, optionally after setting it to LENGTH.  The
-old value is returned.  The TAG argument is ignored, because it is
-silly to have different lines fold in different ways.  This method
-cannot be called statically anymore.
-
-=back
-
-$obj-E<gt>B<header>([ARRAY])
-
-=over 4
-
-Extract the fields from the ARRAY, if specified, and then fold the fields.
-Returned is an array with all fields, produced via L<orderedFields()|Mail::Message::Head/"The header">.
-
-=back
-
-$obj-E<gt>B<header_hashref>(HASH)
-
-=over 4
-
-If you are using this method, you must be stupid... anyway: I do not want to
-support it for now: use L<add()|Mail::Message::Replace::MailHeader/"Access to the header"> and friends.
-
-=back
-
-$obj-E<gt>B<mail_from>(['IGNORE'|'ERROR'|'COERCE'|'KEEP'])
-
-=over 4
-
-What to do when a header line in the form `From ' is encountered. Valid
-values are C<IGNORE> - ignore and discard the header, C<ERROR> - invoke
-an error (call die), C<COERCE> - rename them as Mail-From and C<KEEP>
-- keep them.
-
-=back
-
-$obj-E<gt>B<modify>([BOOLEAN])
-
-=over 4
-
-Refold the headers when they are added.
-
-=back
-
-$obj-E<gt>B<read>(FILE)
-
-=over 4
-
-Read the header from the FILE.
-
-=back
-
-$obj-E<gt>B<tags>
-
-=over 4
-
-Returns all the names of fields, implemented by
-L<Mail::Message::Head::Complete::names()|Mail::Message::Head::Complete/"Access to the header">.
-
-=back
-
-$obj-E<gt>B<unfold>([TAG])
-
-=over 4
-
-Remove the folding for all instances of TAG, or all fields at once.
-
-=back
-
-=head2 The nasty bits
-
-
-$obj-E<gt>B<isa>(CLASS)
-
-Mail::Message::Replace::MailHeader-E<gt>B<isa>(CLASS)
-
-=over 4
-
-Of course, the C<isa()> class inheritance check should not see our
-nasty trick.
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> Cannot remove field $name from header: not found.
-
-You ask to remove a field which is not known in the header.  Using
-L<delete()|Mail::Message::Replace::MailHeader/"Access to the header">, L<reset()|Mail::Message::Head::Complete/"Access to the header">, or L<set()|Mail::Message::Head::Complete/"Access to the header"> to do the job will not result
-in warnings: those methods check the existence of the field first.
-
-I<Warning:> Field objects have an implied name ($name)
-
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Replace/MailHeader.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Replace/MailHeader.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Replace/MailInternet.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Replace/MailInternet.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Replace/MailInternet.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,363 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Message::Replace::MailInternet;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message';
-
-use Mail::Box::FastScalar;
-use Mail::Box::Parser::Perl;
-use Mail::Message::Body::Lines;
-
-use File::Spec;
-
-
-sub new(@)
-{   my $class = shift;
-    my $data  = @_ % 2 ? shift : undef;
-    $class = __PACKAGE__ if $class eq 'Mail::Internet';
-    $class->SUPER::new(@_, raw_data => $data);
-}
-
-sub init($)
-{   my ($self, $args) = @_;
-    $args->{head_type} ||= 'Mail::Message::Replace::MailHeader';
-    $args->{head}      ||= $args->{Header};
-    $args->{body}      ||= $args->{Body};
-
-    defined $self->SUPER::init($args) or return;
-
-    $self->{MI_wrap}      = $args->{FoldLength} || 79;
-    $self->{MI_mail_from} = $args->{MailFrom};
-    $self->{MI_modify}    = exists $args->{Modify} ? $args->{Modify} : 1;
-
-    $self->processRawData($self->{raw_data}, !defined $args->{Header}
-       , !defined $args->{Body}) if defined $self->{raw_data};
-
-    $self;
-}
-
-sub processRawData($$$)
-{   my ($self, $data, $get_head, $get_body) = @_;
-    return $self unless $get_head || $get_body;
- 
-    my ($filename, $lines);
-    if(ref $data eq 'ARRAY')
-    {   $filename = 'array of lines';
-        $lines    = $data;
-    }
-    elsif(ref $data eq 'GLOB')
-    {   $filename = 'file (GLOB)';
-        $lines    = [ <$data> ];
-    }
-    elsif(ref $data && $data->isa('IO::Handle'))
-    {   $filename = 'file ('.ref($data).')';
-        $lines    = [ $data->getlines ];
-    }
-    else
-    {   $self->log(ERROR=> "Mail::Internet does not support this kind of data");
-        return undef;
-    }
-
-    return unless @$lines;
-
-    my $buffer = join '', @$lines;
-    my $file   = Mail::Box::FastScalar->new(\$buffer);
-
-    my $parser = Mail::Box::Parser::Perl->new
-     ( filename  => $filename
-     , file      => $file
-     , trusted   => 1
-     );
-
-    my $head;
-    if($get_head)
-    {   my $from = substr($lines->[0], 0, 5) eq 'From ' ? shift @$lines : undef;
-
-        my $head = $self->{MM_head_type}->new
-          ( MailFrom   => $self->{MI_mail_from}
-          , Modify => $self->{MI_modify}
-          , FoldLength => $self->{MI_wrap}
-          );
-        $head->read($parser);
-        $head->mail_from($from) if defined $from;
-        $self->head($head);
-    }
-    else
-    {   $head = $self->head;
-    }
-
-    $self->storeBody($self->readBody($parser, $head)) if $get_body;
-    $self->addReport($parser);
-    $parser->stop;
-    $self;
-}
-
-
-sub dup()
-{   my $self = shift;
-    ref($self)->coerce($self->clone);
-}
-
-
-sub empty() { shift->DESTROY }
-
-
-sub MailFrom(;$)
-{   my $self = shift;
-    @_ ? ($self->{MI_mail_from} = shift) : $self->{MU_mail_from};
-}
-
-
-sub read($@)
-{   my $thing = shift;
-
-    return $thing->SUPER::read(@_)   # Mail::Message behavior
-        unless ref $thing;
-
-    # Mail::Header emulation
-    my $data = shift;
-    $thing->processRawData($data, 1, 1);
-}
-
-
-sub read_body($)
-{   my ($self, $data) = @_;
-    $self->processRawData($data, 0, 1);
-}
-
-
-sub read_header($)
-{   my ($self, $data) = @_;
-    $self->processRawData($data, 1, 0);
-}
-
-
-sub extract($)
-{   my ($self, $data) = @_;
-    $self->processRawData($data, 1, 1);
-}
-
-
-sub reply(@)
-{   my ($self, %args) = @_;
-
-    my $reply_head = $self->{MM_head_type}->new;
-    my $home       = $ENV{HOME} || File::Spec->curdir;
-    my $headtemp   = File::Spec->catfile($home, '.mailhdr');
-
-    if(open HEAD, '<', $headtemp)
-    {    my $parser = Mail::Box::Parser::Perl->new
-           ( filename  => $headtemp
-           , file      => \*HEAD
-           , trusted   => 1
-           );
-         $reply_head->read($parser);
-         $parser->close;
-    }
-
-    $args{quote}       ||= delete $args{Inline}   || '>';
-    $args{group_reply} ||= delete $args{ReplyAll} || 0;
-    my $keep             = delete $args{Keep}     || [];
-    my $exclude          = delete $args{Exclude}  || [];
-
-    my $reply = $self->SUPER::reply(%args);
-
-    my $head  = $self->head;
-
-    $reply_head->add($_->clone)
-        foreach map { $head->get($_) } @$keep;
-
-    $reply_head->reset($_) foreach @$exclude;
-
-    ref($self)->coerce($reply);
-}
-
-
-sub add_signature(;$)
-{   my $self     = shift;
-    my $filename = shift
-       || File::Spec->catfile($ENV{HOME} || File::Spec->curdir, '.signature');
-    $self->sign(File => $filename);
-}
-
-
-sub sign(@)
-{   my ($self, $args) = @_;
-    my $sig;
-
-    if(my $filename = delete $self->{File})
-    {   $sig = Mail::Message::Body->new(file => $filename);
-    }
-    elsif(my $sig   = delete $self->{Signature})
-    {   $sig = Mail::Message::Body->new(data => $sig);
-    }
-
-    return unless defined $sig;
- 
-    my $body = $self->decoded->stripSignature;
-    my $set  = $body->concatenate($body, "-- \n", $sig);
-    $self->body($set) if defined $set;
-    $set;
-}
-
-
-sub send($@)
-{   my ($self, $type, %args) = @_;
-    $self->send(via => $type);
-}
-
-
-sub nntppost(@)
-{   my ($self, %args) = @_;
-    $args{port}       ||= delete $args{Port};
-    $args{nntp_debug} ||= delete $args{Debug};
-
-    $self->send(via => 'nntp', %args);
-}
-
-
-
-sub head(;$)
-{  my $self = shift;
-   return $self->SUPER::head(@_) if @_;
-   $self->SUPER::head || $self->{MM_head_type}->new(message => $self);
-}
-
-
-sub header(;$) { shift->head->header(@_) }
-
-
-sub fold(;$) { shift->head->fold(@_) }
-
-
-sub fold_length(;$$) { shift->head->fold_length(@_) }
-
-
-sub combine($;$) { shift->head->combine(@_) }
-
-
-sub print_header(@) { shift->head->print(@_) }
-
-
-sub clean_header() { shift->header }
-
-
-sub tidy_headers() { }
-
-
-sub add(@) { shift->head->add(@_) }
-
-
-sub replace(@) { shift->head->replace(@_) }
-
-
-sub get(@) { shift->head->get(@_) }
-
-
-sub delete(@)
-{   my $self = shift;
-    @_ ?  $self->head->delete(@_) : $self->SUPER::delete;
-}
-
-
-sub body(@)
-{   my $self = shift;
-
-    unless(@_)
-    {   my $body = $self->body;
-        return defined $body ? scalar($body->lines) : [];
-    }
-
-    my $data = ref $_[0] eq 'ARRAY' ? shift : \@_;
-    my $body  = Mail::Message::Body::Lines->new(data => $data);
-    $self->body($body);
-
-    $body;
-}
-
-
-sub print_body(@) { shift->SUPER::body->print(@_) }
-
-
-sub bodyObject(;$) { shift->SUPER::body(@_) }
-
-
-sub remove_sig(;$)
-{   my $self  = shift;
-    my $lines = shift || 10;
-    my $stripped = $self->decoded->stripSignature(max_lines => $lines);
-    $self->body($stripped) if defined $stripped;
-    $stripped;
-}
-
-
-sub tidy_body(;$)
-{   my $self  = shift;
-
-    my $body  = $self->body or return;
-    my @body  = $body->lines;
-
-    shift @body while @body &&  $body[0] =~ m/^\s*$/;
-    pop   @body while @body && $body[-1] =~ m/^\s*$/;
-
-    return $body if $body->nrLines == @body;
-    my $new = Mail::Message::Body::Lines->new(based_on => $body, data=>\@body);
-    $self->body($new);
-}
-
-
-sub smtpsend(@)
-{   my ($self, %args) = @_;
-    my $from = $args{MailFrom} || $ENV{MAILADDRESS} || $ENV{USER} || 'unknown';
-    $args{helo}       ||= delete $args{Hello};
-    $args{port}       ||= delete $args{Port};
-    $args{smtp_debug} ||= delete $args{Debug};
-
-    my $host  = $args{Host};
-    unless(defined $host)
-    {   my $hosts = $ENV{SMTPHOSTS};
-        $host = (split /\:/, $hosts)[0] if defined $hosts;
-    }
-    $args{host} = $host;
-
-    $self->send(via => 'smtp', %args);
-}
-
-
-sub as_mbox_string()
-{   my $self   = shift;
-    my $head   = $self->head->clone;
-    $head->delete('Content-Length');
-
-    my $buffer = '';
-    my $file   = Mail::Box::FastScalar->new(\$buffer);
-    $head->print($file);
-    $self->body->printEscapedFrom($file);
-    $buffer;
-}
-
-
-BEGIN {
- no warnings;
- *Mail::Internet::new =
-    sub { my $class = shift;
-          Mail::Message::Replace::MailInternet->new(@_);
-        }
-}
-
-
-sub isa($)
-{   my ($thing, $class) = @_;
-    return 1 if $class eq 'Mail::Internet';
-    $thing->SUPER::isa($class);
-}
-
-
-sub coerce() { confess }
-
-
-1;
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Replace/MailInternet.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Replace/MailInternet.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Replace/MailInternet.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Replace/MailInternet.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Replace/MailInternet.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,1370 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Replace::MailInternet - fake Mail::Internet
-
-
-=head1 INHERITANCE
-
- Mail::Message::Replace::MailInternet
-   is a Mail::Message
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- !!! BETA !!!
-
- # change
- use Mail::Internet;
- # into
- use Mail::Message::Replace::MailInternet;
- # in existing code, and the code should still work, but
- # with the Mail::Message features.
-
-
-=head1 DESCRIPTION
-
-This module is a wrapper around a L<Mail::Message|Mail::Message>, which simulates
-a L<Mail::Internet> object.  The name-space of that module is hijacked
-and many methods are added.
-
-Most methods will work without any change, but you may need to have
-a look at your L<smtpsend()|Mail::Message::Replace::MailInternet/"The body"> and L<send()|Mail::Message::Replace::MailInternet/"The message"> calls.
-
-
-=head1 OVERLOADED
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"Constructors">
-
-=back
-
-$obj-E<gt>B<dup>
-
-=over 4
-
-Duplicate the message.  The result will again be a L<Mail::Internet>
-compatible object.
-
-=back
-
-$obj-E<gt>B<empty>
-
-=over 4
-
-Remove all data from this object.  Very dangerous!
-
-=back
-
-Mail::Message::Replace::MailInternet-E<gt>B<new>([ARG], [OPTIONS])
-
-=over 4
-
- Option      Defined in       Default                                                                 
- Body                         C<undef>                                                                
- FoldLength                   79                                                                      
- Header                       C<undef>                                                                
- MailFrom                     C<'KEEP'>                                                               
- Modify                       0                                                                       
- body        L<Mail::Message>  undef                                                                   
- body_type   L<Mail::Message>  L<Mail::Message::Body::Lines|Mail::Message::Body::Lines>                
- deleted     L<Mail::Message>  <false>                                                                 
- field_type  L<Mail::Message>  undef                                                                   
- head        L<Mail::Message>  undef                                                                   
- head_type   L<Mail::Message>  L<Mail::Message::Replace::MailHeader|Mail::Message::Replace::MailHeader>
- labels      L<Mail::Message>  {}                                                                      
- log         L<Mail::Reporter>  C<'WARNINGS'>                                                           
- messageId   L<Mail::Message>  undef                                                                   
- modified    L<Mail::Message>  <false>                                                                 
- trace       L<Mail::Reporter>  C<'WARNINGS'>                                                           
- trusted     L<Mail::Message>  <false>                                                                 
-
-. Body ARRAY-OF-LINES
-
-=over 4
-
-Array of C<"\n"> terminated lines.  If not specified, the lines will be
-read from ARG.
-
-=back
-
-. FoldLength INTEGER
-
-=over 4
-
-Number of characters permitted on any refolded header line.
-Passed to L<Mail::Message::Replace::MailHeader::new(FoldLength)|Mail::Message::Replace::MailHeader/"METHODS">.
-
-=back
-
-. Header OBJECT
-
-=over 4
-
-The L<Mail::Header> object, which is passed here, is a fake one as well...
-It is translated into a L<new(head)|Mail::Message/"Constructors">.  If not given, the header will be
-parsed from the ARG.
-
-=back
-
-. MailFrom 'IGNORE'|'ERROR'|'COERCE'|'KEEP'
-
-=over 4
-
-What to do with leading "C<From >" lines in e-mail data.
-Passed to L<Mail::Message::Replace::MailHeader::new(MailFrom)|Mail::Message::Replace::MailHeader/"METHODS">.
-
-=back
-
-. Modify BOOLEAN
-
-=over 4
-
-Whether to re-fold all the incoming fields.
-Passed to L<Mail::Message::Replace::MailHeader::new(Modify)|Mail::Message::Replace::MailHeader/"METHODS">.
-
-=back
-
-. body OBJECT
-
-. body_type CLASS
-
-. deleted BOOLEAN
-
-. field_type CLASS
-
-. head OBJECT
-
-. head_type CLASS
-
-. labels ARRAY|HASH
-
-. log LEVEL
-
-. messageId STRING
-
-. modified BOOLEAN
-
-. trace LEVEL
-
-. trusted BOOLEAN
-
-I<Example:> replace traditional Mail::Internet by this wrapper
-
-
-  # was
-  use Mail::Internet;
-  my $mi = Mail::Internet->new(@options);
-
-  # becomes
-  use Mail::Message::Replace::MailInternet;
-  my $mi = Mail::Internet->new(@options);
-
-=back
-
-=head2 Attributes
-
-
-$obj-E<gt>B<MailFrom>([STRING])
-
-=over 4
-
-Your email address.
-
-=back
-
-=head2 Constructing a message
-
-
-$obj-E<gt>B<add_signature>([FILENAME])
-
-=over 4
-
-Replaced by L<sign()|Mail::Message::Replace::MailInternet/"Constructing a message">, but still usable. FILENAME is the file which
-contains the signature, which defaults to C<$ENV{HOME}/.signature>.
-
-=back
-
-$obj-E<gt>B<bounce>([RG-OBJECT|OPTIONS])
-
-=over 4
-
-See L<Mail::Message::Construct::Bounce/"Constructing a message">
-
-=back
-
-Mail::Message::Replace::MailInternet-E<gt>B<build>([MESSAGE|PART|BODY], CONTENT)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-Mail::Message::Replace::MailInternet-E<gt>B<buildFromBody>(BODY, [HEAD], HEADERS)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<extract>(ARRAY or FILEHANDLE)
-
-=over 4
-
-Read header and body from an ARRAY or FILEHANDLE
-
-=back
-
-$obj-E<gt>B<forward>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardAttach>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardEncapsulate>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardInline>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardNo>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPostlude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPrelude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardSubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<read>(ARRAY|FILEHANDLE, OPTIONS)
-
-Mail::Message::Replace::MailInternet-E<gt>B<read>(ARRAY|FILEHANDLE, OPTIONS)
-
-=over 4
-
-Read header and body from the specified ARRAY or FILEHANDLE.  When used as
-object method, L<Mail::Message::read()|Mail::Message::Construct::Read/"Constructing a message"> is called, to be MailBox compliant.
-As class method, the Mail::Internet compatible read is called.  OPTIONS are
-only available in the first case.
-
- Option               Defined in       Default 
- body_type            L<Mail::Message::Construct::Read>  C<undef>
- strip_status_fields  L<Mail::Message::Construct::Read>  <true>  
-
-. body_type CLASS
-
-. strip_status_fields BOOLEAN
-
-=back
-
-$obj-E<gt>B<read_body>(ARRAY|FILEHANDLE)
-
-=over 4
-
-Read only the message's body from the ARRAY or FILEHANDLE.
-
-=back
-
-$obj-E<gt>B<read_header>(ARRAY|FILEHANDLE)
-
-=over 4
-
-Read only the message's header from the ARRAY or FILEHANDLE
-
-=back
-
-$obj-E<gt>B<rebuild>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<reply>(OPTIONS)
-
-=over 4
-
-BE WARNED: the main job for creating a reply is done by
-L<Mail::Message::reply()|Mail::Message::Construct::Reply/"Constructing a message">, which may produce a result which is compatible,
-but may be different from L<Mail::Internet>'s version.
-
- Option           Defined in       Default                                                                   
- Bcc              L<Mail::Message::Construct::Reply>  undef                                                                     
- Cc               L<Mail::Message::Construct::Reply>  <'cc' in current>                                                         
- Exclude                           []                                                                        
- From             L<Mail::Message::Construct::Reply>  <'to' in current>                                                         
- Inline                            E<gt>                                                                     
- Keep                              []                                                                        
- Message-ID       L<Mail::Message::Construct::Reply>  <uniquely generated>                                                      
- ReplyAll                          <false>                                                                   
- Subject          L<Mail::Message::Construct::Reply>  L<replySubject()|Mail::Message::Construct::Reply/"Constructing a message">
- To               L<Mail::Message::Construct::Reply>  <sender in current>                                                       
- body             L<Mail::Message::Construct::Reply>  undef                                                                     
- group_reply      L<Mail::Message::Construct::Reply>  <true>                                                                    
- header_template                   C<$ENV{HOME}/.mailhdr>                                                    
- include          L<Mail::Message::Construct::Reply>  C<'INLINE'>                                                               
- max_signature    L<Mail::Message::Construct::Reply>  C<10>                                                                     
- message_type     L<Mail::Message::Construct::Reply>  L<Mail::Message|Mail::Message>                                            
- postlude         L<Mail::Message::Construct::Reply>  undef                                                                     
- prelude          L<Mail::Message::Construct::Reply>  undef                                                                     
- quote            L<Mail::Message::Construct::Reply>  'E<gt> '                                                                  
- signature        L<Mail::Message::Construct::Reply>  undef                                                                     
- strip_signature  L<Mail::Message::Construct::Reply>  C<qr/^--\s/>                                                              
-
-. Bcc ADDRESSES
-
-. Cc ADDRESSES
-
-. Exclude ARRAY-OF-NAMES
-
-=over 4
-
-Remove the fields witht the specified names from the produced reply message.
-
-=back
-
-. From ADDRESSES
-
-. Inline STRING
-
-=over 4
-
-Quotation STRING, which is translated into L<reply(quote)|Mail::Message::Construct::Reply/"Constructing a message">.  The normal
-default of C<quote> is "E<gt> ", in stead of "E<gt>".
-
-=back
-
-. Keep ARRAY-OF-NAMES
-
-=over 4
-
-Copy all header fields with the specified NAMES from the source to the
-reply message.
-
-=back
-
-. Message-ID STRING
-
-. ReplyAll BOOLEAN
-
-=over 4
-
-Reply to the group?  Translated into L<reply(group_reply)|Mail::Message::Construct::Reply/"Constructing a message">, which has
-as default the exact oposite of this option, being C<true>.
-
-=back
-
-. Subject STRING|CODE
-
-. To ADDRESSES
-
-. body BODY
-
-. group_reply BOOLEAN
-
-. header_template FILENAME|C<undef>
-
-=over 4
-
-Read the return header from the template file.  When this is explicitly
-set to C<undef>, or the file does not exist, then a header will be created.
-
-=back
-
-. include 'NO'|'INLINE'|'ATTACH'
-
-. max_signature INTEGER
-
-. message_type CLASS
-
-. postlude BODY|LINES
-
-. prelude BODY|LINES
-
-. quote CODE|STRING
-
-. signature BODY|MESSAGE
-
-. strip_signature REGEXP|STRING|CODE
-
-=back
-
-$obj-E<gt>B<replyPrelude>([STRING|FIELD|ADDRESS|ARRAY-OF-THINGS])
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replySubject>(STRING)
-
-Mail::Message::Replace::MailInternet-E<gt>B<replySubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<sign>(OPTIONS)
-
-=over 4
-
-Add a signature (a few extra lines) to the message.
-
- Option     Defined in       Default 
- File                        C<undef>
- Signature                   ''      
-
-. File FILENAME
-
-=over 4
-
-Specifies a filename where the signature is in.
-
-=back
-
-. Signature STRING|ARRAY-OF-LINES
-
-=over 4
-
-The signature in memory.
-
-=back
-
-=back
-
-=head2 The message
-
-
-$obj-E<gt>B<container>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isDummy>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<isPart>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<messageId>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<nntppost>(OPTIONS)
-
-=over 4
-
-Send an NNTP message (newsgroup message), which is equivalent to
-Mail::Transport::NNTP or L<Mail::Message::send()|Mail::Message/"The message"> with C<via 'nntp'>.
-
- Option  Defined in       Default           
- Debug                    <false>           
- Host                     <from Net::Config>
- Port                     119               
-
-. Debug BOOLEAN
-
-. Host HOSTNAME
-
-. Port INTEGER
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-Prints the whole message to the specified FILEHANDLE, which default to
-STDOUT.  This calls L<Mail::Message::print()|Mail::Message/"The message">.
-
-=back
-
-$obj-E<gt>B<send>(TYPE, OPTIONS)
-
-=over 4
-
-Send via Mail Transfer Agents (MUA).  These will be handled by various
-L<Mail::Transport::Send|Mail::Transport::Send> extensions.  The C<test> TYPE is not supported.
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<toplevel>
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-$obj-E<gt>B<write>([FILEHANDLE])
-
-=over 4
-
-See L<Mail::Message/"The message">
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<add>(LINES)
-
-=over 4
-
-Add header lines, which simply calls C<Mail::Message::Head::add()> on
-the header for each specified LINE. The last added LINE is returned.
-
-=back
-
-$obj-E<gt>B<bcc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<cc>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<clean_header>
-
-=over 4
-
-Not to be used, replaced by L<header()|Mail::Message::Replace::MailInternet/"The header">.
-
-=back
-
-$obj-E<gt>B<combine>(TAG, [WITH])
-
-=over 4
-
-Not implemented, because I see no use for it.
-
-=back
-
-$obj-E<gt>B<date>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<delete>(NAME, [INDEX]])
-
-=over 4
-
-Delete the fields with the specified NAME.  The deleted fields are
-returned.
-
-BE WARNED: if no NAME is specified, the C<delete> is interpreted as
-the deletion of the message in a folder, so L<Mail::Box::Message::delete()|Mail::Message/"Flags">
-will be called.  This may have no negative effect at all...
-
-Calls L<Mail::Message::Replace::MailHeader::delete()|Mail::Message::Replace::MailHeader/"Access to the header">
-
-=back
-
-$obj-E<gt>B<destinations>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<fold>([LENGTH])
-
-=over 4
-
-Fold all the fields to a certain maximum LENGTH.
-Implemented by L<Mail::Message::Replace::MailHeader::fold()|Mail::Message::Replace::MailHeader/"Simulating Mail::Header">
-
-=back
-
-$obj-E<gt>B<fold_length>([[TAG], LENGTH])
-
-=over 4
-
-Set the maximum line LENGTH.  TAG is ignored.
-Implemented by L<Mail::Message::Replace::MailHeader::fold_length()|Mail::Message::Replace::MailHeader/"Simulating Mail::Header">
-
-=back
-
-$obj-E<gt>B<from>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<get>(NAME, [INDEX])
-
-=over 4
-
-Get all the header fields with the specified NAME.  In scalar context,
-only the first fitting NAME is returned.  Even when only one NAME is
-specified, multiple lines may be returned: some fields appear more than
-once in a header.  Calls L<Mail::Message::Replace::MailHeader::get()|Mail::Message::Replace::MailHeader/"Access to the header">
-
-=back
-
-$obj-E<gt>B<guessTimestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<head>([HEAD])
-
-=over 4
-
-Returns the head of the message, or creates an empty one if none is
-defined.  The HEAD argument, which sets the header, is not available
-for L<Mail::Internet>, but is there to be compatible with the C<head>
-method of L<Mail::Message|Mail::Message>.
-
-=back
-
-$obj-E<gt>B<header>([ARRAY])
-
-=over 4
-
-Optionally reads a header from the ARRAY, and then returns those fields
-as array-ref nicely folded.
-Implemented by L<Mail::Message::Replace::MailHeader::header()|Mail::Message::Replace::MailHeader/"Simulating Mail::Header">
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<print_header>(FILEHANDLE)
-
-=over 4
-
-Calls L<Mail::Message::Head::Complete::print()|Mail::Message::Head::Complete/"Access to the header">.
-
-=back
-
-$obj-E<gt>B<replace>(TAG, LINE, [INDEX])
-
-=over 4
-
-Adds LINES to the header, but removes fields with the same name if they
-already exist.  Calls L<Mail::Message::Replace::MailHeader::replace()|Mail::Message::Replace::MailHeader/"Access to the header">
-
-=back
-
-$obj-E<gt>B<sender>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<study>(FIELDNAME)
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<subject>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<tidy_headers>
-
-=over 4
-
-No effect anymore (always performed).
-
-=back
-
-$obj-E<gt>B<timestamp>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-$obj-E<gt>B<to>
-
-=over 4
-
-See L<Mail::Message/"The header">
-
-=back
-
-=head2 The body
-
-
-$obj-E<gt>B<body>([ARRAY-OF-LINES|LIST-OF-LINES])
-
-=over 4
-
-Returns an array of lines, representing the body.  With arguments, a
-new body will be created.  In L<Mail::Internet>, the body is not an
-object but a simple array.
-
-BE WARNED: this overrules the L<Mail::Message::body()|Mail::Message/"The body"> method, which
-may cause some confusion.  Use L<bodyObject()|Mail::Message::Replace::MailInternet/"The body"> to get access to that
-body's data.
-
-=back
-
-$obj-E<gt>B<bodyObject>([BODY])
-
-=over 4
-
-Calls L<Mail::Message::body()|Mail::Message/"The body">, because that C<body> method is overruled
-by the one which has a L<Mail::Internet> compatible interface.
-
-=back
-
-$obj-E<gt>B<decoded>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<encode>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<isNested>
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<parts>(['ALL'|'ACTIVE'|'DELETED'|'RECURSE'|FILTER])
-
-=over 4
-
-See L<Mail::Message/"The body">
-
-=back
-
-$obj-E<gt>B<print_body>([FILEHANDLE])
-
-=over 4
-
-Prints the body to the specified FILEHANDLE, which defaults to STDOUT.  This
-calls L<Mail::Message::Body::print()|Mail::Message::Body/"Access to the payload">.
-
-=back
-
-$obj-E<gt>B<remove_sig>([NRLINES])
-
-=over 4
-
-Remove the signature of a message with a maximum of NRLINES lines, which
-defaults to 10.  The work is done on the decoded body content, by
-L<Mail::Message::Body::stripSignature()|Mail::Message::Body::Construct/"Constructing a body">.
-
-=back
-
-$obj-E<gt>B<smtpsend>(OPTIONS)
-
-=over 4
-
-This method is calling L<Mail::Message::send()|Mail::Message/"The message"> via C<smtp>, which is
-implemented in L<Mail::Transport::SMTP|Mail::Transport::SMTP>.  The implementation is
-slightly different, so this method is not 100% compliant.
-
- Option    Defined in       Default                               
- Debug                      <false>                               
- Hello                      <helo_domain from Net::Config>        
- Host                       C<$ENV{SMTPHOSTS} or from Net::Config>
- MailFrom                   C<$ENV{MAILADDRESS}> or $ENV{USER}    
- Port                       25                                    
-
-. Debug BOOLEAN
-
-. Hello STRING
-
-. Host HOSTNAME
-
-=over 4
-
-Only the first detected HOSTNAME is taken, so differs from the original
-implementation.
-
-=back
-
-. MailFrom STRING
-
-=over 4
-
-Your e-mail address.  This simulated L<Mail::Internet> object does not
-try to create an e-mail address from the sendmail configuration file,
-because that is generally a bad idea in environments with virtual hosts,
-as we have now-adays.
-
-=back
-
-. Port INTEGER
-
-=back
-
-$obj-E<gt>B<tidy_body>
-
-=over 4
-
-Removes blank lines from begin and end of the body.
-
-=back
-
-=head2 Flags
-
-
-$obj-E<gt>B<deleted>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isDeleted>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<label>(LABEL|PAIRS)
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<labels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<labelsToStatus>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-$obj-E<gt>B<statusToLabels>
-
-=over 4
-
-See L<Mail::Message/"Flags">
-
-=back
-
-=head2 The whole message as text
-
-
-$obj-E<gt>B<as_mbox_string>
-
-=over 4
-
-Returns the whole message as one string, which can be included in an
-MBOX folder (while not using L<Mail::Box::Mbox|Mail::Box::Mbox>).  The C<Content-Length>
-header field is removed and lines in the body which start with C<From >
-are escaped with an E<gt>.
-
-=back
-
-$obj-E<gt>B<file>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<lines>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<printStructure>([FILEHANDLE|undef],[INDENT])
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-=head2 The nasty bits
-
-
-$obj-E<gt>B<isa>(CLASS)
-
-Mail::Message::Replace::MailInternet-E<gt>B<isa>(CLASS)
-
-=over 4
-
-Of course, the C<isa()> class inheritance check should not see our
-nasty trick.
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<clonedFrom>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-Mail::Message::Replace::MailInternet-E<gt>B<coerce>(MESSAGE)
-
-=over 4
-
-Coerce (adapt type) of the specified MESSAGE (anything
-L<Mail::Message::coerce()|Mail::Message/"Internals"> accepts) into an Mail::Internet simulating
-object.
-
-=back
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readBody>(PARSER, HEAD [, BODYTYPE])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readFromParser>(PARSER, [BODYTYPE])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<readHead>(PARSER [,CLASS])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<recursiveRebuildPart>(PART, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Internals">
-
-=back
-
-$obj-E<gt>B<storeBody>(BODY)
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-$obj-E<gt>B<takeMessageId>([STRING])
-
-=over 4
-
-See L<Mail::Message/"Internals">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Message::Construct/"METHODS">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::Replace::MailInternet-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::Replace::MailInternet-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::Replace::MailInternet-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortSize>([VALUE])
-
-Mail::Message::Replace::MailInternet-E<gt>B<shortSize>([VALUE])
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortString>
-
-=over 4
-
-See L<Mail::Message/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<destruct>
-
-=over 4
-
-See L<Mail::Message/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot include forward source as $include.
-
-Unknown alternative for the L<forward(include)|Mail::Message::Construct::Forward/"Constructing a message">.  Valid choices are
-C<NO>, C<INLINE>, C<ATTACH>, and C<ENCAPSULATE>.
-
-I<Error:> Mail::Internet does not support this kind of data
-
-The ARGS data can only be a file handle or an ARRAY.  Other data types
-are not supported (see L<read()|Mail::Message::Replace::MailInternet/"Constructing a message"> if you want to have more).
-
-I<Error:> No address to create forwarded to.
-
-If a forward message is created, a destination address must be specified.
-
-I<Error:> Only build() Mail::Message's; they are not in a folder yet
-
-You may wish to construct a message to be stored in a some kind
-of folder, but you need to do that in two steps.  First, create a
-normal L<Mail::Message|Mail::Message>, and then add it to the folder.  During this
-L<Mail::Box::addMessage()|Mail::Box/"The folder"> process, the message will get L<coerce()|Mail::Message::Replace::MailInternet/"Internals">-d
-into the right message type, adding storage information and the like.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> bounce requires To, Cc, or Bcc
-
-The message L<bounce()|Mail::Message::Construct::Bounce/"Constructing a message"> method forwards a received message off to someone
-else without modification; you must specified it's new destination.
-If you have the urge not to specify any destination, you probably
-are looking for L<reply()|Mail::Message::Replace::MailInternet/"Constructing a message">. When you wish to modify the content, use
-L<forward()|Mail::Message::Construct::Forward/"Constructing a message">.
-
-I<Error:> forwardAttach requires a preamble object
-
-
-I<Error:> forwardEncapsulate requires a preamble object
-
-
-I<Error:> no rebuild rule $name defined.
-
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Replace/MailInternet.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Replace/MailInternet.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/Base64.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/TransferEnc/Base64.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/Base64.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,63 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Message::TransferEnc::Base64;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::TransferEnc';
-
-use MIME::Base64;
-
-
-sub name() { 'base64' }
-
-#------------------------------------------
-
-sub check($@)
-{   my ($self, $body, %args) = @_;
-    $body;
-}
-
-#------------------------------------------
-
-
-sub decode($@)
-{   my ($self, $body, %args) = @_;
-
-    my $lines = decode_base64($body->string);
-    unless($lines)
-    {   $body->transferEncoding('none');
-        return $body;
-    }
- 
-    my $bodytype
-      = defined $args{result_type} ? $args{result_type}
-      : $body->isBinary            ? 'Mail::Message::Body::File'
-      :                              ref $body;
-
-    $bodytype->new
-     ( based_on          => $body
-     , transfer_encoding => 'none'
-     , data              => $lines
-     );
-}
-
-#------------------------------------------
-
-sub encode($@)
-{   my ($self, $body, %args) = @_;
-
-    my $bodytype = $args{result_type} || ref $body;
-
-    $bodytype->new
-     ( based_on          => $body
-     , checked           => 1
-     , transfer_encoding => 'base64'
-     , data              => encode_base64($body->string)
-     );
-}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/Base64.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/TransferEnc/Base64.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/Base64.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/TransferEnc/Base64.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/Base64.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,278 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::TransferEnc::Base64 - encode/decode base64 message bodies
-
-
-=head1 INHERITANCE
-
- Mail::Message::TransferEnc::Base64
-   is a Mail::Message::TransferEnc
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my Mail::Message $msg = ...;
- my $decoded = $msg->decoded;
- my $encoded = $msg->encode(transfer => 'base64');
-
-
-=head1 DESCRIPTION
-
-Encode or decode message bodies with base64.  The e-mail protocol and
-user agents can not handle binary data.  Therefore, binary data -but
-even sometimes non-binary data- is encoded into ASCII, this is
-transportable.
-
-Base64 re-groups the bits of bytes, and maps them on characters. The
-data contains bytes of 8 bits (an I<octet>).  These are repacked into
-groups of 6 bits, pointing in an array of characters containing
-C<[A-Za-z0-9+/]>.  This way, three data bytes become 4 base64 bytes.
-The encoded data will be trailed by C<'='> characters to align on
-four bytes.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Message::TransferEnc::Base64-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-See L<Mail::Reporter/"Constructors">
-
-=back
-
-=head2 The Encoder
-
-
-Mail::Message::TransferEnc::Base64-E<gt>B<addTransferEncoder>(TYPE, CLASS)
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"The Encoder">
-
-=back
-
-$obj-E<gt>B<create>(TYPE, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"The Encoder">
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"The Encoder">
-
-=back
-
-=head2 Encoding
-
-
-$obj-E<gt>B<check>(BODY, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"Encoding">
-
-=back
-
-$obj-E<gt>B<decode>(BODY, OPTIONS)
-
-=over 4
-
- Option       Defined in                     Default              
- result_type  L<Mail::Message::TransferEnc>  <type of source body>
-
-. result_type CLASS
-
-=back
-
-$obj-E<gt>B<encode>(BODY, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"Encoding">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::TransferEnc::Base64-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::TransferEnc::Base64-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::TransferEnc::Base64-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> Base64 line length not padded on 4.
-
-While decoding base64 the data in a message body, a string was found which
-was not padded into a multiple of four bytes.  This is illegal, and therefore
-this data is ignored.
-
-I<Error:> Decoder for transfer encoding $type does not work: $@
-
-Compiling the required transfer encoding resulted in errors, which means
-that the decoder can not be used.
-
-I<Warning:> No decoder for transfer encoding $type.
-
-A decoder for the specified type of transfer encoding is not implemented.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/Base64.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/TransferEnc/Base64.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/Binary.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/TransferEnc/Binary.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/Binary.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,57 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Message::TransferEnc::Binary;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::TransferEnc';
-
-
-sub name() { 'binary' }
-
-#------------------------------------------
-
-sub check($@)
-{   my ($self, $body, %args) = @_;
-    $body;
-}
-
-#------------------------------------------
-
-sub decode($@)
-{   my ($self, $body, %args) = @_;
-    $body->transferEncoding('none');
-    $body;
-}
-
-#------------------------------------------
-
-sub encode($@)
-{   my ($self, $body, %args) = @_;
-
-    my @lines;
-
-    my $changes = 0;
-    foreach ($self->lines)
-    {   $changes++ if s/[\000\013]//g;
-        push @lines, $_;
-    }
-
-    unless($changes)
-    {   $body->transferEncoding('none');
-        return $body;
-    }
-
-    my $bodytype = $args{result_type} || ref($self->load);
-
-    $bodytype->new
-     ( based_on          => $self
-     , transfer_encoding => 'none'
-     , data              => \@lines
-     );
-}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/Binary.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/TransferEnc/Binary.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/Binary.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/TransferEnc/Binary.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/Binary.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,260 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::TransferEnc::Binary - encode/decode binary message bodies
-
-
-=head1 INHERITANCE
-
- Mail::Message::TransferEnc::Binary
-   is a Mail::Message::TransferEnc
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my Mail::Message $msg = ...;
- my $decoded = $msg->decoded;
- my $encoded = $msg->encode(transfer => 'binary');
-
-
-=head1 DESCRIPTION
-
-Encode or decode message bodies for binary transfer encoding.  This is
-totally no encoding.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Message::TransferEnc::Binary-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-See L<Mail::Reporter/"Constructors">
-
-=back
-
-=head2 The Encoder
-
-
-Mail::Message::TransferEnc::Binary-E<gt>B<addTransferEncoder>(TYPE, CLASS)
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"The Encoder">
-
-=back
-
-$obj-E<gt>B<create>(TYPE, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"The Encoder">
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"The Encoder">
-
-=back
-
-=head2 Encoding
-
-
-$obj-E<gt>B<check>(BODY, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"Encoding">
-
-=back
-
-$obj-E<gt>B<decode>(BODY [, OPTIONS])
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"Encoding">
-
-=back
-
-$obj-E<gt>B<encode>(BODY, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"Encoding">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::TransferEnc::Binary-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::TransferEnc::Binary-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::TransferEnc::Binary-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Decoder for transfer encoding $type does not work: $@
-
-Compiling the required transfer encoding resulted in errors, which means
-that the decoder can not be used.
-
-I<Warning:> No decoder for transfer encoding $type.
-
-A decoder for the specified type of transfer encoding is not implemented.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/Binary.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/TransferEnc/Binary.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/EightBit.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/TransferEnc/EightBit.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/EightBit.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,62 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Message::TransferEnc::EightBit;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::TransferEnc';
-
-
-sub name() { '8bit' }
-
-#------------------------------------------
-
-sub check($@)
-{   my ($self, $body, %args) = @_;
-    $body;
-}
-
-#------------------------------------------
-
-sub decode($@)
-{   my ($self, $body, %args) = @_;
-    $body->transferEncoding('none');
-    $body;
-}
-
-#------------------------------------------
-
-sub encode($@)
-{   my ($self, $body, %args) = @_;
-
-    my @lines;
-    my $changes = 0;
-
-    foreach ($body->lines)
-    {   $changes++ if s/[\000\013]//g;
-
-        $changes++ if length > 997;
-        push @lines, substr($_, 0, 996, '')."\n"
-            while length > 997;
-
-        push @lines, $_;
-    }
-
-    unless($changes)
-    {   $body->transferEncoding('8bit');
-        return $body;
-    }
-
-    my $bodytype = $args{result_type} || ref $body;
-
-    $bodytype->new
-     ( based_on          => $body
-     , transfer_encoding => '8bit'
-     , data              => \@lines
-     );
-}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/EightBit.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/TransferEnc/EightBit.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/EightBit.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/TransferEnc/EightBit.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/EightBit.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,271 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::TransferEnc::EightBit - encode/decode 8bit message bodies
-
-
-=head1 INHERITANCE
-
- Mail::Message::TransferEnc::EightBit
-   is a Mail::Message::TransferEnc
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my Mail::Message $msg = ...;
- my $decoded = $msg->decoded;
- my $encoded = $msg->encode(transfer => '8bit');
-
-
-=head1 DESCRIPTION
-
-Encode or decode message bodies for 8bit transfer encoding.  This is
-only very little encoding.  According to the specs:
-
-RFC-2045 Section 2.8 defines legal `8bit' data:
-
- "8bit data" refers to data that is all represented as relatively
- short lines with 998 octets or less between CRLF line separation
- sequences [RFC-821]), but octets with decimal values greater than 127
- may be used.  As with "7bit data" CR and LF octets only occur as part
- of CRLF line separation sequences and no NULs are allowed.
-
-As you can safely conclude: decoding of these bodies is no work
-at all.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Message::TransferEnc::EightBit-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-See L<Mail::Reporter/"Constructors">
-
-=back
-
-=head2 The Encoder
-
-
-Mail::Message::TransferEnc::EightBit-E<gt>B<addTransferEncoder>(TYPE, CLASS)
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"The Encoder">
-
-=back
-
-$obj-E<gt>B<create>(TYPE, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"The Encoder">
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"The Encoder">
-
-=back
-
-=head2 Encoding
-
-
-$obj-E<gt>B<check>(BODY, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"Encoding">
-
-=back
-
-$obj-E<gt>B<decode>(BODY [, OPTIONS])
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"Encoding">
-
-=back
-
-$obj-E<gt>B<encode>(BODY, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"Encoding">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::TransferEnc::EightBit-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::TransferEnc::EightBit-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::TransferEnc::EightBit-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Decoder for transfer encoding $type does not work: $@
-
-Compiling the required transfer encoding resulted in errors, which means
-that the decoder can not be used.
-
-I<Warning:> No decoder for transfer encoding $type.
-
-A decoder for the specified type of transfer encoding is not implemented.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/EightBit.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/TransferEnc/EightBit.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/QuotedPrint.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/TransferEnc/QuotedPrint.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/QuotedPrint.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,56 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Message::TransferEnc::QuotedPrint;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::TransferEnc';
-
-use MIME::QuotedPrint;
-
-
-sub name() { 'quoted-printable' }
-
-#------------------------------------------
-
-sub check($@)
-{   my ($self, $body, %args) = @_;
-    $body;
-}
-
-#------------------------------------------
-
-
-sub decode($@)
-{   my ($self, $body, %args) = @_;
-
-    my @lines    = map decode_qp($_), $body->lines;
-    my $bodytype = $args{result_type} || ref $body;
-
-    $bodytype->new
-     ( based_on          => $body
-     , transfer_encoding => 'none'
-     , data              => \@lines
-     );
-}
-
-#------------------------------------------
-
-
-sub encode($@)
-{   my ($self, $body, %args) = @_;
-
-    my @lines    = map encode_qp($_), $body->lines;
-    my $bodytype = $args{result_type} || ref $body;
-
-    $bodytype->new
-     ( based_on          => $body
-     , transfer_encoding => 'quoted-printable'
-     , data              => \@lines
-     );
-}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/QuotedPrint.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/TransferEnc/QuotedPrint.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/QuotedPrint.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/TransferEnc/QuotedPrint.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/QuotedPrint.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,286 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::TransferEnc::QuotedPrint - handle quoted-printable message bodies
-
-
-=head1 INHERITANCE
-
- Mail::Message::TransferEnc::QuotedPrint
-   is a Mail::Message::TransferEnc
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my Mail::Message $msg = ...;
- my $decoded = $msg->decoded;
- my $encoded = $msg->encode(transfer => 'quoted-printable');
-
-
-=head1 DESCRIPTION
-
-Encode and decode message bodies for quoted-printable transfer encoding.
-The Quoted-Printable encoding is intended
-to represent data that largely consists of bytes that correspond to
-printable characters in the ASCII character set.  Non-printable
-characters (as defined by English Americans) are represented by a
-triplet consisting of the character "=" followed by two hexadecimal
-digits.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Message::TransferEnc::QuotedPrint-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-See L<Mail::Reporter/"Constructors">
-
-=back
-
-=head2 The Encoder
-
-
-Mail::Message::TransferEnc::QuotedPrint-E<gt>B<addTransferEncoder>(TYPE, CLASS)
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"The Encoder">
-
-=back
-
-$obj-E<gt>B<create>(TYPE, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"The Encoder">
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"The Encoder">
-
-=back
-
-=head2 Encoding
-
-
-$obj-E<gt>B<check>(BODY, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"Encoding">
-
-=back
-
-$obj-E<gt>B<decode>(BODY, OPTIONS)
-
-=over 4
-
-Decoding is tricky, and not without loss of information.  Lines will
-stay separate lines, although they might have been joined before the
-encoding split them up.  Characters which are not printable will be
-replaced by their octal value, and carriage returns (C<'=0D'>) at
-end of line are removed.
-
- Option       Defined in                     Default              
- result_type  L<Mail::Message::TransferEnc>  <type of source body>
-
-. result_type CLASS
-
-=back
-
-$obj-E<gt>B<encode>(BODY, OPTIONS)
-
-=over 4
-
-Encoding is to quoted-printable is a careful process: All characters
-outside the normal printing range, and including C<'='> are encoded.
-They are translated into a C<'='> followed by a two digit hex of the
-ascii value of the character.  The same treatment is for white-spaces
-at the end of a line.
-
-The lines which are constructed which must be 76 characters max, not
-broken on encoded characters.
-
- Option       Defined in                     Default              
- result_type  L<Mail::Message::TransferEnc>  <type of source body>
-
-. result_type CLASS
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::TransferEnc::QuotedPrint-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::TransferEnc::QuotedPrint-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::TransferEnc::QuotedPrint-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Decoder for transfer encoding $type does not work: $@
-
-Compiling the required transfer encoding resulted in errors, which means
-that the decoder can not be used.
-
-I<Warning:> No decoder for transfer encoding $type.
-
-A decoder for the specified type of transfer encoding is not implemented.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/QuotedPrint.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/TransferEnc/QuotedPrint.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/SevenBit.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/TransferEnc/SevenBit.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/SevenBit.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,63 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Message::TransferEnc::SevenBit;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Message::TransferEnc';
-
-
-sub name() { '7bit' }
-
-#------------------------------------------
-
-sub check($@)
-{   my ($self, $body, %args) = @_;
-    $body;
-}
-
-#------------------------------------------
-
-sub decode($@)
-{   my ($self, $body, %args) = @_;
-    $body->transferEncoding('none');
-    $body;
-}
-
-#------------------------------------------
-
-sub encode($@)
-{   my ($self, $body, %args) = @_;
-
-    my @lines;
-    my $changes = 0;
-
-    foreach ($body->lines)
-    {   $changes++ if s/([^\000-\127])/chr(ord($1) & 0x7f)/ge;
-        $changes++ if s/[\000\013]//g;
-
-        $changes++ if length > 997;
-        push @lines, substr($_, 0, 996, '')."\n"
-            while length > 997;
-
-        push @lines, $_;
-    }
-
-    unless($changes)
-    {   $body->transferEncoding('7bit');
-        return $body;
-    }
-
-    my $bodytype = $args{result_type} || ref $body;
-
-    $bodytype->new
-     ( based_on          => $body
-     , transfer_encoding => '7bit'
-     , data              => \@lines
-     );
-}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/SevenBit.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/TransferEnc/SevenBit.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/SevenBit.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/TransferEnc/SevenBit.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/SevenBit.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,272 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::TransferEnc::SevenBit - encode/decode 7bit message bodies
-
-
-=head1 INHERITANCE
-
- Mail::Message::TransferEnc::SevenBit
-   is a Mail::Message::TransferEnc
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my Mail::Message $msg = ...;
- my $decoded = $msg->decoded;
- my $encoded = $msg->encode(transfer => '7bit');
-
-
-=head1 DESCRIPTION
-
-Encode or decode message bodies for 7bit transfer encoding.  This is
-only very little encoding.  According to the specs:
-
-RFC-2045 Section 2.7 defines legal `7bit' data:
-
-  "7bit data" refers to data that is all represented as relatively
-  short lines with 998 octets or less between CRLF line separation
-  sequences [RFC-821].  No octets with decimal values greater than 127
-  are allowed and neither are NULs (octets with decimal value 0).  CR
-  (decimal value 13) and LF (decimal value 10) octets only occur as
-  part of CRLF line separation sequences.
-
-As you can safely conclude: decoding of these bodies is no work
-at all.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Message::TransferEnc::SevenBit-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-See L<Mail::Reporter/"Constructors">
-
-=back
-
-=head2 The Encoder
-
-
-Mail::Message::TransferEnc::SevenBit-E<gt>B<addTransferEncoder>(TYPE, CLASS)
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"The Encoder">
-
-=back
-
-$obj-E<gt>B<create>(TYPE, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"The Encoder">
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"The Encoder">
-
-=back
-
-=head2 Encoding
-
-
-$obj-E<gt>B<check>(BODY, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"Encoding">
-
-=back
-
-$obj-E<gt>B<decode>(BODY [, OPTIONS])
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"Encoding">
-
-=back
-
-$obj-E<gt>B<encode>(BODY, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::TransferEnc/"Encoding">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::TransferEnc::SevenBit-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::TransferEnc::SevenBit-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::TransferEnc::SevenBit-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Decoder for transfer encoding $type does not work: $@
-
-Compiling the required transfer encoding resulted in errors, which means
-that the decoder can not be used.
-
-I<Warning:> No decoder for transfer encoding $type.
-
-A decoder for the specified type of transfer encoding is not implemented.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc/SevenBit.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/TransferEnc/SevenBit.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/TransferEnc.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,72 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Message::TransferEnc;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Reporter';
-
-
-my %encoder =
- ( base64 => 'Mail::Message::TransferEnc::Base64'
- , '7bit' => 'Mail::Message::TransferEnc::SevenBit'
- , '8bit' => 'Mail::Message::TransferEnc::EightBit'
- , 'quoted-printable' => 'Mail::Message::TransferEnc::QuotedPrint'
- );
-
-#------------------------------------------
-
- 
-sub create($@)
-{   my ($class, $type) = (shift, shift);
-
-    my $encoder = $encoder{lc $type};
-    unless($encoder)
-    {   $class->new(@_)->log(WARNING => "No decoder for transfer encoding $type.");
-        return;
-    }
-
-    eval "require $encoder";
-    if($@)
-    {   $class->new(@_)->log(ERROR =>
-            "Decoder for transfer encoding $type does not work:\n$@");
-        return;
-    }
-
-    $encoder->new(@_);
-}
-
-#------------------------------------------
-
-
-sub addTransferEncoder($$)
-{   my ($class, $type, $encoderclass) = @_;
-    $encoder{lc $type} = $encoderclass;
-    $class;
-}
-
-#------------------------------------------
-
-
-sub name {shift->notImplemented}
-
-#------------------------------------------
-
-
-sub check($@) {shift->notImplemented}
-
-#------------------------------------------
-
-
-sub decode($@) {shift->notImplemented}
-
-#------------------------------------------
-
-
-sub encode($) {shift->notImplemented}
-
-#------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/TransferEnc.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/TransferEnc.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,334 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::TransferEnc - message transfer encoder/decoder
-
-
-=head1 INHERITANCE
-
- Mail::Message::TransferEnc
-   is a Mail::Reporter
-
- Mail::Message::TransferEnc is extended by
-   Mail::Message::TransferEnc::Base64
-   Mail::Message::TransferEnc::Binary
-   Mail::Message::TransferEnc::EightBit
-   Mail::Message::TransferEnc::QuotedPrint
-   Mail::Message::TransferEnc::SevenBit
-
-
-=head1 SYNOPSIS
-
- my Mail::Message $msg = ...;
- my $decoded = $msg->decoded;
- my $encoded = $msg->encode(transfer => 'base64');
-
-
-=head1 DESCRIPTION
-
-This class is the base for various encoders and decoders, which are
-used during transport of the message.  This packages, and all which are
-derived, are invoked by the message's L<Mail::Message::decoded()|Mail::Message/"The body"> and
-L<Mail::Message::encode()|Mail::Message/"The body"> methods:
-
- my $message = $folder->message(3);
- my $decoded_body = $message->decoded;
- my $encoded_body = $message->encode(transfer => 'base64');
-
-The following coders/decoders are currently available:
-
-=over 4
-
-=item * L<Mail::Message::TransferEnc::Base64|Mail::Message::TransferEnc::Base64>
-
-C<base64> for binary information.
-
-=item * L<Mail::Message::TransferEnc::SevenBit|Mail::Message::TransferEnc::SevenBit>
-
-C<7bit> for plain old ASCII characters only.
-
-=item * L<Mail::Message::TransferEnc::EightBit|Mail::Message::TransferEnc::EightBit>
-
-C<8bit> for extended character set data, not encoded.
-
-=item * L<Mail::Message::TransferEnc::QuotedPrint|Mail::Message::TransferEnc::QuotedPrint>
-
-C<quoted-printable> encdoded extended character set data.
-
-=back
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Message::TransferEnc-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-See L<Mail::Reporter/"Constructors">
-
-=back
-
-=head2 The Encoder
-
-
-Mail::Message::TransferEnc-E<gt>B<addTransferEncoder>(TYPE, CLASS)
-
-=over 4
-
-Adds one new encoder to the list known by the Mail::Box suite.  The
-TYPE is found in the message's header in the C<Content-Transfer-Encoding>
-field.
-
-=back
-
-$obj-E<gt>B<create>(TYPE, OPTIONS)
-
-=over 4
-
-Create a new coder/decoder based on the required type.
-
-=back
-
-$obj-E<gt>B<name>
-
-=over 4
-
-The name of the encoder.  Case is not significant.
-
-=back
-
-=head2 Encoding
-
-
-$obj-E<gt>B<check>(BODY, OPTIONS)
-
-=over 4
-
-Check whether the body is correctly encoded.  If so, the body reference is
-returned with the C<checked> flag set.  Otherwise, a new object is created
-and returned.
-
- Option       Defined in  Default              
- result_type              <type of source body>
-
-. result_type CLASS
-
-=over 4
-
-The type of the body to be produced, when the checker decides to return
-modified data.  
-
-=back
-
-=back
-
-$obj-E<gt>B<decode>(BODY [, OPTIONS])
-
-=over 4
-
-Use the encoder to decode the content of BODY.  A new body is returned.
-
- Option       Defined in  Default              
- result_type              <type of source body>
-
-. result_type CLASS
-
-=over 4
-
-The type of the body to be produced, when the decoder decides to return
-modified data.
-
-=back
-
-=back
-
-$obj-E<gt>B<encode>(BODY, OPTIONS)
-
-=over 4
-
-Use the encoder to encode the content of BODY.
-
- Option       Defined in  Default              
- result_type              <type of source body>
-
-. result_type CLASS
-
-=over 4
-
-The type of the body to be produced, when the decoder decides to return
-modified data.
-
-=back
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message::TransferEnc-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message::TransferEnc-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message::TransferEnc-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Decoder for transfer encoding $type does not work: $@
-
-Compiling the required transfer encoding resulted in errors, which means
-that the decoder can not be used.
-
-I<Warning:> No decoder for transfer encoding $type.
-
-A decoder for the specified type of transfer encoding is not implemented.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/TransferEnc.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/TransferEnc.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Wrapper/SpamAssassin.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Wrapper/SpamAssassin.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Wrapper/SpamAssassin.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,112 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message::Wrapper::SpamAssassin;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::SpamAssassin::Message';
-
-use Carp;
-use Mail::Message::Body;
-
-#------------------------------------------
-
-
-sub new(@)    # fix missing infra-structure of base element
-{   my ($class, $message, %args) = @_;
-
-    $_->delete for $message->head->spamGroups('SpamAssassin');
-
-    $class->SUPER::new( {message => $message} )->init(\%args);
-}
-
-sub init($) { shift }
-
-#------------------------------------------
-
-sub create_new() {croak "Should not be used"}
-
-#------------------------------------------
-
-sub get($) { $_[0]->get_header($_[1]) }
-
-sub get_header($)
-{   my ($self, $name) = @_;
-    my $head = $self->get_mail_object->head;
-
-    # Return all fields unfolded in list context
-    return map { $_->unfoldedBody } $head->get($name)
-        if wantarray;
-
-    # Only one field is expected
-    my $field = $head->get($name);
-    defined $field ? $field->unfoldedBody : undef;
-}
-
-#------------------------------------------
-
-sub get_pristine_header($)
-{   my ($self, $name) = @_;
-    my $field = $self->get_mail_object->head->get($name);
-    defined $field ? $field->foldedBody : undef;
-}
-
-#------------------------------------------
-
-sub put_header($$)
-{   my ($self, $name, $value) = @_;
-    my $head = $self->get_mail_object->head;
-    $value =~ s/\s{2,}/ /g;
-    $value =~ s/\s*$//;      # will cause a refold as well
-    return () unless length $value;
-
-    $head->add($name => $value);
-}
-
-#------------------------------------------
-
-sub get_all_headers($)
-{   my $head = shift->get_mail_object->head;
-    "$head";
-}
-    
-#------------------------------------------
-
-sub replace_header($$)
-{   my $head = shift->get_mail_object->head;
-    my ($name, $value) = @_;
-    $head->set($name, $value);
-}
-
-#------------------------------------------
-
-sub delete_header($)
-{   my $head = shift->get_mail_object->head;
-    my $name = shift;
-    $head->delete($name);
-}
-
-#------------------------------------------
-
-sub get_body() {shift->get_mail_object->body->lines }
-
-#------------------------------------------
-
-sub get_pristine() { shift->get_mail_object->head->string }
-
-#------------------------------------------
-
-sub replace_body($)
-{   my ($self, $data) = @_;
-    my $body = Mail::Message::Body->new(data => $data);
-    $self->get_mail_object->storeBody($body);
-}
-
-#------------------------------------------
-
-sub replace_original_message($)
-{   my ($self, $lines) = @_;
-    die "We will not replace the message.  Use report_safe = 0\n";
-}
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Wrapper/SpamAssassin.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Wrapper/SpamAssassin.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Wrapper/SpamAssassin.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message/Wrapper/SpamAssassin.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Wrapper/SpamAssassin.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,70 +0,0 @@
-
-=head1 NAME
-
-Mail::Message::Wrapper::SpamAssassin - Connect a Mail::Message with Mail::SpamAssassin
-
-
-=head1 INHERITANCE
-
- Mail::Message::Wrapper::SpamAssassin
-   is a Mail::SpamAssassin::Message
-
-
-=head1 SYNOPSIS
-
- # See Mail::Box::Search::SpamAssassin for the prefered interface
- # However, it is possible to do:
-
- my $msg    = ...;   # some Mail::Message object
- my $sa     = Mail::Message::Wrapper::SpamAssassin->new($msg);
- my $spam   = Mail::SpamAssassin->new;
- my $status = $spam->check($sa);
-
- $msg->label(spam => 1) if $status->is_spam;
- $status->rewrite_mail;  # Adds spam lines to header
-
-
-=head1 DESCRIPTION
-
-The C<Mail::Message::Wrapper::SpamAssassin>
-class --sorry for the long package
-name-- is a wrapper around Mail::SpamAssassin::Message, which is an
-interface to the spam checking software of Mail::SpamAssassin.
-
-
-
-=head1 METHODS
-
-
-Mail::Message::Wrapper::SpamAssassin-E<gt>B<new>(MESSAGE, OPTIONS)
-
-=over 4
-
-Creates a wrapper around the MESSAGE.  The already present fields
-from a previous run of Spam::Assassin (or probably fake lines) are
-removed first.
-
-=back
-
-
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message/Wrapper/SpamAssassin.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message/Wrapper/SpamAssassin.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,763 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Message;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Reporter';
-
-use Mail::Message::Part;
-use Mail::Message::Head::Complete;
-use Mail::Message::Construct;
-
-use Mail::Message::Body::Lines;
-use Mail::Message::Body::Multipart;
-use Mail::Message::Body::Nested;
-
-use Carp;
-use Scalar::Util   'weaken';
-
-
-our $crlf_platform;
-BEGIN { $crlf_platform = $^O =~ m/win32|cygwin/i }
-
-#------------------------------------------
-
-
-sub init($)
-{   my ($self, $args) = @_;
-    $self->SUPER::init($args);
-
-    # Field initializations also in coerce()
-    $self->{MM_modified} = $args->{modified}  || 0;
-    $self->{MM_trusted}  = $args->{trusted}   || 0;
-
-    # Set the header
-
-    my $head;
-    if(defined($head = $args->{head})) { $self->head($head) }
-    elsif(my $msgid = $args->{messageId} || $args->{messageID})
-    {   $self->takeMessageId($msgid);
-    }
-
-    # Set the body
-    if(my $body = $args->{body})
-    {   $self->{MM_body} = $body;
-        $body->message($self);
-    }
-
-    $self->{MM_body_type} = $args->{body_type}
-       if defined $args->{body_type};
-
-    $self->{MM_head_type} = $args->{head_type}
-       if defined $args->{head_type};
-
-    $self->{MM_field_type} = $args->{field_type}
-       if defined $args->{field_type};
-
-    my $labels = $args->{labels} || [];
-    my @labels = ref $labels eq 'ARRAY' ? @$labels : %$labels;
-    push @labels, deleted => $args->{deleted} if exists $args->{deleted};
-    $self->{MM_labels} = { @labels };
-
-    $self;
-}
-
-#------------------------------------------
-
-
-sub clone(@)
-{   my ($self, %args) = @_;
-
-    # First clone body, which may trigger head load as well.  If head is
-    # triggered first, then it may be decided to be lazy on the body at
-    # moment.  And then the body would be triggered.
-
-    my ($head, $body) = ($self->head, $self->body);
-    $head = $head->clone
-       unless $args{shallow} || $args{shallow_head};
-
-    $body = $body->clone
-       unless $args{shallow} || $args{shallow_body};
-
-    my $clone = Mail::Message->new
-     ( head  => $head
-     , body  => $body
-     , $self->logSettings
-     );
-
-    my $labels = $self->labels;
-    my %labels = %$labels;
-    delete $labels{deleted};
-
-    $clone->{MM_labels} = \%labels;
-
-    $clone->{MM_cloned} = $self;
-    weaken($clone->{MM_cloned});
-
-    $clone;
-}
-
-#------------------------------------------
-
-
-sub messageId() { $_[0]->{MM_message_id} || $_[0]->takeMessageId}
-sub messageID() {shift->messageId}   # compatibility
-
-#------------------------------------------
-
-
-sub container() { undef } # overridden by Mail::Message::Part
-
-#------------------------------------------
-
-
-sub isPart() { 0 } # overridden by Mail::Message::Part
-
-#------------------------------------------
-
-
-sub toplevel() { shift } # overridden by Mail::Message::Part
-
-#------------------------------------------
-
-
-sub isDummy() { 0 }
-
-#------------------------------------------
-
-
-sub print(;$)
-{   my $self = shift;
-    my $out  = shift || select;
-
-    $self->head->print($out);
-    $self->body->print($out);
-    $self;
-}
-
-#------------------------------------------
-
-
-sub write(;$)
-{   my $self = shift;
-    my $out  = shift || select;
-
-    $self->head->print($out);
-    $self->body->print($out);
-    $self;
-}
-
-#------------------------------------------
-
-
-my $default_mailer;
-
-sub send(@)
-{   my $self = shift;
-
-    require Mail::Transport::Send;
-
-    my $mailer;
-    $default_mailer = $mailer = shift
-        if ref $_[0] && $_[0]->isa('Mail::Transport::Send');
-
-    my %args = @_;
-    if( ! $args{via} && defined $default_mailer )
-    {   $mailer = $default_mailer;
-    }
-    else
-    {   my $via = delete $args{via} || 'sendmail';
-        $default_mailer = $mailer = Mail::Transport->new(via => $via, %args);
-    }
-
-    $mailer->send($self, %args);
-}
-
-#------------------------------------------
-
-
-sub size()
-{   my $self = shift;
-    $self->head->size + $self->body->size;
-}
-
-#------------------------------------------
-
-
-sub head(;$)
-{   my $self = shift;
-    return $self->{MM_head} unless @_;
-
-    my $head = shift;
-    unless(defined $head)
-    {   delete $self->{MM_head};
-        return undef;
-    }
-
-    $self->log(INTERNAL => "wrong type of head for message $self")
-        unless ref $head && $head->isa('Mail::Message::Head');
-
-    $head->message($self);
-
-    if(my $old = $self->{MM_head})
-    {   $self->{MM_modified}++ unless $old->isDelayed;
-    }
-
-    $self->{MM_head} = $head;
-
-    $self->takeMessageId unless $head->isDelayed;
-
-    $head;
-}
-
-#------------------------------------------
-
-
-sub get($)
-{   my $self  = shift;
-    my $field = $self->head->get(shift) || return undef;
-    $field->body;
-}
-
-#------------------------------------------
-
-
-sub study($)
-{  my $head = shift->head or return;
-   scalar $head->study(@_);    # return only last
-}
-
-#-------------------------------------------
-
-
-sub from()
-{  my $from = shift->head->get('From') or return ();
-   map {$_->addresses} $from;
-}
-
-#-------------------------------------------
-
-
-sub sender()
-{   my $self   = shift;
-    my $sender = $self->head->get('Sender') || $self->head->get('From')
-               || return ();
-
-    ($sender->addresses)[0];                 # first specified address
-}
-
-#-------------------------------------------
-
-
-sub to() { map {$_->addresses} shift->head->get('To') }
-
-#-------------------------------------------
-
-
-sub cc() { map {$_->addresses} shift->head->get('Cc') }
-
-#-------------------------------------------
-
-
-sub bcc() { map {$_->addresses} shift->head->get('Bcc') }
-
-#-------------------------------------------
-
-
-#-------------------------------------------
-
-
-sub destinations()
-{   my $self = shift;
-    my %to = map { (lc($_->address) => $_) }
-                  $self->to, $self->cc, $self->bcc;
-    values %to;
-}
-
-#-------------------------------------------
-
-
-sub subject()
-{   my $subject = shift->get('subject');
-    defined $subject ? $subject : '';
-}
-
-#-------------------------------------------
-
-
-sub guessTimestamp() {shift->head->guessTimestamp}
-
-#-------------------------------------------
-
-
-sub timestamp()
-{   my $head = shift->head;
-    $head->recvstamp || $head->timestamp;
-}
-
-#------------------------------------------
-
-
-sub nrLines()
-{   my $self = shift;
-    $self->head->nrLines + $self->body->nrLines;
-}
-
-#-------------------------------------------
-
-  
-sub body(;$@)
-{   my $self = shift;
-    return $self->{MM_body} unless @_;
-
-    my $head = $self->head;
-    $head->removeContentInfo if defined $head;
-
-    my ($rawbody, %args) = @_;
-    unless(defined $rawbody)
-    {   # Disconnect body from message.
-        my $body = delete $self->{MM_body};
-        $body->message(undef) if defined $body;
-        return $body;
-    }
-
-    $self->log(INTERNAL => "wrong type of body for message $rawbody")
-        unless ref $rawbody && $rawbody->isa('Mail::Message::Body');
-
-    # Bodies of real messages must be encoded for safe transmission.
-    # Message parts will get encoded on the moment the whole multipart
-    # is transformed into a real message.
-    my $body = $self->isPart ? $rawbody : $rawbody->encoded;
-    $body->contentInfoTo($self->head);
-
-    my $oldbody = $self->{MM_body};
-    return $body if defined $oldbody && $body==$oldbody;
-
-    $body->message($self);
-    $body->modified(1) if defined $oldbody;
-
-    $self->{MM_body} = $body;
-}
-
-#------------------------------------------
-
-
-sub decoded(@)
-{   my ($self, %args) = @_;
-
-    return $self->{MB_decoded} if $self->{MB_decoded};
-
-    my $body    = $self->body->load or return;
-    my $decoded = $body->decoded(result_type => $args{result_type});
-
-    $self->{MB_decoded} = $decoded if $args{keep};
-    $decoded;
-}
-
-#------------------------------------------
-
-
-sub encode(@)
-{   my $body = shift->body->load;
-    $body ? $body->encode(@_) : undef;
-}
-
-#-------------------------------------------
-
-
-sub isMultipart() {shift->head->isMultipart}
-
-#-------------------------------------------
-
-
-sub isNested() {shift->body->isNested}
-
-#-------------------------------------------
-
-
-sub parts(;$)
-{   my $self    = shift;
-    my $what    = shift || 'ACTIVE';
-
-    my $body    = $self->body;
-    my $recurse = $what eq 'RECURSE' || ref $what;
-
-    my @parts
-     = $body->isNested     ? $body->nested->parts($what)
-     : $body->isMultipart  ? $body->parts($recurse ? 'RECURSE' : ())
-     :                       $self;
-
-      ref $what eq 'CODE' ? (grep {$what->($_)} @parts)
-    : $what eq 'ACTIVE'   ? (grep {not $_->isDeleted } @parts)
-    : $what eq 'DELETED'  ? (grep { $_->isDeleted } @parts)
-    : $what eq 'ALL'      ? @parts
-    : $recurse            ? @parts
-    : confess "Select parts via $what?";
-}
-
-#------------------------------------------
-
-
-sub modified(;$)
-{   my $self = shift;
-
-    return $self->isModified unless @_;  # compatibility 2.036
-
-    my $flag = shift;
-    $self->{MM_modified} = $flag;
-    my $head = $self->head;
-    $head->modified($flag) if $head;
-    my $body = $self->body;
-    $body->modified($flag) if $body;
-
-    $flag;
-}
-
-#------------------------------------------
-
-
-sub isModified()
-{   my $self = shift;
-    return 1 if $self->{MM_modified};
-
-    my $head = $self->head;
-    if($head && $head->isModified)
-    {   $self->{MM_modified}++;
-        return 1;
-    }
-
-    my $body = $self->body;
-    if($body && $body->isModified)
-    {   $self->{MM_modified}++;
-        return 1;
-    }
-
-    0;
-}
-
-#------------------------------------------
-
-
-sub label($;$@)
-{   my $self   = shift;
-    return $self->{MM_labels}{$_[0]} unless @_ > 1;
-    my $return = $_[1];
-
-    my %labels = @_;
-    @{$self->{MM_labels}}{keys %labels} = values %labels;
-    $return;
-}
-
-#------------------------------------------
-
-
-sub labels()
-{   my $self = shift;
-    wantarray ? keys %{$self->{MM_labels}} : $self->{MM_labels};
-}
-
-#------------------------------------------
-
-
-sub isDeleted() { shift->label('deleted') }
-
-#-------------------------------------------
-
-
-sub delete()
-{  my $self = shift;
-   my $old = $self->label('deleted');
-   $old || $self->label(deleted => time);
-}
-
-#-------------------------------------------
-
-
-sub deleted(;$)
-{   my $self = shift;
-
-    @_ ? $self->label(deleted => shift)
-       : $self->label('deleted')   # compat 2.036
-}
-
-#-------------------------------------------
-
-
-sub labelsToStatus()
-{   my $self    = shift;
-    my $head    = $self->head;
-    my $labels  = $self->labels;
-
-    my $status  = $head->get('status') || '';
-    my $newstatus
-      = $labels->{seen}    ? 'RO'
-      : $labels->{old}     ? 'O'
-      : '';
-
-    $head->set(Status => $newstatus)
-        if $newstatus ne $status;
-
-    my $xstatus = $head->get('x-status') || '';
-    my $newxstatus
-      = ($labels->{replied} ? 'A' : '')
-      . ($labels->{flagged} ? 'F' : '');
-
-    $head->set('X-Status' => $newxstatus)
-        if $newxstatus ne $xstatus;
-
-    $self;
-}
-
-#-------------------------------------------
-
-
-sub statusToLabels()
-{   my $self    = shift;
-    my $head    = $self->head;
-
-    if(my $status  = $head->get('status'))
-    {   $status = $status->foldedBody;
-        $self->label
-         ( seen    => (index($status, 'R') >= 0)
-         , old     => (index($status, 'O') >= 0)
-	 );
-    }
-
-    if(my $xstatus = $head->get('x-status'))
-    {   $xstatus = $xstatus->foldedBody;
-        $self->label
-         ( replied => (index($xstatus, 'A') >= 0)
-         , flagged => (index($xstatus, 'F') >= 0)
-	 );
-    }
-
-    $self;
-}
-
-#------------------------------------------
-
-
-#------------------------------------------
-
-
-my $mail_internet_converter;
-my $mime_entity_converter;
-
-sub coerce($@)
-{   my ($class, $message) = @_;
-
-    return bless $message, $class
-        if $message->isa(__PACKAGE__);
-
-    if($message->isa('MIME::Entity'))
-    {   unless($mime_entity_converter)
-        {   eval {require Mail::Message::Convert::MimeEntity};
-                confess "Install MIME::Entity" if $@;
-
-            $mime_entity_converter = Mail::Message::Convert::MimeEntity->new;
-        }
-
-        $message = $mime_entity_converter->from($message)
-            or return;
-    }
-
-    elsif($message->isa('Mail::Internet'))
-    {   unless($mail_internet_converter)
-        {   eval {require Mail::Message::Convert::MailInternet};
-            confess "Install Mail::Internet" if $@;
-
-           $mail_internet_converter = Mail::Message::Convert::MailInternet->new;
-        }
-
-        $message = $mail_internet_converter->from($message)
-            or return;
-    }
-
-    else
-    {   my $what = ref $message ? 'a'.ref($message).' object' : 'text';
-        confess "Cannot coerce $what into a ". __PACKAGE__." object.\n";
-    }
-
-    $message->{MM_modified}  ||= 0;
-    bless $message, $class;
-}
-
-#------------------------------------------
-
-
-sub clonedFrom() { shift->{MM_cloned} }
-
-#------------------------------------------
-# All next routines try to create compatibility with release < 2.0
-sub isParsed()   { not shift->isDelayed }
-sub headIsRead() { not shift->head->isa('Mail::Message::Delayed') }
-
-#------------------------------------------
-
-
-sub readFromParser($;$)
-{   my ($self, $parser, $bodytype) = @_;
-
-    my $head = $self->readHead($parser)
-            || Mail::Message::Head::Complete->new
-                 ( message     => $self
-                 , field_type  => $self->{MM_field_type}
-                 , $self->logSettings
-                 );
-
-    my $body = $self->readBody($parser, $head, $bodytype)
-       or return;
-
-    $self->head($head);
-    $self->storeBody($body);
-    $self;
-}
-
-#------------------------------------------
-
-
-sub readHead($;$)
-{   my ($self, $parser) = (shift, shift);
-
-    my $headtype = shift
-      || $self->{MM_head_type} || 'Mail::Message::Head::Complete';
-
-    $headtype->new
-      ( message     => $self
-      , field_type  => $self->{MM_field_type}
-      , $self->logSettings
-      )->read($parser);
-}
-
-#------------------------------------------
-
-
-my $mpbody = 'Mail::Message::Body::Multipart';
-my $nbody  = 'Mail::Message::Body::Nested';
-my $lbody  = 'Mail::Message::Body::Lines';
-
-sub readBody($$;$$)
-{   my ($self, $parser, $head, $getbodytype) = @_;
-
-    my $bodytype
-      = ! $getbodytype   ? ($self->{MM_body_type} || $lbody)
-      : ref $getbodytype ? $getbodytype->($self, $head)
-      :                    $getbodytype;
-
-    my $body;
-    if($bodytype->isDelayed)
-    {   $body = $bodytype->new
-          ( message           => $self
-          , $self->logSettings
-          );
-    }
-    else
-    {   my $ct   = $head->get('Content-Type');
-        my $type = defined $ct ? lc($ct->body) : 'text/plain';
-
-        # Be sure you have acceptable bodies for multiparts and nested.
-        if(substr($type, 0, 10) eq 'multipart/' && !$bodytype->isMultipart)
-        {   $bodytype = $mpbody }
-        elsif($type eq 'message/rfc822' && !$bodytype->isNested)
-        {   $bodytype = $nbody  }
-
-        $body = $bodytype->new
-        ( message           => $self
-        , checked           => $self->{MM_trusted}
-        , $self->logSettings
-        );
-
-        $body->contentInfoFrom($head);
-    }
-
-    my $lines   = $head->get('Lines');
-    my $size    = $head->guessBodySize;
-
-    $body->read
-      ( $parser, $head, $getbodytype,
-      , $size, (defined $lines ? int $lines->body : undef)
-      );
-}
-
-#------------------------------------------
-
-
-sub storeBody($)
-{   my ($self, $body) = @_;
-    $self->{MM_body} = $body;
-    $body->message($self);
-    $body;
-}
-
-#-------------------------------------------
-
-
-sub isDelayed()
-{    my $body = shift->body;
-     !$body || $body->isDelayed;
-}
-
-#------------------------------------------
-
-
-sub takeMessageId(;$)
-{   my $self  = shift;
-    my $msgid = (@_ ? shift : $self->get('Message-ID')) || '';
-
-    if($msgid =~ m/\<([^>]*)\>/s)
-    {   $msgid = $1;
-        $msgid =~ s/\s//gs;
-    }
- 
-    $msgid = $self->head->createMessageId
-        unless length $msgid;
-
-    $self->{MM_message_id} = $msgid;
-}
-
-#------------------------------------------
-
-
-sub shortSize(;$)
-{   my $self = shift;
-    my $size = shift;
-    $size = $self->head->guessBodySize unless defined $size;
-
-      !defined $size     ? '?'
-    : $size < 1_000      ? sprintf "%3d "  , $size
-    : $size < 10_000     ? sprintf "%3.1fK", $size/1024
-    : $size < 1_000_000  ? sprintf "%3.0fK", $size/1024
-    : $size < 10_000_000 ? sprintf "%3.1fM", $size/(1024*1024)
-    :                      sprintf "%3.0fM", $size/(1024*1024);
-}
-
-#------------------------------------------
-
-
-sub shortString()
-{   my $self    = shift;
-    sprintf "%4s %-30.30s", $self->shortSize, $self->subject;
-}
-
-#------------------------------------------
-
-
-sub DESTROY()
-{   my $self = shift;
-    return if $self->inGlobalDestruction;
-
-    $self->SUPER::DESTROY;
-    $self->head(undef);
-    $self->body(undef);
-}
-
-#------------------------------------------
-
-
-sub destruct() { $_[0] = undef }
-
-#------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Message.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,1671 +0,0 @@
-
-=head1 NAME
-
-Mail::Message - general message object
-
-
-=head1 INHERITANCE
-
- Mail::Message has extra code in
-   Mail::Message::Construct
-   Mail::Message::Construct::Rebuild
-   Mail::Message::Construct::Text
-   Mail::Message::Construct::Forward
-   Mail::Message::Construct::Bounce
-   Mail::Message::Construct::Read
-   Mail::Message::Construct::Build
-   Mail::Message::Construct::Reply
-
- Mail::Message
-   is a Mail::Reporter
-
- Mail::Message is extended by
-   Mail::Box::Message
-   Mail::Message::Dummy
-   Mail::Message::Part
-   Mail::Message::Replace::MailInternet
-
-
-=head1 SYNOPSIS
-
- use Mail::Box::Manager;
- my $mgr    = Mail::Box::Manager->new;
- my $folder = $mgr->open(folder => 'InBox');
- my $msg    = $folder->message(2);    # $msg is a Mail::Message now
-
- my $subject = $msg->subject;         # The message's subject
- my @cc      = $msg->cc;              # List of Mail::Address'es
-
- my $msg       = Mail::Message->build(...);
- my $reply_msg = Mail::Message->reply(...);
- my $frwd_msg  = Mail::Message->forward(...);
-
- my Mail::Message::Head $head = $msg->head;
- my Mail::Message::Body $body = $msg->decoded;
- $msg->decoded->print($outfile);
-
-
-=head1 DESCRIPTION
-
-A C<Mail::Message> object is a container for MIME-encoded message information,
-as defined by RFC2822.  Everything what is not specificly related to storing
-the messages in mailboxes (folders) is implemented in this class.  Methods
-which are related to folders is implemented in the L<Mail::Box::Message|Mail::Box::Message>
-extension.
-
-The main methods are L<get()|Mail::Message/"The header">, to get information from a message header
-field, and L<decoded()|Mail::Message/"The body"> to get the intended content of a message.
-But there are many more which can assist your program.
-
-Complex message handling, like construction of replies and forwards, are
-implemented in separate packages which are autoloaded into this class.
-This means you can simply use these methods as if they are part of this class.
-Those package add functionality to all kinds of message objects.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-$obj-E<gt>B<clone>(OPTIONS)
-
-=over 4
-
-Create a copy of this message.  Returned is a C<Mail::Message> object.
-The head and body, the log and trace levels are taken.  Labels are
-copied with the message, but the delete and modified flags are not.
- 
-BE WARNED: the clone of any kind of message (or a message part)
-will B<always> be a C<Mail::Message> object.  For example, a
-L<Mail::Box::Message|Mail::Box::Message>'s clone is detached from the folder of its original.
-When you use L<Mail::Box::addMessage()|Mail::Box/"The folder"> with the cloned message at hand,
-then the clone will automatically be coerced into the right message type
-to be added.
-
-See also L<Mail::Box::Message::copyTo()|Mail::Box::Message/"The message"> and L<Mail::Box::Message::moveTo()|Mail::Box::Message/"The message">.
-
- Option        Defined in       Default
- shallow                        <false>
- shallow_body                   <false>
- shallow_head                   <false>
-
-. shallow BOOLEAN
-
-=over 4
-
-When a shallow clone is made, the header and body of the message will not
-be cloned, but shared.  This is quite dangerous: for instance in some
-folder types, the header fields are used to store folder flags.  When
-one of both shallow clones change the flags, that will update the header
-and thereby be visible in both.
-
-There are situations where a shallow clone can be used safely.  For instance,
-when L<Mail::Box::Message::moveTo()|Mail::Box::Message/"The message"> is used and you are sure that the
-original message cannot get undeleted after the move.
-
-=back
-
-. shallow_body BOOLEAN
-
-=over 4
-
-A rather safe bet, because you are not allowed to modify the body of a
-message: you may only set a new body with L<body()|Mail::Message/"The body">.
-
-=back
-
-. shallow_head BOOLEAN
-
-=over 4
-
-Only the head uses is reused, not the body.  This is probably a bad choice,
-because the header fields can be updated, for instance when labels change.
-
-=back
-
-I<Example:> 
-
- $copy = $msg->clone;
-
-=back
-
-Mail::Message-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option      Defined in       Default                                                       
- body                         undef                                                         
- body_type                    L<Mail::Message::Body::Lines|Mail::Message::Body::Lines>      
- deleted                      <false>                                                       
- field_type                   undef                                                         
- head                         undef                                                         
- head_type                    L<Mail::Message::Head::Complete|Mail::Message::Head::Complete>
- labels                       {}                                                            
- log         L<Mail::Reporter>  C<'WARNINGS'>                                                 
- messageId                    undef                                                         
- modified                     <false>                                                       
- trace       L<Mail::Reporter>  C<'WARNINGS'>                                                 
- trusted                      <false>                                                       
-
-. body OBJECT
-
-=over 4
-
-Instantiate the message with a body which has been created somewhere
-before the message is constructed.  The OBJECT must be a sub-class
-of Mail::Message::Body.  See also L<body()|Mail::Message/"The body"> and L<storeBody()|Mail::Message/"Internals">.
-
-=back
-
-. body_type CLASS
-
-=over 4
-
-Default type of body to be created for L<readBody()|Mail::Message/"Internals">.
-
-=back
-
-. deleted BOOLEAN
-
-=over 4
-
-Is the file deleted from the start?
-
-=back
-
-. field_type CLASS
-
-. head OBJECT
-
-=over 4
-
-Instantiate the message with a head which has been created somewhere
-before the message is constructed.  The OBJECT must be a (sub-)class
-of L<Mail::Message::Head|Mail::Message::Head>. See also L<head()|Mail::Message/"The header">.
-
-=back
-
-. head_type CLASS
-
-=over 4
-
-Default type of head to be created for L<readHead()|Mail::Message/"Internals">.
-
-=back
-
-. labels ARRAY|HASH
-
-=over 4
-
-Initial values of the labels.  In case of L<Mail::Box::Message|Mail::Box::Message>'s, this
-shall reflect the state the message is in.  For newly constructed
-L<Mail::Message|Mail::Message>'s, this may be anything you want, because L<coerce()|Mail::Message/"Internals">
-will take care of the folder specifics once the message is added to one.
-
-=back
-
-. log LEVEL
-
-. messageId STRING
-
-=over 4
-
-The id on which this message can be recognized.  If none specified and
-not defined in the header --but one is needed-- there will be one assigned
-to the message to be able to pass unique message-ids between objects.
-
-=back
-
-. modified BOOLEAN
-
-=over 4
-
-Flags this message as being modified from the beginning on.  Usually,
-modification is auto-detected, but there may be reasons to be extra
-explicit.
-
-=back
-
-. trace LEVEL
-
-. trusted BOOLEAN
-
-=over 4
-
-Is this message from a trusted source?  If not, the content must be
-checked before use.  This checking will be performed when the
-body data is decoded or used for transmission.
-
-=back
-
-=back
-
-=head2 Constructing a message
-
-
-$obj-E<gt>B<bounce>([RG-OBJECT|OPTIONS])
-
-=over 4
-
-See L<Mail::Message::Construct::Bounce/"Constructing a message">
-
-=back
-
-Mail::Message-E<gt>B<build>([MESSAGE|PART|BODY], CONTENT)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-Mail::Message-E<gt>B<buildFromBody>(BODY, [HEAD], HEADERS)
-
-=over 4
-
-See L<Mail::Message::Construct::Build/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forward>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardAttach>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardEncapsulate>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardInline>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardNo>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPostlude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardPrelude>
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<forwardSubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Forward/"Constructing a message">
-
-=back
-
-Mail::Message-E<gt>B<read>(FILEHANDLE|SCALAR|REF-SCALAR|ARRAY-OF-LINES, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Read/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<rebuild>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<reply>(OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replyPrelude>([STRING|FIELD|ADDRESS|ARRAY-OF-THINGS])
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-$obj-E<gt>B<replySubject>(STRING)
-
-Mail::Message-E<gt>B<replySubject>(STRING)
-
-=over 4
-
-See L<Mail::Message::Construct::Reply/"Constructing a message">
-
-=back
-
-=head2 The message
-
-
-$obj-E<gt>B<container>
-
-=over 4
-
-If the message is a part of another message, C<container> returns the
-reference to the containing body.
-
-I<Example:> 
-
- my Mail::Message $msg = ...
- return unless $msg->body->isMultipart;
- my $part   = $msg->body->part(2);
-
- return unless $part->body->isMultipart;
- my $nested = $part->body->part(3);
-
- $nested->container;  # returns $msg->body
- $nested->toplevel;   # returns $msg
- $msg->container;     # returns undef
- $msg->toplevel;      # returns $msg
- $msg->isPart;        # returns false
- $part->isPart;       # returns true
-
-=back
-
-$obj-E<gt>B<isDummy>
-
-=over 4
-
-Dummy messages are used to fill holes in linked-list and such, where only
-a message-id is known, but not the place of the header of body data.
-
-This method is also available for L<Mail::Message::Dummy|Mail::Message::Dummy> objects,
-where this will return C<true>.  On any extension of C<Mail::Message>,
-this will return C<false>.
-
-=back
-
-$obj-E<gt>B<isPart>
-
-=over 4
-
-Returns true if the message is a part of another message.  This is
-the case for L<Mail::Message::Part|Mail::Message::Part> extensions of C<Mail::Message>.
-
-=back
-
-$obj-E<gt>B<messageId>
-
-=over 4
-
-Retrieve the message's id.  Every message has a unique message-id.  This id
-is used mainly for recognizing discussion threads.
-
-=back
-
-$obj-E<gt>B<print>([FILEHANDLE])
-
-=over 4
-
-Print the message to the FILE-HANDLE, which defaults to the selected
-filehandle, without the encapsulation sometimes required by a folder
-type, like L<write()|Mail::Message/"The message"> does.
-
-I<Example:> 
-
- $message->print(\*STDERR);  # to the error output
- $message->print;            # to the selected file
-
- my $out = IO::File->new('out', 'w');
- $message->print($out);      # no encapsulation: no folder
- $message->write($out);      # with encapsulation: is folder.
-
-=back
-
-$obj-E<gt>B<send>([MAILER], OPTIONS)
-
-=over 4
-
-Transmit the message to anything outside this Perl program.  MAILER
-is a L<Mail::Transport::Send|Mail::Transport::Send> object.  When the MAILER is not specified, one
-will be created, and kept as default for the next messages as well.
-
-The OPTIONS are mailer specific, and a mixture of what is usable for
-the creation of the mailer object and the sending itself.  Therefore, see
-for possible options L<Mail::Transport::Send::new()|Mail::Transport::Send/"METHODS"> and
-L<Mail::Transport::Send::send()|Mail::Transport::Send/"Sending mail">.
-
-I<Example:> 
-
- $message->send;
-
-is short (but little less flexibile) for
-
- my $mailer = Mail::Transport::SMTP->new(@smtpopts);
- $mailer->send($message, @sendopts);
-
-See examples/send.pl in the distribution of L<Mail::Box|Mail::Box>.
-
-I<Example:> 
-
- $message->send(via => 'sendmail')
-
-=back
-
-$obj-E<gt>B<size>
-
-=over 4
-
-Returns an estimated size of the whole message in bytes.  In many occasions,
-the functions which process the message further, for instance L<send()|Mail::Message/"The message">
-or L<print()|Mail::Message/"The message"> will need to add/change header lines or add CR characters,
-so the size is only an estimate with a few percent margin of the real
-result.
-
-The computation assumes that each line ending is represented by one
-character (like UNIX, MacOS, and sometimes Cygwin), and not two characters
-(like Windows and sometimes Cygwin).  If you write the message to file on
-a system which uses CR and LF to end a single line (all Windows versions),
-the result in that file will be at least L<nrLines()|Mail::Message/"The header"> larger than this
-method returns.
-
-=back
-
-$obj-E<gt>B<toplevel>
-
-=over 4
-
-Returns a reference to the main message, which will be the current
-message if the message is not part of another message.
-
-=back
-
-$obj-E<gt>B<write>([FILEHANDLE])
-
-=over 4
-
-Write the message to the FILE-HANDLE, which defaults to the selected
-FILEHANDLE, with all surrounding information which is needed to put
-it correctly in a folder file.
-
-In most cases, the result of C<write> will be the same as with L<print()|Mail::Message/"The message">.
-The main exception is for Mbox folder messages, which will get printed
-with their leading 'From ' line and a trailing blank.  Each line of
-their body which starts with 'From ' will have an 'E<gt>' added in front.
-
-=back
-
-=head2 The header
-
-
-$obj-E<gt>B<bcc>
-
-=over 4
-
-Returns the addresses which are specified on the C<Bcc> header line (or lines)
-A list of Mail::Address objects is returned.
-C<Bcc> stands for I<Blind Carbon Copy>: destinations of the message which are
-not listed in the messages actually sent.  So, this field will be empty
-for received messages, but may be present in messages you construct yourself.
-
-=back
-
-$obj-E<gt>B<cc>
-
-=over 4
-
-Returns the addresses which are specified on the C<Cc> header line (or lines)
-A list of Mail::Address objects is returned.  C<Cc> stands for
-I<Carbon Copy>; the people addressed on this line receive the message
-informational, and are usually not expected to reply on its content.
-
-=back
-
-$obj-E<gt>B<date>
-
-=over 4
-
-Method has been removed for reasons of consistency.  Use L<timestamp()|Mail::Message/"The header">
-or C<$msg->head->get('Date')>.
-
-=back
-
-$obj-E<gt>B<destinations>
-
-=over 4
-
-Returns a list of Mail::Address objects which contains the combined
-info of active C<To>, C<Cc>, and C<Bcc> addresses.  Double addresses are
-removed if detectable.
-
-=back
-
-$obj-E<gt>B<from>
-
-=over 4
-
-Returns the addresses from the senders.  It is possible to have more than
-one address specified in the C<From> field of the message, according
-to the specification. Therefore a list of Mail::Address objects is
-returned, which usually has length 1.
-
-If you need only one address from a sender, for instance to create a
-"original message by" line in constructed forwarded message body, then use
-L<sender()|Mail::Message/"The header">.
-
-I<Example:> using from() to get all sender addresses
-
-
- my @from = $message->from;
-
-=back
-
-$obj-E<gt>B<get>(FIELDNAME)
-
-=over 4
-
-Returns the value which is stored in the header field with the specified
-name.  The FIELDNAME is case insensitive.  The I<unfolded body> of the
-field is returned, stripped from any attributes.
-See L<Mail::Message::Field::body()|Mail::Message::Field/"Access to the body">.
-
-If the field has multiple appearances in the header, only the last
-instance is returned.  If you need more complex handing of fields, then
-call L<Mail::Message::Head::get()|Mail::Message::Head/"Access to the header"> yourself.  See L<study()|Mail::Message/"The header"> when you
-want to be smart, doing the better (but slower) job.
-
-I<Example:> the get() short-cut for header fields
-
-
- print $msg->get('Content-Type'), "\n";
-
-Is equivalent to:
-
- print $msg->head->get('Content-Type')->body, "\n";
-
-=back
-
-$obj-E<gt>B<guessTimestamp>
-
-=over 4
-
-Return an estimate on the time this message was sent.  The data is
-derived from the header, where it can be derived from the C<date> and
-C<received> lines.  For MBox-like folders you may get the date from
-the from-line as well.
-
-This method may return C<undef> if the header is not parsed or only
-partially known.  If you require a time, then use the L<timestamp()|Mail::Message/"The header">
-method, described below.
-
-I<Example:> using guessTimestamp() to get a transmission date
-
-
- print "Receipt ", ($message->timestamp || 'unknown'), "\n";
-
-=back
-
-$obj-E<gt>B<head>([HEAD])
-
-=over 4
-
-Return (optionally after setting) the HEAD of this message.
-The head must be an (sub-)class of L<Mail::Message::Head|Mail::Message::Head>.
-When the head is added, status information is taken from it
-and transformed into labels.  More labels can be added by the
-LABELS hash.  They are added later.
-
-I<Example:> 
-
- $msg->head(Mail::Message::Head->new);  # set
- my $head = $msg->head;                 # get
-
-=back
-
-$obj-E<gt>B<nrLines>
-
-=over 4
-
-Returns the number of lines used for the whole message.
-
-=back
-
-$obj-E<gt>B<sender>
-
-=over 4
-
-Returns exactly one address, which is the originator of this message.
-The returned Mail::Address object is taken from the C<Sender> header
-field, unless that field does not exists, in which case the first
-address from the C<From> field is taken.  If none of both provide
-an address, C<undef> is returned.
-
-I<Example:> using sender() to get exactly one sender address
-
-
- my $sender = $message->sender;
- print "Reply to: ", $sender->format, "\n" if defined $sender;
-
-=back
-
-$obj-E<gt>B<study>(FIELDNAME)
-
-=over 4
-
-Study the content of a field, like L<get()|Mail::Message/"The header"> does, with as main difference
-that a L<Mail::Message::Field::Full|Mail::Message::Field::Full> object is returned.  These objects
-stringify to an utf8 decoded representation of the data contained in
-the field, where L<get()|Mail::Message/"The header"> does not decode.
-See L<Mail::Message::Field::study()|Mail::Message::Field/"Access to the content">.
-
-I<Example:> the study() short-cut for header fields
-
-
- print $msg->study('to'), "\n";
-
-Is equivalent to:
-
- print $msg->head->study('to'), "\n";       # and
- print $msg->head->get('to')->study, "\n";
-
-=back
-
-$obj-E<gt>B<subject>
-
-=over 4
-
-Returns the message's subject, or the empty string.
-
-I<Example:> using subject() to get the message's subject
-
-
- print $msg->subject;
-
-=back
-
-$obj-E<gt>B<timestamp>
-
-=over 4
-
-Get a good timestamp for the message, doesn't matter how much work it is.
-The value returned is compatible with the platform dependent result of
-function time().
-
-In these days, the timestamp as supplied by the message (in the C<Date>
-field) is not trustable at all: many spammers produce illegal or
-unreal dates to influence their location in the displayed folder.
-
-To start, the received headers are tried for a date (see
-L<Mail::Message::Head::Complete::recvstamp()|Mail::Message::Head::Complete/"About the body">) and only then the C<Date>
-field.  In very rare cases, only with some locally produced messages,
-no stamp can be found.
-
-=back
-
-$obj-E<gt>B<to>
-
-=over 4
-
-Returns the addresses which are specified on the C<To> header line (or lines).
-A list of Mail::Address objects is returned.  The people addressed
-here are the targets of the content, and should read it contents
-carefully.
-
-I<Example:> using to() to get all primar destination addresses
-
-
- my @to = $message->to;
-
-=back
-
-=head2 The body
-
-
-$obj-E<gt>B<body>([BODY])
-
-=over 4
-
-Return the body of this message.  BE WARNED that this returns
-you an object which may be encoded: use decoded() to get a body
-with usable data.
-
-With options, a new BODY is set for this message.  This is B<not>
-for normal use unless you understand the consequences: you change
-the message content without changing the message-ID.  The right
-way to go is via
-
- $message = Mail::Message->buildFromBody($body);  # or
- $message = Mail::Message->build($body);          # or
- $message = $origmsg->forward(body => $body);
-
-The BODY must be an (sub-)class of L<Mail::Message::Body|Mail::Message::Body>.  In this case,
-information from the specified body will be copied into the header.  The
-body object will be encoded if needed, because messages written to file
-or transmitted shall not contain binary data.  The converted body
-is returned.
-
-When BODY is C<undef>, the current message body will be dissected from
-the message.  All relation will be cut.  The body is returned, and
-can be connected to a different message.
-
-I<Example:> 
-
- my $body      = $msg->body;
- my @encoded   = $msg->body->lines;
-
- my $new       = Mail::Message::Body->new(mime_type => 'text/html');
- my $converted = $msg->body($new);
-
-=back
-
-$obj-E<gt>B<decoded>(OPTIONS)
-
-=over 4
-
-Decodes the body of this message, and returns it as a body object.  If there
-was no encoding, the body object as read from file is passed on, however,
-some more work will be needed when a serious encoding is encountered.
-The OPTIONS control how the conversion takes place.
-
- Option       Defined in       Default       
- keep                          <false>       
- result_type                   <type of body>
-
-. keep BOOLEAN
-
-=over 4
-
-Controls whether the decoded result will be kept.  If not, the decoding
-may be performed more than once.  However, it will consume extra
-resources...
-
-=back
-
-. result_type BODYTYPE
-
-=over 4
-
-Specifies which kind of body should be used for the final result, and
-eventual intermediate conversion stages.  It is not sure that this
-will be the type of the body returned.  BODYTYPE extends
-L<Mail::Message::Body|Mail::Message::Body>.
-
-=back
-
-I<Example:> 
-
- $message->decoded->print(\*OUT);
- $message->decoded->print;
-
- my $dec = $message->body($message->decoded);
- my $dec = $message->decoded(keep => 1);   # same
-
-=back
-
-$obj-E<gt>B<encode>(OPTIONS)
-
-=over 4
-
-Encode the message to a certain format.  Read the details in the
-dedicated manual page L<Mail::Message::Body::Encode|Mail::Message::Body::Encode>.  The OPTIONS which
-can be specified here are those of the L<Mail::Message::Body::encode()|Mail::Message::Body::Encode/"Constructing a body">
-method.  
-
-=back
-
-$obj-E<gt>B<isMultipart>
-
-=over 4
-
-Check whether this message is a multipart message (has attachments).  To
-find this out, we need at least the header of the message; there is no
-need to read the body of the message to detect this.
-
-=back
-
-$obj-E<gt>B<isNested>
-
-=over 4
-
-Returns C<true> for C<message/rfc822> messages and message parts.
-
-=back
-
-$obj-E<gt>B<parts>(['ALL'|'ACTIVE'|'DELETED'|'RECURSE'|FILTER])
-
-=over 4
-
-Returns the I<parts> of this message. Usually, the term I<part> is used
-with I<multipart> messages: messages which are encapsulated in the body
-of a message.  To abstract this concept: this method will return you
-all header-body combinations which are stored within this message
-B<except> the multipart and message/rfc822 wrappers.
-Objects returned are C<Mail::Message>'s and L<Mail::Message::Part|Mail::Message::Part>'s.
-
-The option default to 'ALL', which will return the message itself for
-single-parts, the nested content of a message/rfc822 object, respectively
-the parts of a multipart without recursion.  In case of 'RECURSE', the
-parts of multiparts will be collected recursively.  This option cannot
-be combined with the other options, which you may want: it that case
-you have to test yourself.
-
-'ACTIVE' and 'DELETED' check for the deleted flag on messages and
-message parts.  The FILTER is a code reference, which is called for
-each part of the messagei; each part as C<RECURSE> would return.
-
-I<Example:> 
-
- my @parts = $msg->parts;           # $msg not multipart: returns ($msg)
- my $parts = $msg->parts('ACTIVE'); # returns ($msg)
-
- $msg->delete;
- my @parts = $msg->parts;           # returns ($msg)
- my $parts = $msg->parts('ACTIVE'); # returns ()
-
-=back
-
-=head2 Flags
-
-
-$obj-E<gt>B<delete>
-
-=over 4
-
-Flag the message to be deleted, which is a shortcut for
- $msg->label(deleted => time);
-The real deletion only takes place on a synchronization of the folder.
-See L<deleted()|Mail::Message/"Flags"> as well.
-
-The time stamp of the moment of deletion is stored as value, but that
-is not always preserved in the folder (depends on the implementation).
-When the same message is deleted more than once, the first time stamp
-will stay.
-
-I<Example:> 
-
- $message->delete;
- $message->deleted(1);  # exactly the same
- $message->label(deleted => 1);
- delete $message;
-
-=back
-
-$obj-E<gt>B<deleted>([BOOLEAN])
-
-=over 4
-
-Set the delete flag for this message.  Without argument, the method
-returns the same as L<isDeleted()|Mail::Message/"Flags">, which is prefered.  When a true
-value is given, L<delete()|Mail::Message/"Flags"> is called.
-
-I<Example:> 
-
- $message->deleted(1);          # delete
- $message->delete;              # delete (prefered)
-
- $message->deleted(0);          # undelete
-
- if($message->deleted) {...}    # check
- if($message->isDeleted) {...}  # check (prefered)
-
-=back
-
-$obj-E<gt>B<isDeleted>
-
-=over 4
-
-Short-cut for
- $msg->label('deleted')
-
-For some folder types, you will get the time of deletion in return.  This
-depends on the implementation.
-
-I<Example:> 
-
- next if $message->isDeleted;
-
- if(my $when = $message->isDeleted) {
-    print scalar localtime $when;
- }
-
-=back
-
-$obj-E<gt>B<isModified>
-
-=over 4
-
-Returns whether this message is flagged as being modified.  Modifications
-are changes in header lines, when a new body is set to the message
-(dangerous), or when labels change.
-
-=back
-
-$obj-E<gt>B<label>(LABEL|PAIRS)
-
-=over 4
-
-Return the value of the LABEL, optionally after setting some values.  In
-case of setting values, you specify key-value PAIRS.
-
-Labels are used to store knowledge about handling of the message within
-the folder.  Flags about whether a message was read, replied to, or
-scheduled for deletion.
-
-Some labels are taken from the header's C<Status> and C<X-Status> lines,
-however folder types like MH define a separate label file.
-
-I<Example:> 
-
- print $message->label('seen');
- if($message->label('seen')) {...};
- $message->label(seen => 1);
-
- $message->label(deleted => 1);  # same as $message->delete
-
-=back
-
-$obj-E<gt>B<labels>
-
-=over 4
-
-Returns all known labels.  In SCALAR context, it returns the knowledge
-as reference to a hash.  This is a reference to the original data, but
-you shall *not* change that data directly: call C<label> for
-changes!
-
-In LIST context, you get a list of names which are defined.  Be warned
-that they will not all evaluate to true, although most of them will.
-
-=back
-
-$obj-E<gt>B<labelsToStatus>
-
-=over 4
-
-When the labels were changed, that may effect the C<Status> and/or
-C<X-Status> header lines of mbox messages.  Read about the relation
-between these fields and the labels in the DETAILS chapter.
-
-The method will carefully only affect the result of L<modified()|Mail::Message/"Flags"> when
-there is a real change of flags, so not for each call to L<label()|Mail::Message/"Flags">.
-
-=back
-
-$obj-E<gt>B<modified>([BOOLEAN])
-
-=over 4
-
-Returns (optionally after setting) whether this message is flagged as
-being modified.  See isModified().
-
-=back
-
-$obj-E<gt>B<statusToLabels>
-
-=over 4
-
-Update the labels according the status lines in the header.  See the
-description in the DETAILS chapter.
-
-=back
-
-=head2 The whole message as text
-
-
-$obj-E<gt>B<file>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<lines>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<printStructure>([FILEHANDLE|undef],[INDENT])
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-$obj-E<gt>B<string>
-
-=over 4
-
-See L<Mail::Message::Construct::Text/"The whole message as text">
-
-=back
-
-=head2 Internals
-
-
-$obj-E<gt>B<clonedFrom>
-
-=over 4
-
-Returns the MESSAGE which is the source of this message, which was
-created by a L<clone()|Mail::Message/"Constructors"> operation.
-
-=back
-
-Mail::Message-E<gt>B<coerce>(MESSAGE, OPTIONS)
-
-=over 4
-
-Coerce a MESSAGE into a Mail::Message.  In some
-occasions, for instance where you add a message to a folder, this
-coercion is automatically called to ensure that the correct message
-type is stored.
-
-The coerced message is returned on success, otherwise C<undef>.  The
-coerced message may be a reblessed version of the original message
-or a new object.  In case the message has to be specialized, for
-instance from a general Mail::Message into a Mail::Box::Mbox::Message,
-no copy is needed.  However, to coerce a Mail::Internet object into
-a Mail::Message, a lot of copying and converting will take place.
-
-Valid MESSAGEs which can be coerced into Mail::Message objects
-are of type
-
-=over 4
-
-=item * Any type of L<Mail::Box::Message|Mail::Box::Message>
-
-=item * MIME::Entity's, using L<Mail::Message::Convert::MimeEntity|Mail::Message::Convert::MimeEntity>
-
-=item * Mail::Internet's, using L<Mail::Message::Convert::MailInternet|Mail::Message::Convert::MailInternet>
-
-=back
-
-L<Mail::Message::Part|Mail::Message::Part>'s, which are extensions of C<Mail::Message>'s,
-can also be coerced directly from a L<Mail::Message::Body|Mail::Message::Body>.
-
-I<Example:> 
-
- my $folder  = Mail::Box::Mbox->new;
- my $message = Mail::Message->build(...);
-
- my $coerced = Mail::Box::Mbox::Message->coerce($message);
- $folder->addMessage($coerced);
-
-Simpler replacement for the previous two lines:
-
- my $coerced = $folder->addMessage($message);
-
-=back
-
-$obj-E<gt>B<isDelayed>
-
-=over 4
-
-Check whether the message is delayed (not yet read from file).  Returns
-true or false, dependent on the body type.
-
-=back
-
-$obj-E<gt>B<readBody>(PARSER, HEAD [, BODYTYPE])
-
-=over 4
-
-Read a body of a message.  The PARSER is the access to the folder's
-file, and the HEAD is already read.  Information from the HEAD is used
-to create expectations about the message's length, but also to determine
-the mime-type and encodings of the body data.
-
-The BODYTYPE determines which kind of body will be made and defaults to
-the value specified by new(body_type).
-BODYTYPE may be the name of a body class, or a reference
-to a routine which returns the body's class when passed the HEAD as only
-argument.
-
-=back
-
-$obj-E<gt>B<readFromParser>(PARSER, [BODYTYPE])
-
-=over 4
-
-Read one message from file.  The PARSER is opened on the file.  First
-L<readHead()|Mail::Message/"Internals"> is called, and the head is stored in the message.  Then
-L<readBody()|Mail::Message/"Internals"> is called, to produce a body.  Also the body is added to
-the message without decodings being done.
-
-The optional BODYTYPE may be a body class or a reference to a code
-which returns a body-class based on the header.
-
-=back
-
-$obj-E<gt>B<readHead>(PARSER [,CLASS])
-
-=over 4
-
-Read a head into an object of the specified CLASS.  The CLASS defaults to
-L<new(head_type)|Mail::Message/"Constructors">.  The PARSER is the access to the folder's file.
-
-=back
-
-$obj-E<gt>B<recursiveRebuildPart>(PART, OPTIONS)
-
-=over 4
-
-See L<Mail::Message::Construct::Rebuild/"Internals">
-
-=back
-
-$obj-E<gt>B<storeBody>(BODY)
-
-=over 4
-
-Where the L<body()|Mail::Message/"The body"> method can be used to set and get a body, with all
-the necessary checks, this method is bluntly adding the specified body
-to the message.  No conversions, not checking.
-
-=back
-
-$obj-E<gt>B<takeMessageId>([STRING])
-
-=over 4
-
-Take the message-id from the STRING, or create one when the C<undef>
-is specified.  If not STRING nor C<undef> is given, the current header
-of the message is requested for the value of the C<'Message-ID'> field.
-
-Angles (if present) are removed from the id. 
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Message::Construct/"METHODS">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Message-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Message-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Message-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<shortSize>([VALUE])
-
-Mail::Message-E<gt>B<shortSize>([VALUE])
-
-=over 4
-
-Represent an integer VALUE representing the size of file or memory,
-(which can be large) into a short string using M and K (Megabytes
-and Kilobytes).  Without VALUE, the size of the message head is used.
-
-=back
-
-$obj-E<gt>B<shortString>
-
-=over 4
-
-Convert the message header to a short string (without trailing newline),
-representing the most important facts (for debugging purposes only).  For
-now, it only reports size and subject.
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-When a message is to accessible anymore by any user's reference, Perl
-will call DESTROY for final clean-up.  In this case, the head and
-body are released, and de-registered for the folder.  You shall not call
-this yourself!
-
-=back
-
-$obj-E<gt>B<destruct>
-
-=over 4
-
-Remove the information contained in the message object.  This will be
-ignored when more than one reference to the same message object exists,
-because the method has the same effect as assigning C<undef> to the
-variable which contains the reference.  Normal garbage collection will
-call L<DESTROY()|Mail::Message/"Cleanup"> when possible.
-
-This method is only provided to hide differences with messages which are
-located in folders: their L<Mail::Box::Message::destruct()|Mail::Box::Message/"Cleanup"> works quite
-differently.
-
-I<Example:> of Mail::Message destruct
-
-
- my $msg = Mail::Message->read;
- $msg->destruct;
- $msg = undef;    # same
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot include forward source as $include.
-
-Unknown alternative for the L<forward(include)|Mail::Message::Construct::Forward/"Constructing a message">.  Valid choices are
-C<NO>, C<INLINE>, C<ATTACH>, and C<ENCAPSULATE>.
-
-I<Error:> Cannot include reply source as $include.
-
-Unknown alternative for the C<include> option of L<reply()|Mail::Message::Construct::Reply/"Constructing a message">.  Valid
-choices are C<NO>, C<INLINE>, and C<ATTACH>.
-
-I<Error:> No address to create forwarded to.
-
-If a forward message is created, a destination address must be specified.
-
-I<Error:> No default mailer found to send message.
-
-The message L<send()|Mail::Message/"The message"> mechanism had not enough information to automatically
-find a mail transfer agent to sent this message.  Specify a mailer
-explicitly using the C<via> options.
-
-I<Error:> Only build() Mail::Message's; they are not in a folder yet
-
-You may wish to construct a message to be stored in a some kind
-of folder, but you need to do that in two steps.  First, create a
-normal L<Mail::Message|Mail::Message>, and then add it to the folder.  During this
-L<Mail::Box::addMessage()|Mail::Box/"The folder"> process, the message will get L<coerce()|Mail::Message/"Internals">-d
-into the right message type, adding storage information and the like.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> bounce requires To, Cc, or Bcc
-
-The message L<bounce()|Mail::Message::Construct::Bounce/"Constructing a message"> method forwards a received message off to someone
-else without modification; you must specified it's new destination.
-If you have the urge not to specify any destination, you probably
-are looking for L<reply()|Mail::Message::Construct::Reply/"Constructing a message">. When you wish to modify the content, use
-L<forward()|Mail::Message::Construct::Forward/"Constructing a message">.
-
-I<Error:> forwardAttach requires a preamble object
-
-
-I<Error:> forwardEncapsulate requires a preamble object
-
-
-I<Error:> no rebuild rule $name defined.
-
-
-
-=head1 DETAILS
-
-
-=head2 Structure of a Message
-
-A MIME-compliant message is build upon two parts: the I<header> and the
-I<body>.
-
-=head3 The header
-
-The header is a list of fields, some spanning more than one line
-(I<folded>) each telling something about the message. Information stored
-in here are for instance the sender of the message, the receivers of
-the message, when it was transported, how it was transported, etc.
-Headers can grow quite large.
-
-In MailBox, each message object manages exactly one header object
-(a L<Mail::Message::Head|Mail::Message::Head>) and one body object (a L<Mail::Message::Body|Mail::Message::Body>).
-The header contains a list of header fields, which are represented by
-L<Mail::Message::Field|Mail::Message::Field> objects.
-
-=head3 The body
-
-The body contains the "payload": the data to be transfered.
-The data can be encoded, only accessible with a specific application,
-and may use some weird character-set, like Vietnamese; the MailBox
-distribution tries to assist you with handling these e-mails without
-the need to know all the details.  This additional information
-("meta-information") about the body data is stored in the header.
-The header contains more information, for instance about the message
-transport and relations to other messages.
-
-=head2 Message object implementation
-
-The general idea about the structure of a message is
-
- Mail::Message
-  |  |
-  |  `-has-one--Mail::Message::Body
-  |
-  `----has-one--Mail::Message::Head
-                  |
-                  `-has-many--Mail::Message::Field
-
-However: there are about 7 kinds of body objects, 3 kinds of headers and
-3 kinds of fields.  You will usually not see too much of these kinds,
-because they are merely created for performance reasons and can be used
-all the same, with the exception of the multipart bodies.
-
-A multipart body is either a L<Mail::Message::Body::Multipart|Mail::Message::Body::Multipart>
-(mime type C<multipart/*>) or a L<Mail::Message::Body::Nested|Mail::Message::Body::Nested>
-(mime type C<message/rfc822>).  These bodies are more complex:
-
- Mail::Message::Body::Multipart
-  |
-  `-has-many--Mail::Message::Part
-               |  |
-               |  `-has-one--Mail::Message::Body
-               |
-               `----has-one--Mail::Message::Head
-
-Before you try to reconstruct multiparts or nested messages yourself,
-you can better take a look at L<Mail::Message::Construct::Rebuild|Mail::Message::Construct::Rebuild>.
-
-=head2 Message class implementation
-
-The class structure of messages is very close to that of folders.  For
-instance, a L<Mail::Box::File::Message|Mail::Box::File::Message> relates to a L<Mail::Box::File|Mail::Box::File>
-folder.
-
-As extra level of inheritance, it has a L<Mail::Message|Mail::Message>, which
-is a message without location.  And there is a special case of
-message: L<Mail::Message::Part|Mail::Message::Part> is a message encapsulated in a
-multipart body.
-
-The message types are:
-
- Mail::Box::Mbox::Message            Mail::Box::POP3::Message
- |  Mail::Box::Dbx::Message      Mail::Box::IMAP4::Message  |
- |  |                                                    |  |
- Mail::Box::File::Message             Mail::Box::Net::Message
-         |                                      |
-         |       Mail::Box::Maildir::Message    |
-         |       |   Mail::Box::MH::Message     |
-         |       |   |                          |
-         |       Mail::Box::Dir::Message        |
-         |                |                     |
-         `------------.   |   .-----------------'
-                      |   |   |
-                   Mail::Box::Message    Mail::Message::Part
-                          |                     |
-                          |       .-------------'
-                          |       |
-                      Mail::Message
-                          |
-                          |
-                    Mail::Reporter (general base class)
-
-By far most folder features are implemented in L<Mail::Box|Mail::Box>, so
-available to all folder types.  Sometimes, features which appear
-in only some of the folder types are simulated for folders that miss
-them, like sub-folder support for MBOX.
-
-Two strange other message types are defined:
-the L<Mail::Message::Dummy|Mail::Message::Dummy>, which fills holes in
-L<Mail::Box::Thread::Node|Mail::Box::Thread::Node> lists, and a L<Mail::Box::Message::Destructed|Mail::Box::Message::Destructed>,
-this is an on purpose demolished message to reduce memory consumption.
-
-=head2 Labels
-
-Labels (also named "Flags") are used to indicate some special condition on
-the message, primary targeted on organizational issues: which messages are
-already read or should be deleted.  There is a very strong user relation
-to labels.
-
-The main complication is that each folder type has its own way of storing
-labels.  To give an indication: MBOX folders use C<Status> and C<X-Status>
-header fields, MH uses a C<.mh-sequences> file, MAILDIR encodes the flags
-in the message's filename, and IMAP has flags as part of the protocol.
-
-Besides, some folder types can store labels with user defined names,
-where other lack that feature.  Some folders have case-insensitive
-labels, other don't. Read all about the specifics in the manual page of
-the message type you actually have.
-
-=head3 Predefined labels
-
-To standardize the folder types, MailBox has defined the following labels,
-which can be used with the L<label()|Mail::Message/"Flags"> and L<labels()|Mail::Message/"Flags"> methods on all kinds
-of messages:
-
-=over 4
-
-=item * deleted
-
-This message is flagged to be deleted once the folder closes.  Be very
-careful about the concept of 'delete' in a folder context : it is only a
-flag, and does not involve immediate action!  This means, for instance,
-that the memory which is used by Perl to store the message is not released
-immediately (see L<destruct()|Mail::Message/"Cleanup"> if you need to).
-
-The methods L<delete()|Mail::Message/"Flags">, L<deleted()|Mail::Message/"Flags">, and L<isDeleted()|Mail::Message/"Flags"> are only
-short-cuts for managing the C<delete> label (as of MailBox 2.052).
-
-=item * draft
-
-The user has prepared this message, but is has not been send (yet).  This
-flag is not automatically added to a message by MailBox, and has only
-a meaning in user applications.
-
-=item * flagged
-
-Messages can be I<flagged> for some purpose, for instance as result of
-a search for spam in a folder.  The L<Mail::Box::messages()|Mail::Box/"The messages"> method
-can be used to collect all these flagged messages from the folder.
-
-Probably it is more useful to use an understandable name (like C<spam>)
-for these selections, however these self-defined labels can not stored
-in all folder types.
-
-=item * old
-
-The message was already in the folder when it was opened the last time,
-so was not recently added to the folder.  This flag will never automatically
-be set by MailBox, because it would probably conflict with the user's
-idea of what is old.
-
-=item * passed
-
-Not often used or kept, this flag indicates that the message was bounced
-or forwarded to someone else.
-
-=item * replied
-
-The user (or application) has sent a message back to the sender of
-the message, as response of this one.  This flag is automatically
-set if you use L<reply()|Mail::Message::Construct::Reply/"Constructing a message">, but not with L<forward()|Mail::Message::Construct::Forward/"Constructing a message"> or L<bounce()|Mail::Message::Construct::Bounce/"Constructing a message">.
-
-=item * seen
-
-When this flag is set, the receiver of the message has consumed the message.
-A mail user agent (MUA) will set this flag when the user has opened the
-message once.
-
-=back
-
-=head3 Status and X-Status fields
-
-Mbox folders have no special means of storing information about messages
-(except the message separator line), and therefore have to revert to
-adding fields to the message header when something special comes up.
-This feature is also enabled for POP3, although whether that works
-depends on the POP server.
-
-All applications which can handle mbox folders support the C<Status> and
-C<X-Status> field convensions.  The following encoding is used:
-
- Flag   Field       Label
- R      Status   => seen    (Read)
- O      Status   => old     (not recent)
- A      X-Status => replied (Answered)
- F      X-Status => flagged
-
-There is no special flag for C<deleted>, which most other folders support:
-messages flagged to be deleted will never be written to a folder file when
-it is closed.
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Message.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Message.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Reporter.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Reporter.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Reporter.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,240 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Reporter;
-use vars '$VERSION';
-$VERSION = '2.062';
-
-use Carp;
-use Scalar::Util 'dualvar';
-
-
-my @levelname = (undef, qw(DEBUG NOTICE PROGRESS WARNING ERROR NONE INTERNAL));
-
-my %levelprio = (ERRORS => 5, WARNINGS => 4, NOTICES => 2);
-for(my $l = 1; $l < @levelname; $l++)
-{   $levelprio{$levelname[$l]} = $l;
-    $levelprio{$l} = $l;
-}
-
-sub new(@)
-{   my $class = shift;
-#confess "Parameter list has odd length: @_" if @_ % 2;
-    (bless {}, $class)->init({@_});
-}
-
-my($default_log, $default_trace, $trace_callback);
-sub init($)
-{   my ($self, $args) = @_;
-    $self->{MR_log}   = $levelprio{$args->{log}   || $default_log};
-    $self->{MR_trace} = $levelprio{$args->{trace} || $default_trace};
-    $self;
-}
-
-#------------------------------------------
-
-
-sub _trace_warn($$$)
-{   my ($who, $level, $text) = @_;
-    warn "$level: $text\n";
-}
-
-sub defaultTrace(;$$)
-{   my $thing = shift;
-
-    return ($default_log, $default_trace)
-        unless @_;
-
-    my $level = shift;
-    my $prio  = $thing->logPriority($level)
-        or croak "Unknown trace-level $level.";
-
-    if( ! @_)
-    {   $default_log    = $default_trace = $prio;
-        $trace_callback = \&_trace_warn;
-    }
-    elsif(ref $_[0])
-    {   $default_log    = $thing->logPriority('NONE');
-        $default_trace  = $prio;
-        $trace_callback = shift;
-    }
-    else
-    {   $default_log    = $prio;
-        $default_trace  = $thing->logPriority(shift);
-        $trace_callback = \&_trace_warn;
-    }
-
-    ($default_log, $default_trace);
-}
-
-__PACKAGE__->defaultTrace('WARNINGS');
-
-#------------------------------------------
-
-
-sub trace(;$$)
-{   my $self = shift;
-
-    return $self->logPriority($self->{MR_trace})
-        unless @_;
-
-    my $level = shift;
-    my $prio  = $levelprio{$level}
-        or croak "Unknown trace-level $level.";
-
-    $self->{MR_trace} = $prio;
-}
-
-#------------------------------------------
-
-
-# Implementation detail: the Mail::Box::Parser::C code avoids calls back
-# to Perl by checking the trace-level itself.  In the perl code of this
-# module however, just always call the log() method, and let it check
-# whether or not to display it.
-
-sub log(;$@)
-{   my $thing = shift;
-
-    if(ref $thing)   # instance call
-    {   return $thing->logPriority($thing->{MR_log})
-            unless @_;
-
-        my $level = shift;
-        my $prio  = $levelprio{$level}
-            or croak "Unknown log-level $level";
-
-        return $thing->{MR_log} = $prio
-            unless @_;
-
-        my $text    = join '', @_;
-        $trace_callback->($thing, $level, $text)
-            if $prio >= $thing->{MR_trace};
-
-        push @{$thing->{MR_report}[$prio]}, $text
-            if $prio >= $thing->{MR_log};
-    }
-    else             # class method
-    {   my $level = shift;
-        my $prio  = $levelprio{$level}
-            or croak "Unknown log-level $level";
-
-        $trace_callback->($thing, $level, join('', at _)) 
-           if $prio >= $default_trace;
-    }
-
-    $thing;
-}
-
-
-#------------------------------------------
-
-
-sub report(;$)
-{   my $self    = shift;
-    my $reports = $self->{MR_report} || return ();
-
-    if(@_)
-    {   my $level = shift;
-        my $prio  = $levelprio{$level}
-            or croak "Unknown report level $level.";
-
-        return $reports->[$prio] ? @{$reports->[$prio]} : ();
-    }
-
-    my @reports;
-    for(my $prio = 1; $prio < @$reports; $prio++)
-    {   next unless $reports->[$prio];
-        my $level = $levelname[$prio];
-        push @reports, map { [ $level, $_ ] } @{$reports->[$prio]};
-    }
-
-    @reports;
-}
-
-#-------------------------------------------
-
-
-sub addReport($)
-{   my ($self, $other) = @_;
-    my $reports = $other->{MR_report} || return ();
-
-    for(my $prio = 1; $prio < @$reports; $prio++)
-    {   push @{$self->{MR_report}[$prio]}, @{$reports->[$prio]}
-            if exists $reports->[$prio];
-    }
-    $self;
-}
-    
-#-------------------------------------------
-
-
-sub reportAll(;$)
-{   my $self = shift;
-    map { [ $self, @$_ ] } $self->report(@_);
-}
-
-#-------------------------------------------
-
-
-sub errors(@)   {shift->report('ERRORS')}
-
-#-------------------------------------------
-
-
-sub warnings(@) {shift->report('WARNINGS')}
-
-#-------------------------------------------
-
-
-sub notImplemented(@)
-{   my $self    = shift;
-    my $package = ref $self || $self;
-    my $sub     = (caller 1)[3];
-
-    $self->log(ERROR => "Package $package does not implement $sub.");
-    confess "Please warn the author, this shouldn't happen.";
-}
-
-#------------------------------------------
-
-
-sub logPriority($)
-{   my $level = $levelprio{$_[1]} or return undef;
-    dualvar $level, $levelname[$level];
-}
-
-#-------------------------------------------
-
-
-sub logSettings()
-{  my $self = shift;
-   (log => $self->{MR_log}, trace => $self->{MR_trace});
-}
-
-#-------------------------------------------
-
-
-sub AUTOLOAD(@)
-{   my $thing   = shift;
-    our $AUTOLOAD;
-    my $class   = ref $thing || $thing;
-    (my $method = $AUTOLOAD) =~ s/^.*\:\://;
-
-    $Carp::MaxArgLen=20;
-    confess "Method $method() is not defined for a $class.\n";
-}
-
-#-------------------------------------------
-
-
-my $global_destruction;
-END {$global_destruction++}
-sub inGlobalDestruction() {$global_destruction}
-
-#-------------------------------------------
-
-
-sub DESTROY {shift}
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Reporter.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Reporter.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Reporter.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Reporter.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Reporter.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,368 +0,0 @@
-
-=head1 NAME
-
-Mail::Reporter - base-class and error reporter for Mail::Box
-
-
-
-=head1 SYNOPSIS
-
- $folder->log(WARNING => 'go away');
- print $folder->trace;        # current level
- $folder->trace('PROGRESS');  # set level
- print $folder->errors;
- print $folder->report('PROGRESS');
-
-
-=head1 DESCRIPTION
-
-The C<Mail::Reporter> class is the base class for all classes, except
-L<Mail::Message::Field::Fast|Mail::Message::Field::Fast> because it would become slow...  This
-base class is used during initiation of the objects, and for configuring
-and logging error messages.
-
-
-
-=head1 METHODS
-
-The C<Mail::Reporter> class is the base for nearly all other
-objects.  It can store and report problems, and contains the general
-constructor L<new()|Mail::Reporter/"Constructors">.
-
-=head2 Constructors
-
-
-Mail::Reporter-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-This error container is also the base constructor for all modules, (as long
-as there is no need for an other base object)  The constructor always accepts
-the following OPTIONS related to error reports.
-
- Option  Defined in       Default      
- log                      C<'WARNINGS'>
- trace                    C<'WARNINGS'>
-
-. log LEVEL
-
-=over 4
-
-Log messages which have a priority higher or equal to the specified
-level are stored internally and can be retrieved later.  The global
-default for this option can be changed with L<defaultTrace()|Mail::Reporter/"Error handling">.
-
-Known levels are C<INTERNAL>, C<ERRORS>, C<WARNINGS>, C<PROGRESS>,
-C<NOTICES> C<DEBUG>, and C<NONE>.  The C<PROGRESS> level relates to
-the reading and writing of folders.  C<NONE> will cause only C<INTERNAL>
-errors to be logged.
-By the way: C<ERROR> is an alias for C<ERRORS>, as C<WARNING> is an alias
-for C<WARNINGS>, and C<NOTICE> for C<NOTICES>.
-
-=back
-
-. trace LEVEL
-
-=over 4
-
-Trace messages which have a level higher or equal to the specified level
-are directly printed using warn.  The global default for this option can
-be changed with L<defaultTrace()|Mail::Reporter/"Error handling">.
-
-=back
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-By default, produce a nice warning if the sub-classes cannot resolve
-a method.
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-Add the report from other OBJECT to the report of this object. This is
-useful when complex actions use temporary objects which are not returned
-to the main application but where the main application would like to know
-about any problems.
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Reporter-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-Reports the default log and trace level which is used for object as list
-of two elements.  When not explicitly set, both are set to C<WARNINGS>.
-
-This method has three different uses. When one argument is specified, that
-LEVEL is set for both loglevel as tracelevel.
-
-With two arguments, the second determines which configuration you like.  If
-the second argument is a CODE reference, you install a CALLBACK.  The loglevel
-will be set to NONE, and all warnings produced in your program will get
-passed to the CALLBACK function.  That function will get the problem level,
-the object or class which reports the problem, and the problem text passed
-as arguments.
-
-In any case two values are returned: the first is the log level, the
-second represents the trace level.  Both are special variables: in numeric
-context they deliver a value (the internally used value), and in string
-context the string name.  Be warned that the string is always in singular
-form!
-
-I<Example:> setting loglevels
-
-
- my ($loglevel, $tracelevel) = Mail::Reporter->defaultTrace;
- Mail::Reporter->defaultTrace('NOTICES');
-
- my ($l, $t) = Mail::Reporter->defaultTrace('WARNINGS', 'DEBUG');
- print $l;     # prints "WARNING"  (no S!)
- print $l+0;   # prints "4"
- print "Auch" if $l >= $self->logPriority('ERROR');
-
- Mail::Reporter->defaultTrace('NONE');  # silence all reports
-
- $folder->defaultTrace('DEBUG');   # Still set as global default!
- $folder->trace('DEBUG');          # local default
-
-I<Example:> installing a callback
-
-
- Mail::Reporter->defaultTrace
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-Equivalent to
-
- $folder->report('ERRORS')
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Reporter-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-As instance method this function has three different purposes.  Without
-any argument, it returns one scalar containing the number which is internally
-used to represent the current log level, and the textual representation of
-the string at the same time. See Scalar::Util method C<dualvar> for
-an explanation.
-
-With one argument, a new level of logging detail is set (specify a number
-of one of the predefined strings).  With more arguments, it is a report
-which may need to be logged or traced.
-
-As class method, only a message can be passed.  The global configuration
-value set with L<defaultTrace()|Mail::Reporter/"Error handling"> is used to decide whether the message is
-shown or ignored.
-
-Each log-entry has a LEVEL and a text string which will
-be constructed by joining the STRINGS.  If there is no newline, it will
-be added.
-
-I<Example:> 
-
- print $message->log;      # may print "NOTICE"
- print $message->log +0;   # may print "3"
- $message->log('ERRORS');  # sets a new level, returns the numeric value
-
- $message->log(WARNING => "This message is too large.");
- $folder ->log(NOTICE  => "Cannot read from file $filename.");
- $manager->log(DEBUG   => "Hi there!", reverse sort @l);
-
- Mail::Message->log(ERROR => 'Unknown');
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Reporter-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-One error level (log or trace) has more than one representation: a
-numeric value and one or more strings.  For instance, C<4>, C<'WARNING'>,
-and C<'WARNINGS'> are all the same.  You can specify any of these,
-and in return you get a dualvar (see Scalar::Util method C<dualvar>)
-back, which contains the number and the singular form.
-
-The higher the number, the more important the message.
-Only messages about C<INTERNAL> problems are more important than C<NONE>.
-
-I<Example:> 
-
- my $r = Mail::Reporter->logPriority('WARNINGS');
- my $r = Mail::Reporter->logPriority('WARNING');    # same
- my $r = Mail::Reporter->logPriority(4);            # same, deprecated
- print $r;      # prints 'WARNING'  (no S!)
- print $r + 0;  # prints 4
- if($r < Mail::Reporter->logPriority('ERROR')) {..} # true
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-Returns a list of C<(key => value)> pairs which can be used to initiate
-a new object with the same log-settings as this one.
-
-I<Example:> 
-
- $head->new($folder->logSettings);
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-A special case of L<log()|Mail::Reporter/"Error handling">, which logs a C<INTERNAL>-error
-and then croaks.  This is used by extension writers.
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-Get logged reports, as list of strings.  If a LEVEL is specified, the log
-for that level is returned.
-
-In case no LEVEL is specified, you get all messages each as reference
-to a tuple with level and message.
-
-I<Example:> 
-
- my @warns = $message->report('WARNINGS');
-   # previous indirectly callable with
-   my @warns = $msg->warnings;
-
- print $folder->report('ERRORS');
-
- if($folder->report('DEBUG')) {...}
-
- my @reports = $folder->report;
- foreach (@reports) {
-    my ($level, $text) = @$_;
-    print "$level report: $text";
- }
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-Report all messages which were produced by this object and all the objects
-which are maintained by this object.  This will return a list of triplets,
-each containing a reference to the object which caught the report, the
-level of the report, and the message.
-
-I<Example:> 
-
- my $folder = Mail::Box::Manager->new->open(folder => 'inbox');
- my @reports = $folder->reportAll;
- foreach (@reports) {
-    my ($object, $level, $text) = @$_;
-
-    if($object->isa('Mail::Box')) {
-       print "Folder $object: $level: $message";
-    } elsif($object->isa('Mail::Message') {
-       print "Message ".$object->seqnr.": $level: $message";
-    }
- }
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-Change the trace LEVEL of the object. When no arguments are specified, the
-current level is returned only.  It will be returned in one scalar which
-contains both the number which is internally used to represent the level,
-and the string which represents it.  See L<logPriority()|Mail::Reporter/"Error handling">.
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-Equivalent to
-
- $folder->report('WARNINGS')
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-Cleanup the object.
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-Returns whether the program is breaking down.  This is used in L<DESTROY()|Mail::Reporter/"Cleanup">,
-where during global destructions references cannot be used.
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Reporter.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Reporter.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/Fetch.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Server/IMAP4/Fetch.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/Fetch.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,289 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Server::IMAP4::Fetch;
-use vars '$VERSION';
-$VERSION = '2.062';
-
-use Date::Parse;
-use Digest::MD5   qw/md5_base64/;
-
-
-sub new($)
-{   my ($class, $part, %args) = @_;
-
-    my $head  = $part->head;
-    my $body  = $part->body;
-    
-    my $type  = $body->type;
-
-    my $self  = bless
-      { type        => $type->body
-      , typeattr    => [ $type->attributes ]
-      , charset     => $body->charset
-      , bodylines   => $body->nrLines
-      , bodysize    => $body->size
-      }, $class;
-
-    $self->{headbegin} = ($head->fileLocation)[0];
-    @{$self}{qw/bodybegin bodyend/} = $body->fileLocation;
-
-    # The fields use the defined() check, to avoid accidental expensive
-    # stringification by the field objects.
-
-    my ($field, $value);
-    $self->{date}         = $field->unfoldedBody
-        if defined($field = $head->get('Date'));
-
-    $self->{subject}      = $field->unfoldedBody
-        if defined($field = $head->get('Subject'));
-
-    $self->{description}  = $field->unfoldedBody
-        if defined($field = $head->get('Content-Description'));
-
-    $self->{language}     = $field->unfoldedBody
-        if defined($field = $head->get('Content-Language'));
-
-    $self->{filename}     = $value
-        if defined($value = $body->dispositionFilename);
-
-    $self->{bodyMD5}      = md5_base64($body->string)
-        if $args{md5checksums};
-
-    if(defined($field = $body->transferEncoding))
-    {   my $tf            = $field->unfoldedBody;
-        $self->{transferenc} = $tf unless $tf eq 'none';
-    }
-
-# Should become:
-#   $self->{disposition} = [ $field->body, $field->study->attributes ]
-    if(defined($field = $body->disposition))
-    {   my $how = $field->body;
-        $how = $body->isText ? 'inline' : 'attachment' if $how eq 'none';
-        $self->{disposition} = [ $how, $field->attributes ];
-    }
-    else
-    {   $self->{disposition} = [ ($body->isText ? 'inline' : 'attachment') ];
-    }
-
-    my $id = $head->get('Content-Message-ID') || $head->get("Message-ID");
-    if(defined $id)
-    {   my $msgid = $id->unfoldedBody;
-        $msgid =~ s/^\<*/</;
-        $msgid =~ s/\>*$/>/;
-        $self->{messageid} = $msgid if length $msgid;
-    }
-
-    foreach my $addr ( qw/to from sender reply-to cc bcc/ )
-    {   my $addrs = $head->study($addr) or next;
-        foreach my $group ($addrs->groups)
-        {   my @addrs = map { [ $_->phrase, $_->username, $_->domain ] }
-               $group->addresses;
-
-            push @{$self->{$addr}}, [ $group->name, @addrs ];
-        }
-    }
-
-    if($body->isMultipart)
-    {   $self->{parts} = [ map { $class->new($_) } $body->parts ];
-    }
-    elsif($body->isNested)
-    {   $self->{nest}  = $class->new($body->nested);
-    }
-
-    $self;
-}
-
-#------------------------------------------
-
-
-sub headLocation() { @{ (shift) }{ qw/headbegin bodybegin/ } }
-sub bodyLocation() { @{ (shift) }{ qw/bodybegin bodyend/ } }
-sub partLocation() { @{ (shift) }{ qw/headbegin bodyend/ } }
-
-#------------------------------------------
-
-
-sub fetchBody($)
-{   my ($self, $extended) = @_;
-
-    my $type = uc $self->{type};
-    my ($mediatype, $subtype) = split m[/], $type;
-
-    if($self->{parts})
-    {   # Multipart message
-        # WARNING: no blanks between part descriptions
-        my $parts  = join '', map {$_->fetchBody($extended)} @{$self->{parts}};
-        my @fields = (\$parts, $subtype || 'MIXED');
-
-        if($extended)     # only included when any valid info
-        {   my @attr;     # don't know what to include here
-            my @disp;     # don't know about this either
-
-            push @fields, \@attr, \@disp, $self->{language}
-                if @attr || @disp || defined $self->{language};
-        }
-
-        return $self->_imapList(@fields);
-    }
-
-    #
-    # Simple message
-    #
-
-    my @fields = ( ($mediatype || 'TEXT')
-                 , ($subtype   || 'PLAIN')
-                 , $self->{typeattr}
-                 , $self->{messageid}
-                 , $self->{description}
-                 , uc($self->{transferenc} || '8BIT')
-                 , \($self->{bodysize})
-                 );
-
-    if(my $nest = $self->{nest})
-    {   # type MESSAGE (message/rfc822 encapsulated)
-        push @fields, \$nest->fetchEnvelope,
-                    , \$nest->fetchBody($extended);
-    }
-
-    push @fields, \$self->{bodylines};
-
-    if(   $extended
-       && ($self->{bodyMD5} || $self->{disposition} || $self->{language})
-      )
-    {   push @fields, @{$self}{ qw/bodyMD5 disposition language/ };
-    }
-
-    $self->_imapList(@fields);
-}
-
-#------------------------------------------
-
-
-sub fetchEnvelope()
-{   my $self   = shift;
-    my @fields = ($self->{date}, $self->{subject});
-
-    foreach my $addr ( qw/from sender reply-to to cc bcc/ )
-    {   unless($self->{$addr})
-        {   push @fields, undef;  # NIL
-            next;
-        }
-
-        # For now, group information is ignored... RFC2060 is very
-        # unclear about it... and seems incompatible with RFC2822
-        my $addresses = '';
-        foreach my $group (@{$self->{$addr}})
-        {   my ($name, @addr) = @$group;
-
-            # addr_adl is obsoleted by rfc2822
-            $addresses .= $self->_imapList($_->[0], undef, $_->[1], $_->[2])
-               foreach @addr;
-        }
-
-        push @fields, \$addresses;
-    }
-
-    push @fields, $self->{'in-reply-to'}, $self->{messageid};
-
-    $self->_imapList(@fields);
-}
-
-#------------------------------------------
-
-
-sub fetchSize() { shift->{bodysize} }
-
-#------------------------------------------
-
-
-sub part(;$)
-{   my $self = shift;
-    my $nr   = shift or return $self;
-
-    my @nrs  = split /\./, $nr;
-    while(@nrs)
-    {   my $take = shift @nrs;
-        if(exists $self->{nest} && $take==1)
-	{   $self = $self->{nest} }
-	elsif(exists $self->{parts} && @{$self->{parts}} >= $take)
-	{   $self = $self->{parts}[$take-1] }
-	else { return undef }
-    }
-
-    $self;
-}
-
-#------------------------------------------
-
-
-sub printStructure(;$$)
-{   my $self    = shift;
-
-    my $fh      = @_ ? shift : select;
-    my $number  = @_ ? shift : '';
-
-    my $buffer;   # only filled if filehandle==undef
-    open $fh, '>', \$buffer unless defined $fh;
-
-    my $type    = $self->{type};
-    my $subject = $self->{subject} || '';
-    my $text    = "$number $type: $subject\n";
-
-    my $hbegin  = $self->{headbegin} || 0;
-    my $bbegin  = $self->{bodybegin} || '?';
-    my $bodyend = $self->{bodyend}   || '?';
-    my $size    = defined $self->{bodysize}  ? $self->{bodysize}  : '?';
-    my $lines   = defined $self->{bodylines} ? $self->{bodylines} : '?';
-
-    $text      .= ' ' x (length($number) + 1);
-    $text      .= "@ $hbegin-$bbegin-$bodyend, $size bytes, $lines lines\n";
-
-    ref $fh eq 'GLOB' ? (print $fh $text) : $fh->print($text);
-
-    if($self->{nest})
-    {   $self->{nest}->printStructure($fh, length($number) ? $number.'.1' :'1');
-    }
-    elsif($self->{parts})
-    {   my $count = 1;
-        $number  .= '.' if length $number;
-        $_->printStructure($fh, $number.$count++)
-           foreach @{$self->{parts}};
-    }
-
-    $buffer;
-}
-
-#------------------------------------------
-
-
-# Concatenate the elements of a list, as the IMAP protocol does.
-# ARRAYS are included a sublist, and normal strings get quoted.
-# Pass a ref-scalar if something needs to be included without
-# quoting.
-
-sub _imapList(@)
-{   my $self = shift;
-    my @f;
-
-    foreach (@_)
-    {      if(ref $_ eq 'ARRAY')  { push @f, $self->_imapList(@$_) }
-        elsif(ref $_ eq 'SCALAR') { push @f, ${$_} }
-        elsif(!defined $_)        { push @f, 'NIL' }
-        else
-        {    my $copy = $_;
-             $copy =~ s/\\/\\\\/g;
-             $copy =~ s/\"/\\"/g;
-             push @f, qq#"$_"#;
-        }
-    }
-
-    local $" = ' ';
-    "(@f)";
-}
-
-#------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/Fetch.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Server/IMAP4/Fetch.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/Fetch.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Server/IMAP4/Fetch.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/Fetch.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,166 +0,0 @@
-
-=head1 NAME
-
-Mail::Server::IMAP4::Fetch - message info for IMAP protocol speed-up
-
-
-
-=head1 SYNOPSIS
-
- my $imap = Mail::Server::IMAP4::Fetch->new($msg);
- print $imap->fetchBody(1);   # for FETCH BODYSTRUCTURE
- print $imap->fetchBody;      # for FETCH BODY
- print $imap->fetchEnvelope;  # for FETCH ENVELOPE
- print $imap->fetchSize;
-
-
-=head1 DESCRIPTION
-
-Create a new object hierarchy, which contains information to capture
-the most important details about the message.  The object can be used
-to speed-up IMAP-server implementations, as L<Mail::Box::Netzwert>.
-
-The object used here is a simplified representation of a
-L<Mail::Box::Message|Mail::Box::Message> object.  It does not maintain headers and does
-not refer to the folder.  It only works with messages stored in a file.
-Therefore, this object can be frozen by L<Storable> if you want to.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Server::IMAP4::Fetch-E<gt>B<new>(MESSAGE|PART, OPTIONS)
-
-=over 4
-
- Option        Defined in  Default
- md5checksums              0      
-
-. md5checksums BOOLEAN
-
-=back
-
-=head2 Attributes
-
-
-$obj-E<gt>B<bodyLocation>
-
-=over 4
-
-=back
-
-$obj-E<gt>B<headLocation>
-
-=over 4
-
-=back
-
-$obj-E<gt>B<partLocation>
-
-=over 4
-
-=back
-
-=head2 IMAP Commands
-
-
-$obj-E<gt>B<fetchBody>(EXTENDED)
-
-=over 4
-
-Returns one string, representing the message's structure as defined by
-the IMAP protocol.  The boolean argument indicates whether you like to
-have the EXTENDED information, as the imap command 'FETCH BODYSTRUCTURE'
-defines or the limited information of 'FETCH BODY'.
-
-=back
-
-$obj-E<gt>B<fetchEnvelope>
-
-=over 4
-
-Returns a string representation of some header information.
-
-=back
-
-$obj-E<gt>B<fetchSize>
-
-=over 4
-
-Returns the size of the message body.
-
-=back
-
-$obj-E<gt>B<part>([PARTNR])
-
-=over 4
-
-The partnummer is a list of dot-separated positive integers, numbering
-(nested) parts in multi-part message bodies.  By default, the info of
-the main message is returned.
-
-I<Example:> 
-
- my $partinfo = $msg->info->part('1.2.1');
- print $msg->info->part('3.3')->fetchBody;
-
-=back
-
-$obj-E<gt>B<printStructure>([FILEHANDLE|undef, [NUMBER]])
-
-=over 4
-
-Print the structure of the fetch data to the specified FILEHANDLE or the
-selected filehandle.  When explicitly C<undef> is specified as handle,
-then the output will be returned as string.  
-Only a limited set of the information is displayed.
-
-I<Example:> 
-
- my $imap = ...;
- $imap->printStructure(\*OUTPUT);
- $imap->printStructure;
- my $struct = $imap->printStructure(undef);
-
-=back
-
-=head2 Internals
-
-
-
-
-
-=head1 DETAILS
-
-See
-
-=over 4
-
-=item RFC2060: "Internet Message Access Protocol IMAP4v1" section 7.4.2
-
-=item RFC2045: "MIME Part One: Format of Internet Message Bodies".
-=back
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/Fetch.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Server/IMAP4/Fetch.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/List.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Server/IMAP4/List.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/List.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,118 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Server::IMAP4::List;
-use vars '$VERSION';
-$VERSION = '2.062';
-
-
-sub new($)
-{   my ($class, %args) = @_;
-
-    my $self = bless {}, $class;
-
-    my $user = $self->{MSIL_user}  = $args{user};
-    $self->{MSIL_folders} = $args{folders};
-    $self->{MSIL_inbox}   = $args{inbox};
-    $self->{MSIL_delim}   = exists $args{delimiter} ? $args{delimiter} : '/';
-    $self;
-}
-
-#------------------------------------------
-
-
-sub delimiter(;$)
-{   my $delim = shift->{MSIL_delim};
-    ref $delim ? $delim->(shift) : $delim;
-}
-
-#------------------------------------------
-
-
-sub user() { shift->{MSIL_user} }
-
-#------------------------------------------
-
-
-sub folders()
-{   my $self = shift;
-    $self->{MSIL_folders} || $self->user->topfolder;
-}
-
-#------------------------------------------
-
-
-sub inbox()
-{   my $self = shift;
-    $self->{MSIL_inbox} || $self->user->inbox;
-}
-
-#------------------------------------------
-
-
-sub list($$)
-{   my ($self, $base, $pattern) = @_;
-    
-    return [ '(\Noselect)', $self->delimiter($base), '' ]
-       if $pattern eq '';
-
-    my $delim  = $self->delimiter($base);
-    my @path   = split $delim, $base;
-    my $folder = $self->folders;
-
-    while(@path && defined $folder)
-    {   $folder = $folder->folder(shift @path);
-    }
-    defined $folder or return ();
-
-    my @pattern = split $delim, $pattern;
-    return $self->_list($folder, $delim, @pattern);
-}
-
-sub _list($$@)
-{   my ($self, $folder, $delim) = (shift, shift, shift);
-
-    if(!@_)
-    {   my @flags;
-        push @flags, '\Noselect'
-           if $folder->onlySubfolders || $folder->deleted;
-
-        push @flags, '\Noinferiors' unless $folder->inferiors;
-        my $marked = $folder->marked;
-        push @flags, ($marked ? '\Marked' : '\Unmarked')
-            if defined $marked;
-
-        local $" = ' ';
-
-        # This is not always correct... should compose the name from the
-        # parts... but in nearly all cases, the following is sufficient.
-        my $name = $folder->fullname;
-        for($name)
-        {    s/^=//;
-             s![/\\]!$delim!g;
-        }
-        return [ "(@flags)", $delim, $name ];
-    }
-
-    my $pat = shift;
-    if($pat eq '%')
-    {   my $subs = $folder->subfolders
-             or return $self->_list($folder, $delim);
-        return map { $self->_list($_, $delim, @_) } $subs->sorted;
-    }
-
-    if($pat eq '*')
-    {   my @own = $self->_list($folder, $delim, @_);
-        my $subs = $folder->subfolders or return @own;
-        return @own, map { $self->_list($_, $delim, '*', @_) } $subs->sorted;
-    }
-
-    $folder = $folder->find(subfolders => $pat) or return ();
-    $self->_list($folder, $delim, @_);
-}
-
-#------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/List.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Server/IMAP4/List.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/List.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Server/IMAP4/List.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/List.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,199 +0,0 @@
-
-=head1 NAME
-
-Mail::Server::IMAP4::List - folder related IMAP4 answers
-
-
-
-=head1 SYNOPSIS
-
- my $imap = Mail::Server::IMAP4::List->new
-   ( folders   => $folders   # Mail::Box::Identity
-   , inbox     => $inbox     # Mail::Box
-   , delimiter => '#'
-   );
-
- my $imap = Mail::Server::IMAP4::List->new(user => $user);
- print $imap->list(...);        # for LIST command
-
-
-=head1 DESCRIPTION
-
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Server::IMAP4::List-E<gt>B<new>(USER)
-
-=over 4
-
-Create a (temporary) object to handle the LIST requests for
-a certain user, based upon a set of folders.  The data is kept by
-L<Mail::Box::Identity|Mail::Box::Identity> and L<Mail::Box::Collection|Mail::Box::Collection> objects, which
-mean that the folders will not be opened to answer these questions.
-
- Option     Defined in       Default    
- delimeter                   '/'        
- folders                     <from user>
- inbox                       <from user>
- user                        <undef>    
-
-. delimeter STRING|CODE
-
-=over 4
-
-Either the constant delimiter, or a code reference which will get passed
-a folder name and should return the delimiter string used in that name.
-If that folder name is empty, the default delimiter must be reported.
-See L<delimiter()|Mail::Server::IMAP4::List/"Attributes"> for an example.
-
-=back
-
-. folders OBJECT
-
-=over 4
-
-You need to specify either a set of folders explicitly or via the
-user. Some L<Mail::Box::Identity|Mail::Box::Identity> OBJECT is needed.
-
-=back
-
-. inbox BOOLEAN
-
-=over 4
-
-For now, only used to see whether there is an inbox, so a truth value will
-do.  This may change in the future.  By default, the flag is set if
-C<$user->inbox> is defined.
-
-=back
-
-. user OBJECT
-
-=over 4
-
-A L<Mail::Box::Manage::User|Mail::Box::Manage::User> OBJECT, representing the user who's folders
-must get reported.
-
-=back
-
-=back
-
-=head2 Attributes
-
-
-$obj-E<gt>B<delimiter>([FOLDERNAME])
-
-=over 4
-
-Returns the delimiter string.  The foldername is only required when a
-CODE reference was specified at initiation.
-
-I<Example:> setting-up an IMAP4 delimeter
-
-
- sub delim($)
- {   my $path = shift;
-     my ($delim, $root)
-       = $path =~ m/^(#news\.)/ ? ('.', $1)
-       = $path =~ m!^/!         ? ('/', '/')
-       :                          ('/', '');
-
-     wantarray ? ($delim, $root) : $delim;
- }
-
- my $list = Mail::Server::IMAP4::List->new(delimiter => \&delim, ...);
- print $list->delimiter('abc/xyz');      # returns a / (slash) and ''
- print $list->delimiter('#news.feed');   # returns a . (dot)   and $news.
- print $list->delimiter('');             # returns default delimiter
-
-=back
-
-$obj-E<gt>B<folders>
-
-=over 4
-
-Returns the L<Mail::Box::Identity|Mail::Box::Identity> of the toplevel folder.
-
-=back
-
-$obj-E<gt>B<inbox>
-
-=over 4
-
-Returns the L<Mail::Box|Mail::Box> or filename of the INBOX.
-
-=back
-
-$obj-E<gt>B<user>
-
-=over 4
-
-Returns the L<Mail::Box::Manage::User|Mail::Box::Manage::User> object, if defined.
-
-=back
-
-=head2 IMAP Commands
-
-
-$obj-E<gt>B<list>(BASE, PATTERN)
-
-=over 4
-
-IMAP's LIST command.  The request must be partially decoded, the answer
-will need to be encoded.
-
-I<Example:> using IMAP list
-
-
- my $imap  = Mail::Server::IMAP4::List->new(delimiter => \&delim, ...);
- local $"  = ';';
-
- my @lines = $imap->list('', '');  # returns the default delimiter
- print ">@{$lines[0]}<";           #  >(\Noselect);/;<
-
- my @lines = $imap->list('#news',''); # specific delimiter
- print ">@{$lines[0]}<";           #  >(\Noselect);.;<
-
- my @lines = $imap->list('top/x/', '%');
- print ">@$_<," foreach @lines;    #  >();/;/tmp/x/y<,>(\Marked);/;/tmp/x/z<
-
-=back
-
-
-
-
-=head1 DETAILS
-
-See
-
-=over 4
-=item RFC2060: "Internet Message Access Protocol IMAP4v1"
-
-sections 6.3.8 (LIST question) and 7.2.2 (LIST answer)
-=back
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/List.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Server/IMAP4/List.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/Search.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Server/IMAP4/Search.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/Search.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,18 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Server::IMAP4::Search;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Box::Search';
-
-
-sub init($)
-{   my ($self, $args) = @_;
-    $self->notImplemented;
-}
-
-#-------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/Search.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Server/IMAP4/Search.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/Search.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Server/IMAP4/Search.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/Search.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,285 +0,0 @@
-
-=head1 NAME
-
-Mail::Server::IMAP4::Search - select messages within a IMAP folder (not completed)
-
-
-=head1 INHERITANCE
-
- Mail::Server::IMAP4::Search
-   is a Mail::Box::Search
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- use Mail::Box::Manager;
- my $mgr    = Mail::Box::Manager->new;
- my $folder = $mgr->open('imap4:Inbox');
-
- my $filter = Mail::Server::IMAP4::Search->new
-    (  ...to be defined...
-    );
-
- my @msgs   = $filter->search($folder);
- if($filter->search($message)) {...}
-
-
-=head1 DESCRIPTION
-
-THIS PACKAGES IS NOT IMPLEMENTED YET...  (it's waiting for a volunteer)
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Server::IMAP4::Search-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option      Defined in       Default      
- binaries    L<Mail::Box::Search>  <false>      
- decode      L<Mail::Box::Search>  <true>       
- delayed     L<Mail::Box::Search>  <true>       
- deleted     L<Mail::Box::Search>  <false>      
- deliver     L<Mail::Box::Search>  undef        
- in          L<Mail::Box::Search>  C<'BODY'>    
- label       L<Mail::Box::Search>  undef        
- limit       L<Mail::Box::Search>  C<0>         
- log         L<Mail::Reporter>  C<'WARNINGS'>
- logical     L<Mail::Box::Search>  C<'REPLACE'> 
- multiparts  L<Mail::Box::Search>  <true>       
- trace       L<Mail::Reporter>  C<'WARNINGS'>
-
-. binaries BOOLEAN
-
-. decode BOOLEAN
-
-. delayed BOOLEAN
-
-. deleted BOOLEAN
-
-. deliver undef|CODE|'DELETE'
-
-. in 'HEAD'|'BODY'|'MESSAGE'
-
-. label STRING
-
-. limit NUMBER
-
-. log LEVEL
-
-. logical 'REPLACE'|'AND'|'OR'|'NOT'|'AND NOT'|'OR NOT'
-
-. multiparts BOOLEAN
-
-. trace LEVEL
-
-=back
-
-=head2 Searching
-
-
-$obj-E<gt>B<inBody>(PART, BODY)
-
-=over 4
-
-See L<Mail::Box::Search/"Searching">
-
-=back
-
-$obj-E<gt>B<inHead>(PART, HEAD)
-
-=over 4
-
-See L<Mail::Box::Search/"Searching">
-
-=back
-
-$obj-E<gt>B<search>(FOLDER|THREAD|MESSAGE|ARRAY-OF-MESSAGES)
-
-=over 4
-
-See L<Mail::Box::Search/"Searching">
-
-=back
-
-$obj-E<gt>B<searchPart>(PART)
-
-=over 4
-
-See L<Mail::Box::Search/"Searching">
-
-=back
-
-=head2 The Results
-
-
-$obj-E<gt>B<printMatch>([FILEHANDLE], HASH)
-
-=over 4
-
-See L<Mail::Box::Search/"The Results">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Server::IMAP4::Search-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Server::IMAP4::Search-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Server::IMAP4::Search-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4/Search.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Server/IMAP4/Search.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Server/IMAP4.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,19 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Server::IMAP4;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Server';
-
-use Mail::Server::IMAP4::List;
-use Mail::Server::IMAP4::Fetch;
-use Mail::Server::IMAP4::Search;
-use Mail::Transport::IMAP4;
-
-
-#-------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Server/IMAP4.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Server/IMAP4.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,226 +0,0 @@
-
-=head1 NAME
-
-Mail::Server::IMAP4 - IMAP4 server implementation (not completed)
-
-
-=head1 INHERITANCE
-
- Mail::Server::IMAP4
-   is a Mail::Server
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- !!!Partially implemented!!!!
- my $server = Mail::Server::IMAP4->new($msg);
-
-
-=head1 DESCRIPTION
-
-This module is a place-holder, which can be used to grow code which
-is needed to implement a full IMAP4 server.
-
-Although the server is not implemented, parts of this server are
-already available.
-
-=over 4
-
-=item * L<Mail::Server::IMAP4::Fetch|Mail::Server::IMAP4::Fetch>
-
-used to capture "FETCH" related information from a message, and produce
-server-side FETCH answers.
-
-=item * L<Mail::Server::IMAP4::List|Mail::Server::IMAP4::List>
-
-produce LIST reponses about existing folders.  This works
-in combination with a L<Mail::Box::Manage::User|Mail::Box::Manage::User> object.
-
-=item * L<Mail::Server::IMAP4::Search|Mail::Server::IMAP4::Search>
-
-
-the SEARCH request.  Not implemented yet... looking for a volunteer.
-=back
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Server::IMAP4-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-See L<Mail::Reporter/"Constructors">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Server::IMAP4-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Server::IMAP4-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Server::IMAP4-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-=head1 DETAILS
-
-See
-
-=over 4
-
-=item RFC2060: "Internet Message Access Protocol IMAP4v1"
-=back
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server/IMAP4.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Server/IMAP4.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Server.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,11 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Server;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Reporter';
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Server.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Server.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,212 +0,0 @@
-
-=head1 NAME
-
-Mail::Server - Base class for email servers in MailBox
-
-
-=head1 INHERITANCE
-
- Mail::Server
-   is a Mail::Reporter
-
- Mail::Server is extended by
-   Mail::Server::IMAP4
-
-
-=head1 SYNOPSIS
-
- my $server = Mail::Server::IMAP4->new($msg);
- my $server = Mail::Server::POP3->new($msg);
-
-
-=head1 DESCRIPTION
-
-This module is a place-holder, logical in the class hierarchy.  On the
-moment, no full server has been implemented, but some parts of IMAP4
-exist.
-
-Servers:
-
-=over 4
-
-=item * L<Mail::Server::IMAP4|Mail::Server::IMAP4>
-
-
-Partial IMAP4 implementation.
-=back
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Server-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-See L<Mail::Reporter/"Constructors">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Server-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Server-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Server-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-=head1 DETAILS
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Server.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Server.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Exim.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Transport/Exim.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Exim.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,58 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Transport::Exim;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Transport::Send';
-
-use Carp;
-
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    $args->{via} = 'exim';
-
-    $self->SUPER::init($args) or return;
-
-    $self->{MTS_program}
-      = $args->{proxy}
-     || ( -x '/usr/sbin/exim4' ? '/usr/sbin/exim4' : undef)
-     || $self->findBinary('exim', '/usr/exim/bin')
-     || return;
-
-    $self;
-}
-
-#------------------------------------------
-
-
-sub trySend($@)
-{   my ($self, $message, %args) = @_;
-
-    my $from = $args{from} || $message->sender;
-    $from    = $from->address if ref $from && $from->isa('Mail::Address');
-    my @to   = map {$_->address} $self->destinations($message, $args{to});
-
-    my $program = $self->{MTS_program};
-    if(open(MAILER, '|-')==0)
-    {   { exec $program, '-i', '-f', $from, @to; }  # {} to avoid warning
-        $self->log(NOTICE => "Errors when opening pipe to $program: $!");
-        exit 1;
-    }
-
-    $self->putContent($message, \*MAILER, undisclosed => 1);
-
-    unless(close MAILER)
-    {   $self->log(ERROR => "Errors when closing Exim mailer $program: $!");
-        $? ||= $!;
-        return 0;
-    }
-
-    1;
-}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Exim.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Transport/Exim.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Exim.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Transport/Exim.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Exim.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,322 +0,0 @@
-
-=head1 NAME
-
-Mail::Transport::Exim - transmit messages using external Exim program
-
-
-=head1 INHERITANCE
-
- Mail::Transport::Exim
-   is a Mail::Transport::Send
-   is a Mail::Transport
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my $sender = Mail::Transport::Exim->new(...);
- $sender->send($message);
-
-
-=head1 DESCRIPTION
-
-Implements mail transport using the external C<'Exim'> program.
-When instantiated, the mailer will look for the binary in specific system
-directories, and the first version found is taken.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Transport::Exim-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-If you have Exim installed in a non-standard location, you will need to 
-specify the path, using L<new(proxy)|Mail::Transport/"METHODS">.
-
- Option      Defined in       Default       
- executable  L<Mail::Transport>  C<undef>      
- hostname    L<Mail::Transport>  C<'localhost'>
- interval    L<Mail::Transport>  C<30>         
- log         L<Mail::Reporter>  C<'WARNINGS'> 
- password    L<Mail::Transport>  undef         
- port        L<Mail::Transport>  undef         
- proxy       L<Mail::Transport>  undef         
- retry       L<Mail::Transport>  <false>       
- timeout     L<Mail::Transport>  C<120>        
- trace       L<Mail::Reporter>  C<'WARNINGS'> 
- username    L<Mail::Transport>  undef         
- via         L<Mail::Transport>  C<'exim'>     
-
-. executable FILENAME
-
-. hostname HOSTNAME|ARRAY-OF-HOSTNAMES
-
-. interval SECONDS
-
-. log LEVEL
-
-. password STRING
-
-. port INTEGER
-
-. proxy PATH
-
-. retry NUMBER|undef
-
-. timeout SECONDS
-
-. trace LEVEL
-
-. username STRING
-
-. via CLASS|NAME
-
-=back
-
-=head2 Sending mail
-
-
-$obj-E<gt>B<destinations>(MESSAGE, [ADDRESS|ARRAY-OF-ADDRESSES])
-
-=over 4
-
-See L<Mail::Transport::Send/"Sending mail">
-
-=back
-
-$obj-E<gt>B<putContent>(MESSAGE, FILEHANDLE, OPTIONS)
-
-=over 4
-
-See L<Mail::Transport::Send/"Sending mail">
-
-=back
-
-$obj-E<gt>B<send>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Transport::Send/"Sending mail">
-
-=back
-
-$obj-E<gt>B<trySend>(MESSAGE, OPTIONS)
-
-=over 4
-
-=back
-
-=head2 Server connection
-
-
-$obj-E<gt>B<findBinary>(NAME [, DIRECTORIES])
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-$obj-E<gt>B<remoteHost>
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-$obj-E<gt>B<retry>
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Transport::Exim-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Transport::Exim-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Transport::Exim-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Errors when closing Exim mailer $program: $!
-
-The Exim mail transfer agent did start, but was not able to handle the message
-correctly.
-
-I<Warning:> Message has no destination
-
-It was not possible to figure-out where the message is intended to go
-to.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Warning:> Resent group does not specify a destination
-
-The message which is sent is the result of a bounce (for instance
-created with L<Mail::Message::bounce()|Mail::Message::Construct::Bounce/"Constructing a message">), and therefore starts with a
-C<Received> header field.  With the C<bounce>, the new destination(s)
-of the message are given, which should be included as C<Resent-To>,
-C<Resent-Cc>, and C<Resent-Bcc>.
-
-The C<To>, C<Cc>, and C<Bcc> header information is only used if no
-C<Received> was found.  That seems to be the best explanation of the RFC.
-
-As alternative, you may also specify the C<to> option to some of the senders
-(for instance L<Mail::Transport::SMTP::send(to)|Mail::Transport::Send/"Sending mail"> to overrule any information
-found in the message itself about the destination.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Exim.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Transport/Exim.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/IMAP4.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Transport/IMAP4.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/IMAP4.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,512 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Transport::IMAP4;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Transport::Receive';
-
-use Digest::HMAC_MD5;   # only availability check for CRAM_MD5
-use Mail::IMAPClient;
-
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    my $imap = $args->{imap_client} || 'Mail::IMAPClient';
-    if(ref $imap)
-    {   $args->{port}     = $imap->Port;
-        $args->{hostname} = $imap->Server;
-	$args->{username} = $imap->User;
-	$args->{password} = $imap->Password;
-    }
-    else
-    {   $args->{port}   ||= 143;
-    }
-
-    $args->{via}          = 'imap4';
-
-    $self->SUPER::init($args) or return;
-
-    $self->authentication($args->{authenticate} || 'AUTO');
-    $self->{MTI_domain} = $args->{domain};
-
-    unless(ref $imap)
-    {   $imap = $self->createImapClient($imap) or return undef;
-    }
- 
-    $self->imapClient($imap) or return undef;
-    $self->login             or return undef;
-}
-
-#------------------------------------------
-
-
-sub url()
-{   my $self = shift;
-    my ($host, $port, $user, $pwd) = $self->remoteHost;
-    my $name = $self->folderName;
-    "imap4://$user:$pwd\@$host:$port$name";
-}
-
-#------------------------------------------
-
-
-our $ntml_installed;
-
-sub authentication(@)
-{   my ($self, @types) = @_;
-
-    unless(defined $ntml_installed)
-    {   eval "require Authen::NTML";
-        die "NTML errors:\n$@" if $@ && $@ !~ /Can't locate/;
-        $ntml_installed = ! $@;
-    }
-
-    # What the client wants to use to login
-
-    unless(@types)
-    {   @types = exists $self->{MTI_auth} ? @{$self->{MTI_auth}} : 'AUTO';
-    }
-
-    if(@types == 1 && $types[0] eq 'AUTO')
-    {   @types = ('CRAM-MD5', ($ntml_installed ? 'NTLM' : ()), 'PLAIN');
-    }
-
-    $self->{MTI_auth} = \@types;
-
-    my @clientside;
-    foreach my $auth (@types)
-    {   push @clientside
-           , ref $auth eq 'ARRAY' ? $auth
-           : $auth eq 'NTLM'      ? [NTLM  => \&Authen::NTLM::ntlm ]
-           :                        [$auth => undef];
-    }
-
-    my %clientside = map { ($_->[0] => $_) } @clientside;
-
-    # What does the server support? in its order of preference.
-
-    my $imap = $self->imapClient or return ();
-    my @serverside = map { m/^AUTH=(\w+)/ ? uc($1) : () }
-                        $imap->capability;
-
-    my @auth;
-    if(@serverside)  # server list auth capabilities
-    {   @auth = map { $clientside{$_->[0]} ? delete $clientside{$_->[0]} : () }
-             @serverside;
-    }
-    @auth = @clientside unless @auth;  # fallback to client's preference
-
-    @auth;
-}
-
-#------------------------------------------
-
-
-sub domain(;$)
-{   my $self = shift;
-    return $self->{MTI_domain} = shift if @_;
-    $self->{MTI_domain} || ($self->remoteHost)[0];
-}
-
-#------------------------------------------
-
-
-#------------------------------------------
-
-
-sub imapClient(;$)
-{   my $self = shift;
-    @_ ? ($self->{MTI_client} = shift) : $self->{MTI_client};
-}
-
-#------------------------------------------
-
-
-sub createImapClient($)
-{   my ($self, $class) = @_;
-
-    my ($host, $port) = $self->remoteHost;
-
-    my $debug_level = $self->logPriority('DEBUG')+0;
-    my @debug;
-    if($self->log <= $debug_level || $self->trace <= $debug_level)
-    {   tie *dh, 'Mail::IMAPClient::Debug', $self;
-        @debug = (Debug => 1, Debug_fh => \*dh);
-    }
-
-    my $client = $class->new
-     ( Server => $host, Port => $port
-     , User   => undef, Password => undef   # disable auto-login
-     , Uid    => 1                          # Safer
-     , Peek   => 1                          # Don't set \Seen automaticly
-     , @debug
-     );
-
-    $self->log(ERROR => $@), return undef if $@;
-    $client;
-}
-
-#------------------------------------------
-
-
-sub login(;$)
-{   my $self = shift;
-    my $imap = $self->imapClient;
-
-    return $self if $imap->IsAuthenticated;
-
-    my ($interval, $retries, $timeout) = $self->retry;
-
-    my ($host, $port, $username, $password) = $self->remoteHost;
-    unless(defined $username)
-    {   $self->log(ERROR => "IMAP4 requires a username and password");
-        return;
-    }
-    unless(defined $password)
-    {   $self->log(ERROR => "IMAP4 username $username requires a password");
-        return;
-    }
-
-    while(1)
-    {
-        foreach my $auth ($self->authentication)
-        {   my ($mechanism, $challange) = @$auth;
-
-            $imap->User(undef);
-            $imap->Password(undef);
-            $imap->Authmechanism(undef);   # disable auto-login
-            $imap->Authcallback(undef);
-
-            unless($imap->connect)
-	    {   $self->log(ERROR => "IMAP cannot connect to $host: "
-	                          , $imap->LastError);
-		return undef;
-	    }
-
-            if($mechanism eq 'NTLM')
-            {   Authen::NTLM::ntlm_reset();
-                Authen::NTLM::ntlm_user($username);
-                Authen::NTLM::ntlm_domain($self->domain);
-                Authen::NTLM::ntlm_password($password);
-            }
-
-            $imap->User($username);
-            $imap->Password($password);
-            $imap->Authmechanism($mechanism) unless $mechanism eq 'PLAIN';
-            $imap->Authcallback($challange) if defined $challange;
-
-            if($imap->login)
-            {
-	       $self->log(NOTICE =>
-        "IMAP4 authenication $mechanism to $username\@$host:$port successful");
-                return $self;
-            }
-        }
-
-        $self->log(ERROR => "Couldn't contact to $username\@$host:$port")
-            , return undef if $retries > 0 && --$retries == 0;
-
-        sleep $interval if $interval;
-    }
-
-    undef;
-}
-
-#------------------------------------------
-
-
-sub folder(;$)
-{   my $self = shift;
-    return $self->{MTI_folder} unless @_;
-
-    my $name = shift;
-    return $name if $name eq ($self->{MTI_folder} || '/');
-
-    my $imap = $self->imapClient or return;
-    $imap->select($name)         or return;
-    $self->{MTI_folder} = $name;
-    $imap;
-}
-
-#------------------------------------------
-
-
-sub folders(;$)
-{   my $self = shift;
-    my $imap = $self->imapClient or return ();
-    my @top  = @_ && $_[0] eq '/' ? () : shift;
-    $imap->folders(@top);
-}
-
-#------------------------------------------
-
-
-sub ids($)
-{   my $self = shift;
-    my $imap = $self->imapClient or return ();
-    $imap->messages;
-}
-
-#------------------------------------------
-
-
-# Explanation in Mail::Box::IMAP4::Message chapter DETAILS
-
-my %flags2labels =
- ( # Standard IMAP4 labels
-   '\Seen'     => [seen     => 1]
- , '\Answered' => [replied  => 1]
- , '\Flagged'  => [flagged  => 1]
- , '\Deleted'  => [deleted  => 1]
- , '\Draft'    => [draft    => 1]
- , '\Recent'   => [old      => 0]
-
-   # For the Netzwert extension (Mail::Box::Netzwert), some labels were
-   # added.  You'r free to support them as well.
- , '\Spam'     => [spam     => 1]
- );
-
-my %labels2flags;
-while(my ($k, $v) = each %flags2labels)
-{  $labels2flags{$v->[0]} = [ $k => $v->[1] ];
-}
-
-# where IMAP4 supports requests for multiple flags at once, we here only
-# request one set of flags a time (which will be slower)
-
-sub getFlags($$)
-{   my ($self, $id) = @_;
-    my $imap   = $self->imapClient or return ();
-    my $labels = $self->flagsToLabels(SET => $imap->flags($id));
-
-    # Add default values for missing flags
-    foreach my $s (values %flags2labels)
-    {   $labels->{$s->[0]} = not $s->[1]
-             unless exists $labels->{$s->[0]};
-    }
-
-    $labels;
-}
-
-#------------------------------------------
-
-
-sub listFlags() { keys %flags2labels }
-
-#------------------------------------------
-
-
-# Mail::IMAPClient can only set one value a time, however we do more...
-sub setFlags($@)
-{   my ($self, $id) = (shift, shift);
-
-    my $imap = $self->imapClient or return ();
-    my (@set, @unset, @nonstandard);
-
-    while(@_)
-    {   my ($label, $value) = (shift, shift);
-        if(my $r = $labels2flags{$label})
-        {   my $flag = $r->[0];
-            $value = $value ? $r->[1] : !$r->[1];
-	        # exor can not be used, because value may be string
-            $value ? (push @set, $flag) : (push @unset, $flag);
-        }
-	else
-	{   push @nonstandard, ($label => $value);
-        }
-    }
-
-    $imap->set_flag($_, $id)   foreach @set;
-    $imap->unset_flag($_, $id) foreach @unset;
-
-    @nonstandard;
-}
-
-#------------------------------------------
-
-
-sub labelsToFlags(@)
-{   my $thing = shift;
-    my @set;
-    if(@_==1)
-    {   my $labels = shift;
-        while(my ($label, $value) = each %$labels)
-        {   if(my $r = $labels2flags{$label})
-            {   push @set, $r->[0] if ($value ? $r->[1] : !$r->[1]);
-            }
-        }
-    }
-    else
-    {   while(@_)
-        {   my ($label, $value) = (shift, shift);
-            if(my $r = $labels2flags{$label})
-            {   push @set, $r->[0] if ($value ? $r->[1] : !$r->[1]);
-            }
-        }
-    }
-
-    join " ", sort @set;
-}
-
-#------------------------------------------
-
-
-sub flagsToLabels($@)
-{   my ($thing, $what) = (shift, shift);
-    my %labels;
-
-    my $clear = $what eq 'CLEAR';
-
-    foreach my $f (@_)
-    {   if(my $lab = $flags2labels{$f})
-        {   $labels{$lab->[0]} = $clear ? not($lab->[1]) : $lab->[1];
-        }
-        else
-        {   (my $lab = $f) =~ s,^\\,,;
-            $labels{$lab}++;
-        }
-    }
-
-    if($what eq 'REPLACE')
-    {   my %found = map { ($_ => 1) } @_;
-        foreach my $f (keys %flags2labels)
-        {   next if $found{$f};
-            my $lab = $flags2labels{$f};
-            $labels{$lab->[0]} = not $lab->[1];
-        }
-    }
-
-    wantarray ? %labels : \%labels;
-}
-
-#------------------------------------------
-
-
-sub getFields($@)
-{   my ($self, $id) = (shift, shift);
-    my $imap   = $self->imapClient or return ();
-    my $parsed = $imap->parse_headers($id, @_) or return ();
-
-    my @fields;
-    while(my($n,$c) = each %$parsed)
-    {   push @fields, map { Mail::Message::Field::Fast->new($n, $_) } @$c;
-    }
-
-    @fields;
-}
-
-#------------------------------------------
-
-
-sub getMessageAsString($)
-{   my $imap = shift->imapClient or return;
-    my $uid = ref $_[0] ? shift->unique : shift;
-    $imap->message_string($uid);
-}
-
-#------------------------------------------
-
-
-sub fetch($@)
-{   my ($self, $msgs, @info) = @_;
-    return () unless @$msgs;
-    my $imap   = $self->imapClient or return ();
-
-    my %msgs   = map { ($_->unique => {message => $_} ) } @$msgs;
-    my $lines  = $imap->fetch( [keys %msgs], @info );
-
-    # It's a pity that Mail::IMAPClient::fetch_hash cannot be used for
-    # single messages... now I had to reimplement the decoding...
-    while(@$lines)
-    {   my $line = shift @$lines;
-        next unless $line =~ /\(.*?UID\s+(\d+)/i;
-	my $id   = $+;
-	my $info = $msgs{$id} or next;  # wrong uid
-
-        if($line =~ s/^[^(]* \( \s* //x )
-        {   while($line =~ s/(\S+)   # field
-	                     \s+
-                             (?:     # value
-                                 \" ( (?:\\.|[^"])+ ) \"
-                               | \( ( (?:\\.|[^)])+ ) \)
-                               |  (\w+)
-                             )//xi)
-            {   $info->{uc $1} = $+;
-            }
-
-	    if( $line =~ m/^\s* (\S+) [ ]*$/x )
-	    {   # Text block expected
-	        my ($key, $value) = (uc $1, '');
-	        while(@$lines)
-		{   my $extra = shift @$lines;
-		    $extra =~ s/\r\n$/\n/;
-		    last if $extra eq ")\n";
-		    $value .= $extra;
-		}
-		$info->{$key} = $value;
-            }
-        }
-
-    }
-
-    values %msgs;
-}
-
-#------------------------------------------
-
-
-sub appendMessage($$)
-{   my ($self, $message, $foldername) = @_;
-    my $imap   = $self->imapClient or return ();
-
-    $imap->append_string
-     ( $foldername, $message->string
-     , $self->labelsToFlags($message->labels)
-     );
-}
-
-#------------------------------------------
-
-
-sub destroyDeleted()
-{   my $imap = shift->imapClient or return ();
-    $imap->expunge;
-}
-
-#------------------------------------------
-
-
-sub deleteFolder($)
-{   my $imap = shift->imapClient or return ();
-    $imap->delete(shift);
-}
-
-#------------------------------------------
-
-
-sub DESTROY()
-{   my $self = shift;
-    my $imap = $self->imapClient;
-
-    $self->SUPER::DESTROY;
-    $imap->logout if defined $imap;
-}
-
-#------------------------------------------
-
-# Tied filehandle translates IMAP's debug system into Mail::Reporter
-# calls.
-sub  Mail::IMAPClient::Debug::TIEHANDLE($)
-{   my ($class, $logger) = @_;
-    bless \$logger, $class;
-}
-
-sub  Mail::IMAPClient::Debug::PRINT(@)
-{   my $logger = ${ (shift) };
-    $logger->log(DEBUG => @_);
-}
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/IMAP4.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Transport/IMAP4.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/IMAP4.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Transport/IMAP4.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/IMAP4.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,599 +0,0 @@
-
-=head1 NAME
-
-Mail::Transport::IMAP4 - proxy to Mail::IMAPClient
-
-
-=head1 INHERITANCE
-
- Mail::Transport::IMAP4
-   is a Mail::Transport::Receive
-   is a Mail::Transport
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my $imap = Mail::Transport::IMAP4->new(...);
- my $message = $imap->receive($id);
- $imap->send($message);
-
-
-=head1 DESCRIPTION
-
-****** UNDER DEVELOPMENT *****, please help testing
-
-The IMAP4 protocol is quite complicated: it is feature rich and allows
-verious asynchronous actions.  The main document describing IMAP is
-rfc3501 (which obsoleted the original specification of protocol 4r1
-in rfc2060 in March 2003).
-
-This package, as part of MailBox, does not implement the actual
-protocol itself but uses Mail::IMAPClient to do the work.  The task
-for this package is to hide as many differences between that module's
-interface and the common L<Mail::Box|Mail::Box> folder types.  Multiple
-L<Mail::Box::IMAP4|Mail::Box::IMAP4> folders can share one L<Mail::Transport::IMAP4|Mail::Transport::IMAP4>
-connection.
-
-
-
-=head1 METHODS
-
-
-$obj-E<gt>B<url>
-
-=over 4
-
-Represent this imap4 connection as URL.
-
-=back
-
-=head2 Constructors
-
-
-Mail::Transport::IMAP4-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-Create the IMAP connection to the server.  IMAP servers can handle
-multiple folders for a single user, which means that connections
-may get shared.  This is sharing is hidden for the user.
-
-When an C<imap_client> is specified, then the options C<hostname>,
-C<port>, C<username>, and C<password> are extracted from it.
-
- Option        Defined in       Default                             
- authenticate                   C<'AUTO'>                           
- domain                         <server_name>                       
- executable    L<Mail::Transport>  C<undef>                            
- hostname      L<Mail::Transport>  C<'localhost'>                      
- imap_client                    L<Mail::IMAPClient|Mail::IMAPClient>
- interval      L<Mail::Transport>  C<30>                               
- log           L<Mail::Reporter>  C<'WARNINGS'>                       
- password      L<Mail::Transport>  undef                               
- port          L<Mail::Transport>  143                                 
- proxy         L<Mail::Transport>  undef                               
- retry         L<Mail::Transport>  <false>                             
- timeout       L<Mail::Transport>  C<120>                              
- trace         L<Mail::Reporter>  C<'WARNINGS'>                       
- username      L<Mail::Transport>  undef                               
- via           L<Mail::Transport>  C<'imap'>                           
-
-. authenticate TYPE|ARRAY-OF-TYPES
-
-=over 4
-
-Authenthication method to L<login()|Mail::Transport::IMAP4/"Protocol [internals]">, which will be passed to
-L<Mail::IMAPClient> method authenticate().  See the latter method for
-the available types.
-
-=back
-
-. domain WINDOWS_DOMAIN
-
-=over 4
-
-Used for NTLM authentication.
-
-=back
-
-. executable FILENAME
-
-. hostname HOSTNAME|ARRAY-OF-HOSTNAMES
-
-. imap_client OBJECT|CLASS
-
-=over 4
-
-When an OBJECT is supplied, that client will be used for the implementation
-of the IMAP4 protocol. Information about server and such are extracted from
-the OBJECT to have the accessors to produce correct results. The OBJECT
-shall be a L<Mail::IMAPClient|Mail::IMAPClient>.
-
-When a CLASS is given, an object of that type is created for you.  The created
-object can be retreived via L<imapClient()|Mail::Transport::IMAP4/"Protocol [internals]">, and than configured as
-defined by L<Mail::IMAPClient|Mail::IMAPClient>.
-
-=back
-
-. interval SECONDS
-
-. log LEVEL
-
-. password STRING
-
-. port INTEGER
-
-. proxy PATH
-
-. retry NUMBER|undef
-
-. timeout SECONDS
-
-. trace LEVEL
-
-. username STRING
-
-. via CLASS|NAME
-
-=back
-
-=head2 Receiving mail
-
-
-$obj-E<gt>B<receive>([UNIQUE-MESSAGE-ID])
-
-=over 4
-
-See L<Mail::Transport::Receive/"Receiving mail">
-
-=back
-
-=head2 Server connection
-
-
-$obj-E<gt>B<findBinary>(NAME [, DIRECTORIES])
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-$obj-E<gt>B<remoteHost>
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-$obj-E<gt>B<retry>
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-=head2 Attributes
-
-
-$obj-E<gt>B<authentication>(['AUTO'|TYPE|LIST-OF-TYPES])
-
-=over 4
-
-Returned is a list of pairs (ref arrays) each describing one possible
-way to contact the server. Each pair contains a mechanism name and
-a challange callback (which may be C<undef>).
-
-The settings are used by L<login()|Mail::Transport::IMAP4/"Protocol [internals]"> to get server access.  The initial
-value origins from L<new(authenticate)|Mail::Transport::IMAP4/"METHODS">, but may be changed later.
-
-Available basic TYPES are C<CRAM-MD5>, C<NTLM>, and C<PLAIN>.  With
-C<AUTO>, all available types will be tried.  When the Authen::NTLM
-is not installed, the C<NTLM> option will silently be skipped.  Be warned
-that, because of C<PLAIN>, erroneous username/password combinations will
-be passed readible as last attempt!
-
-The C<NTLM> authentication requires Authen::NTLM to be installed.  Other
-methods may be added later.  Besides, you may also specify a CODE
-reference which implements some authentication.
-
-An ARRAY as TYPE can be used to specify both mechanism as callback.  When
-no array is used, callback of the pair is set to C<undef>.  See
-L<Mail::IMAPClient/authenticate> for the gory details.
-
-I<Example:> 
-
- $transporter->authentication('CRAM-MD5', [MY_AUTH => \&c], 'PLAIN');
-
- foreach my $pair ($transporter->authentication)
- {   my ($mechanism, $challange) = @$pair;
-     ...
- }
-
-=back
-
-$obj-E<gt>B<domain>([DOMAIN])
-
-=over 4
-
-Used in NTLM authentication to define the Windows domain which is
-accessed.  Initially set by L<new(domain)|Mail::Transport::IMAP4/"METHODS"> and defaults to the
-server's name.
-
-=back
-
-=head2 Exchanging Information
-
-
-=head2 Protocol [internals]
-
-The follow methods handle protocol internals, and should not be used
-by a normal user of this class.
-
-$obj-E<gt>B<appendMessage>(MESSAGE, FOLDERNAME)
-
-=over 4
-
-Write the message to the server.
-
-=back
-
-$obj-E<gt>B<createImapClient>(CLASS)
-
-=over 4
-
-Create an object of CLASS, which extends L<Mail::IMAPClient>.
-
-=back
-
-$obj-E<gt>B<deleteFolder>(NAME)
-
-=over 4
-
-Remove one folder.
-
-=back
-
-$obj-E<gt>B<destroyDeleted>
-
-=over 4
-
-Command the server to delete for real all messages which are flagged to
-be deleted.
-
-=back
-
-$obj-E<gt>B<fetch>(ARRAY-OF-MESSAGES, INFO)
-
-=over 4
-
-Get some INFO about the MESSAGES from the server.  The specified messages
-shall extend L<Mail::Box::Net::Message|Mail::Box::Net::Message>, Returned is a list
-of hashes, each info about one result.  The contents of the hash
-differs per INFO, but at least a C<message> field will be present, to
-relate to the message in question.
-
-The right folder should be selected before this method is called. When
-the connection was lost, C<undef> is returned.  Without any
-messages, and empty array is returned.  The retrieval is done by
-L<Mail::IMAPClient|Mail::IMAPClient> method C<fetch()>, which is then
-parsed.
-
-=back
-
-$obj-E<gt>B<flagsToLabels>(WHAT|FLAGS)
-
-Mail::Transport::IMAP4-E<gt>B<flagsToLabels>(WHAT|FLAGS)
-
-=over 4
-
-In SCALAR context, a hash with labels is returned.  In LIST context, pairs
-are returned.
-
-The WHAT parameter can be C<'SET'>, C<'CLEAR'>, or C<'REPLACE'>.  With the
-latter, all standard imap flags do not appear in the list will be ignored:
-their value may either by set or cleared.  See L<getFlags()|Mail::Transport::IMAP4/"Protocol [internals]">
-
-Unknown flags in LIST are stripped from their backslash and lower-cased.
-For instance, '\SomeWeirdFlag' will become `someweirdflag => 1'.
-
-I<Example:> translating IMAP4 flags into MailBox flags
-
-
- my @flags  = ('\Seen', '\Flagged');
- my $labels = Mail::Transport::IMAP4->flags2labels(SET => @flags);
-
-=back
-
-$obj-E<gt>B<folder>([FOLDERNAME])
-
-=over 4
-
-Be sure that the specific FOLDER is the current one selected.
-If the folder is already selected, no IMAP traffic will be produced.
-The imap connection is returned on succes
-
-=back
-
-$obj-E<gt>B<folders>([FOLDERNAME])
-
-=over 4
-
-Returns a list of folder names which are sub-folders of the specified
-FOLDERNAME.  Without FOLDERNAME, the top-level foldernames are returned.
-
-=back
-
-$obj-E<gt>B<getFields>(UID, NAME, [NAME, ...])
-
-=over 4
-
-Get the records with the specified NAMES from the header.  The header
-fields are returned as list of L<Mail::Message::Field::Fast|Mail::Message::Field::Fast> objects.
-When the name is C<ALL>, the whole header is returned.
-
-=back
-
-$obj-E<gt>B<getFlags>(FOLDER, ID)
-
-=over 4
-
-Returns the values of all flags which are related to the message with the
-specified ID.  These flags are translated into the names which are
-standard for the MailBox suite.
-
-A HASH is returned.  Names which do not appear will also provide
-a value in the returned: the negative for the value is it was present.
-
-=back
-
-$obj-E<gt>B<getMessageAsString>(MESSAGE|UID)
-
-=over 4
-
-Returns the whole text of the specified message: the head and the body.
-
-=back
-
-$obj-E<gt>B<ids>
-
-=over 4
-
-Returns a list of UIDs which are defined by the IMAP server.
-
-=back
-
-$obj-E<gt>B<imapClient>
-
-=over 4
-
-Returns the object which implements the IMAP4 protocol, an instance
-of a Mail::IMAPClient, which is logged-in and ready to use.
-
-If the contact to the server was still present or could be established,
-an Mail::IMAPClient object is returned.  Else, C<undef> is returned and
-no further actions should be tried on the object.
-
-=back
-
-$obj-E<gt>B<labelsToFlags>(HASH|PAIRS)
-
-Mail::Transport::IMAP4-E<gt>B<labelsToFlags>(HASH|PAIRS)
-
-=over 4
-
-Convert MailBox labels into IMAP flags.  Returned is a string.  Unsupported
-labels are ignored.
-
-=back
-
-$obj-E<gt>B<listFlags>
-
-=over 4
-
-Returns all predefined flags as list.
-
-=back
-
-$obj-E<gt>B<login>
-
-=over 4
-
-Establish a new connection to the IMAP4 server, using username and password.
-
-=back
-
-$obj-E<gt>B<setFlags>(ID, LABEL, VALUE, [LABEL, VALUE], ...)
-
-=over 4
-
-Change the flags on the message which are represented by the label.  The
-value which can be related to the label will be lost, because IMAP only
-defines a boolean value, where MailBox labels can contain strings.
-
-Returned is a list of LABEL=>VALUE pairs which could not be send to
-the IMAP server.  These values may be cached in a different way.
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Transport::IMAP4-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Transport::IMAP4-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Transport::IMAP4-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-The connection is cleanly terminated when the program is
-terminated.
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot connect to $host:$port for IMAP4: $!
-
-
-I<Error:> IMAP cannot connect to $host: $@
-
-
-I<Notice:> IMAP4 authenication $mechanism to $host:$port successful
-
-
-I<Error:> IMAP4 requires a username and password
-
-
-I<Error:> IMAP4 username $username requires a password
-
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> module Authen::NTLM is not installed
-
-You try to establish an IMAP4 connection which explicitly uses NTLM
-authentication, but the optional Authen::NTLM, which implements this is
-not installed on your system.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/IMAP4.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Transport/IMAP4.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Mailx.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Transport/Mailx.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Mailx.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,97 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Transport::Mailx;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Transport::Send';
-
-use Carp;
-
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    $args->{via} = 'mailx';
-
-    $self->SUPER::init($args) or return;
-
-    $self->{MTM_program}
-      = $args->{proxy}
-     || $self->findBinary('mailx')
-     || $self->findBinary('Mail')
-     || $self->findBinary('mail')
-     || return;
-
-    $self->{MTM_style}
-      = defined $args->{style}                       ? $args->{style}
-      : $^O =~ m/linux|freebsd|bsdos|netbsd|openbsd/ ? 'BSD'
-      :                                                'RFC822';
-
-    $self;
-}
-
-#------------------------------------------
-
-
-sub _try_send_bsdish($$)
-{   my ($self, $message, $args) = @_;
-
-    my @options = ('-s' => $message->subject);
-
-    {   local $" = ',';
-        my @cc  = map {$_->format} $message->cc;
-        push @options, ('-c' => "@cc")  if @cc;
-
-        my @bcc = map {$_->format} $message->bcc;
-        push @options, ('-b' => "@bcc") if @bcc;
-    }
-
-    my @to      = map {$_->format} $message->to;
-    my $program = $self->{MTM_program};
-
-    if((open MAILER, '|-')==0)
-    {   close STDOUT;
-        { exec $program, @options, @to }
-        $self->log(NOTICE => "Cannot start contact to $program: $!");
-        exit 1;
-    }
- 
-    $self->putContent($message, \*MAILER, body_only => 1);
-
-    my $msgid = $message->messageId;
-
-    if(close MAILER) { $self->log(PROGRESS => "Message $msgid send.") }
-    else
-    {   $self->log(ERROR => "Sending via mailx mailer $program failed: $! ($?)");
-        return 0;
-    }
-
-    1;
-}
-
-sub trySend($@)
-{   my ($self, $message, %args) = @_;
-
-    return $self->_try_send_bsdish($message, \%args)
-        if $self->{MTM_style} eq 'BSD';
-
-    my $program = $self->{MTM_program};
-    unless(open MAILER, '|-', $program, '-t')
-    {   $self->log(NOTICE => "Cannot start contact to $program: $!");
-        return 0;
-    }
- 
-    $self->putContent($message, \*MAILER);
-
-    unless(close MAILER)
-    {   $self->log(ERROR => "Sending via mailx mailer $program failed: $! ($?)");
-        return 0;
-    }
-
-    1;
-}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Mailx.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Transport/Mailx.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Mailx.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Transport/Mailx.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Mailx.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,345 +0,0 @@
-
-=head1 NAME
-
-Mail::Transport::Mailx - transmit messages using external mailx program
-
-
-=head1 INHERITANCE
-
- Mail::Transport::Mailx
-   is a Mail::Transport::Send
-   is a Mail::Transport
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my $sender = Mail::Transport::Mailx->new(...);
- $sender->send($message);
-
-
-=head1 DESCRIPTION
-
-Implements mail transport using the external programs C<'mailx'>,
-C<Mail>, or C<'mail'>.  When instantiated, the mailer will look for
-any of these binaries in specific system directories, and the first
-program found is taken.
-
-B<WARNING: There are many security issues with mail and mailx. DO NOT USE
-these commands to send messages which contains data derived from any
-external source!!!>
-
-Under Linux, freebsd, and bsdos the C<mail>, C<Mail>, and C<mailx> names are
-just links to the same binary.  The implementation is very primitive, pre-MIME
-standard,  what may cause many headers to be lost.  For these platforms (and
-probably for other platforms as well), you can better not use this transport
-mechanism.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Transport::Mailx-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option      Defined in       Default       
- executable  L<Mail::Transport>  C<undef>      
- hostname    L<Mail::Transport>  C<'localhost'>
- interval    L<Mail::Transport>  C<30>         
- log         L<Mail::Reporter>  C<'WARNINGS'> 
- password    L<Mail::Transport>  undef         
- port        L<Mail::Transport>  undef         
- proxy       L<Mail::Transport>  undef         
- retry       L<Mail::Transport>  <false>       
- style                        <autodetect>  
- timeout     L<Mail::Transport>  C<120>        
- trace       L<Mail::Reporter>  C<'WARNINGS'> 
- username    L<Mail::Transport>  undef         
- via         L<Mail::Transport>  C<'mailx'>    
-
-. executable FILENAME
-
-. hostname HOSTNAME|ARRAY-OF-HOSTNAMES
-
-. interval SECONDS
-
-. log LEVEL
-
-. password STRING
-
-. port INTEGER
-
-. proxy PATH
-
-. retry NUMBER|undef
-
-. style 'BSD'|'RFC822'
-
-=over 4
-
-There are two version of the C<mail> program.  The newest accepts
-RFC822 messages, and automagically collect information about where
-the message is to be send to.  The BSD style mail command predates
-MIME, and expects lines which start with a C<'~'> (tilde) to specify
-destinations and such.  This field is autodetect, however on some
-platforms both versions of C<mail> can live (like various Linux
-distributions).
-
-=back
-
-. timeout SECONDS
-
-. trace LEVEL
-
-. username STRING
-
-. via CLASS|NAME
-
-=back
-
-=head2 Sending mail
-
-
-$obj-E<gt>B<destinations>(MESSAGE, [ADDRESS|ARRAY-OF-ADDRESSES])
-
-=over 4
-
-See L<Mail::Transport::Send/"Sending mail">
-
-=back
-
-$obj-E<gt>B<putContent>(MESSAGE, FILEHANDLE, OPTIONS)
-
-=over 4
-
-See L<Mail::Transport::Send/"Sending mail">
-
-=back
-
-$obj-E<gt>B<send>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Transport::Send/"Sending mail">
-
-=back
-
-$obj-E<gt>B<trySend>(MESSAGE, OPTIONS)
-
-=over 4
-
-=back
-
-=head2 Server connection
-
-
-$obj-E<gt>B<findBinary>(NAME [, DIRECTORIES])
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-$obj-E<gt>B<remoteHost>
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-$obj-E<gt>B<retry>
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Transport::Mailx-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Transport::Mailx-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Transport::Mailx-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> Message has no destination
-
-It was not possible to figure-out where the message is intended to go
-to.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Warning:> Resent group does not specify a destination
-
-The message which is sent is the result of a bounce (for instance
-created with L<Mail::Message::bounce()|Mail::Message::Construct::Bounce/"Constructing a message">), and therefore starts with a
-C<Received> header field.  With the C<bounce>, the new destination(s)
-of the message are given, which should be included as C<Resent-To>,
-C<Resent-Cc>, and C<Resent-Bcc>.
-
-The C<To>, C<Cc>, and C<Bcc> header information is only used if no
-C<Received> was found.  That seems to be the best explanation of the RFC.
-
-As alternative, you may also specify the C<to> option to some of the senders
-(for instance L<Mail::Transport::SMTP::send(to)|Mail::Transport::Send/"Sending mail"> to overrule any information
-found in the message itself about the destination.
-
-I<Error:> Sending via mailx mailer $program failed: $! ($?)
-
-Mailx (in some shape: there are many different implementations) did start
-accepting messages, but did not succeed sending it.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Mailx.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Transport/Mailx.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/POP3.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Transport/POP3.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/POP3.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,426 +0,0 @@
-
-use strict;
-use warnings;
-
-package Mail::Transport::POP3;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Transport::Receive';
-
-use IO::Socket  ();
-use Socket      qw/$CRLF/;
-
-use Digest::MD5 ();
-
-
-sub init($)
-{   my ($self, $args) = @_;
-    $args->{via}    = 'pop3';
-    $args->{port} ||= 110;
-
-    $self->SUPER::init($args) or return;
-
-    $self->{MTP_auth}    = $args->{authenticate} || 'AUTO';
-    return unless $self->socket;   # establish connection
-
-    $self;
-}
-
-#------------------------------------------
-
-
-sub ids(;@)
-{   my $self = shift;
-    return unless $self->socket;
-    wantarray ? @{$self->{MTP_n2uidl}} : $self->{MTP_n2uidl};
-}
-
-#------------------------------------------
-
-
-sub messages()
-{   my $self = shift;
-
-    $self->log(ERROR =>"Cannot get the messages of pop3 via messages()."), return ()
-       if wantarray;
-
-    $self->{MTP_messages};
-}
-
-#------------------------------------------
-
-
-sub folderSize() { shift->{MTP_total} }
-
-#------------------------------------------
-
-
-sub header($;$)
-{   my ($self, $uidl) = (shift, shift);
-    return unless $uidl;
-    my $bodylines = shift || 0;;
-
-    my $socket    = $self->socket      or return;
-    my $n         = $self->id2n($uidl) or return;
-
-    $self->sendList($socket, "TOP $n $bodylines$CRLF");
-}
-
-#------------------------------------------
-
-
-sub message($;$)
-{   my ($self, $uidl) = @_;
-    return unless $uidl;
-
-    my $socket  = $self->socket      or return;
-    my $n       = $self->id2n($uidl) or return;
-    my $message = $self->sendList($socket, "RETR $n$CRLF");
-
-    return unless $message;
-
-    # Some POP3 servers add a trailing empty line
-    pop @$message if @$message && $message->[-1] =~ m/^[\012\015]*$/;
-
-    $self->{MTP_fetched}{$uidl} = undef   # mark this ID as fetched
-        unless exists $self->{MTP_nouidl};
-
-    $message;
-}
-
-#------------------------------------------
-
-
-sub messageSize($)
-{   my ($self, $uidl) = @_;
-    return unless $uidl;
-
-    my $list;
-    unless($list = $self->{MTP_n2length})
-    {   my $socket = $self->socket or return;
-        my $raw = $self->sendList($socket, "LIST$CRLF") or return;
-        my @n2length;
-        foreach (@$raw)
-        {   m#^(\d+) (\d+)#;
-            $n2length[$1] = $2;
-        }   
-        $self->{MTP_n2length} = $list = \@n2length;
-    }
-
-    my $n = $self->id2n($uidl) or return;
-    $list->[$n];
-}
-
-#------------------------------------------
-
-
-sub deleted($@)
-{   my $dele = shift->{MTP_dele} ||= {};
-    (shift) ? @$dele{ @_ } = () : delete @$dele{ @_ };
-}
-
-
-#------------------------------------------
-
-
-sub deleteFetched()
-{   my $self = shift;
-    $self->deleted(1, keys %{$self->{MTP_fetched}});
-}
-
-#------------------------------------------
-
-
-sub disconnect()
-{   my $self = shift;
-
-    my $quit;
-    if($self->{MTP_socket}) # can only disconnect once
-    {   if(my $socket = $self->socket)
-        {   my $dele  = $self->{MTP_dele} || {};
-            while(my $uidl = each %$dele)
-            {   my $n = $self->id2n($uidl) or next;
-                $self->send($socket, "DELE $n$CRLF") or last;
-            }
-
-            $quit = $self->send($socket, "QUIT$CRLF");
-            close $socket;
-        }
-    }
-
-    delete @$self{ qw(
-     MTP_socket
-     MTP_dele
-     MTP_uidl2n
-     MTP_n2uidl
-     MTP_n2length
-     MTP_fetched
-    ) };
-
-    OK($quit);
-}
-
-#------------------------------------------
-
-
-sub fetched(;$)
-{   my $self = shift;
-    return if exists $self->{MTP_nouidl};
-    $self->{MTP_fetched};
-}
-
-#------------------------------------------
-
-
-sub id2n($;$) { shift->{MTP_uidl2n}{shift()} }
-
-#------------------------------------------
-
-
-#------------------------------------------
-
-
-sub socket(;$)
-{   my $self = shift;
-
-    my $socket = $self->_connection;
-    return $socket if defined $socket;
-
-    if(exists $self->{MTP_nouidl})
-    {   $self->log(ERROR =>
-           "Can not re-connect reliably to server which doesn't support UIDL");
-        return;
-    }
-
-    return unless $socket = $self->login;
-    return unless $self->status( $socket );
-
-# Save socket in the object and return it
-
-    $self->{MTP_socket} = $socket;
-}
-
-#------------------------------------------
-
-
-sub send($$)
-{   my $self = shift;
-    my $socket = shift;
-    my $response;
-   
-    if(eval {print $socket @_})
-    {   $response = <$socket>;
-        $self->log(ERROR => "Cannot read POP3 from socket: $!")
-           unless defined $response;
-    }
-    else
-    {   $self->log(ERROR => "Cannot write POP3 to socket: $@");
-    }
-    $response;
-}
-
-#------------------------------------------
-
-
-sub sendList($$)
-{   my $self     = shift;
-    my $socket   = shift;
-    my $response = $self->send($socket, @_) or return;
-
-    return unless OK($response);
-
-    my @list;
-    local $_;
-    while(<$socket>)
-    {   last if m#^\.\r?\n#s;
-        s#^\.##;
-	push @list, $_;
-    }
-
-    \@list;
-}
-
-#------------------------------------------
-
-sub DESTROY()
-{   my $self = shift;
-    $self->SUPER::DESTROY;
-    $self->disconnect if $self->{MTP_socket}; # only do if not already done
-}
-
-#------------------------------------------
-
-sub OK($;$) { substr(shift || '', 0, 3) eq '+OK' }
-
-#------------------------------------------
-
-sub _connection(;$)
-{   my $self = shift;
-
-    my $socket = $self->{MTP_socket};
-    defined $socket or return undef;
-
-    # Check if we (still) got a connection
-    eval {print $socket "NOOP$CRLF"};
-    if($@ || ! <$socket> )
-    {   delete $self->{MTP_socket};
-        return undef;
-    }
-
-    $socket;
-}
-
-#------------------------------------------
-
-
-sub login(;$)
-{   my $self = shift;
-
-# Check if we can make a TCP/IP connection
-
-    local $_; # make sure we don't spoil $_ for the outside world
-    my ($interval, $retries, $timeout) = $self->retry;
-    my ($host, $port, $username, $password) = $self->remoteHost;
-    unless($username && $password)
-    {   $self->log(ERROR => "POP3 requires a username and password.");
-        return;
-    }
-
-    my $socket = eval {IO::Socket::INET->new("$host:$port")};
-    unless($socket)
-    {   $self->log(ERROR => "Cannot connect to $host:$port for POP3: $!");
-        return;
-    }
-
-# Check if it looks like a POP server
-
-    my $connected;
-    my $authenticate = $self->{MTP_auth};
-    my $welcome = <$socket>;
-    unless(OK($welcome))
-    {   $self->log(ERROR =>
-           "Server at $host:$port does not seem to be talking POP3.");
-        return;
-    }
-
-# Check APOP login if automatic or APOP specifically requested
-
-    if($authenticate eq 'AUTO' || $authenticate eq 'APOP')
-    {   if($welcome =~ m#^\+OK .*(<\d+\.\d+\@[^>]+>)#)
-        {   my $md5 = Digest::MD5::md5_hex($1.$password);
-            my $response = $self->send($socket, "APOP $username $md5$CRLF");
-            $connected = OK($response) if $response;
-        }
-    }
-
-# Check USER/PASS login if automatic and failed or LOGIN specifically requested
-
-    unless($connected)
-    {   if($authenticate eq 'AUTO' || $authenticate eq 'LOGIN')
-        {   my $response = $self->send($socket, "USER $username$CRLF")
-               or return;
-
-            if(OK($response))
-	    {   $response = $self->send($socket, "PASS $password$CRLF")
-                   or return;
-                $connected = OK($response);
-            }
-        }
-    }
-
-# If we're still not connected now, we have an error
-
-    unless($connected)
-    {   $self->log(ERROR => $authenticate eq 'AUTO' ?
-         "Could not authenticate using any login method" :
-         "Could not authenticate using '$authenticate' method");
-        return;
-    }
-
-    $socket;
-}
-
-#------------------------------------------
-
-
-sub status($;$)
-{   my ($self,$socket) = @_;
-
-# Check if we can do a STAT
-
-    my $stat = $self->send($socket, "STAT$CRLF") or return;
-    if($stat =~ m#^\+OK (\d+) (\d+)#)
-    {   @$self{qw(MTP_messages MTP_total)} = ($1,$2);
-    }
-    else
-    {   delete $self->{MTP_messages};
-        delete $self->{MTP_size};
-        $self->log(ERROR => "POP3 Could not do a STAT");
-        return;
-    }
-
-# Check if we can do a UIDL
-
-    my $uidl = $self->send($socket, "UIDL$CRLF") or return;
-    $self->{MTP_nouidl} = undef;
-    delete $self->{MTP_uidl2n}; # lose the reverse lookup: UIDL -> number
-    if(OK($uidl))
-    {   my @n2uidl;
-        $n2uidl[$self->{MTP_messages}] = undef; # optimization, sets right size
-
-        local $_;    # protect global $_
-        while(<$socket>)
-        {   last if substr($_, 0, 1) eq '.';
-            s#\r?\n$##;
-            $n2uidl[$1] = $2 if m#^(\d+) (.+)#;
-        }
-
-        shift @n2uidl; # make message 1 into index 0
-        $self->{MTP_n2uidl} = \@n2uidl;
-        delete $self->{MTP_n2length};
-        delete $self->{MTP_nouidl};
-    }
-
-# We can't do UIDL, we need to fake it
-
-    else
-    {   my $list = $self->send($socket, "LIST$CRLF") or return;
-        my @n2length;
-        my @n2uidl;
-        if(OK($list))
-        {   my $messages = $self->{MTP_messages};
-            my ($host, $port) = $self->remoteHost;
-            $n2length[$messages] = $n2uidl[$messages] = undef; # optimization
-            while(<$socket>)
-            {   last if substr($_, 0, 1) eq '.';
-                m#^(\d+) (\d+)#;
-                $n2length[$1] = $2;
-                $n2uidl[$1] = "$host:$port:$1"; # fake UIDL, for id only
-            }
-            shift @n2length; shift @n2uidl; # make 1st message in index 0
-        }
-        $self->{MTP_n2length} = \@n2length;
-        $self->{MTP_n2uidl} = \@n2uidl;
-    }
-
-    my $i = 1;
-    my %uidl2n;
-    foreach(@{$self->{MTP_n2uidl}})
-    {   $uidl2n{$_} = $i++;
-    }
-    $self->{MTP_uidl2n} = \%uidl2n;
-    1;
-}
-
-#------------------------------------------
-
-
-sub url(;$)
-{   my ($host, $port, $user, $pwd) = shift->remoteHost;
-    "pop3://$user:$pwd\@$host:$port";
-}
-
-#------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/POP3.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Transport/POP3.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/POP3.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Transport/POP3.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/POP3.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,546 +0,0 @@
-
-=head1 NAME
-
-Mail::Transport::POP3 - receive messages via POP3
-
-
-=head1 INHERITANCE
-
- Mail::Transport::POP3
-   is a Mail::Transport::Receive
-   is a Mail::Transport
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my $receiver = Mail::Transport::POP3->new(...);
- my $message = $receiver->receive($id);
-
-
-=head1 DESCRIPTION
-
-Receive messages via the POP3 protocol from one remote server, as specified
-in rfc1939.  This object hides much of the complications in the protocol and
-recovers broken connections automatically.  Although it is part of the
-MailBox distribution, this object can be used separately.
-
-You probably should B<not use this> module, but L<Mail::Box::POP3|Mail::Box::POP3>.  This
-module is the interface to POP3, whereas L<Mail::Box::POP3|Mail::Box::POP3> hides the
-protocol weirdness and works as any other mail folder.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Transport::POP3-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-Create a new pop3 server connection.  One object can only handle one
-connection: for a single user to one single server.  If the server
-could not be reached, or when the login fails, this instantiating C<new>
-will return C<undef>.
-
- Option        Defined in       Default       
- authenticate                   C<'AUTO'>     
- executable    L<Mail::Transport>  C<undef>      
- hostname      L<Mail::Transport>  C<'localhost'>
- interval      L<Mail::Transport>  C<30>         
- log           L<Mail::Reporter>  C<'WARNINGS'> 
- password      L<Mail::Transport>  undef         
- port          L<Mail::Transport>  C<110>        
- proxy         L<Mail::Transport>  undef         
- retry         L<Mail::Transport>  <false>       
- timeout       L<Mail::Transport>  C<120>        
- trace         L<Mail::Reporter>  C<'WARNINGS'> 
- username      L<Mail::Transport>  undef         
- via           L<Mail::Transport>  C<'sendmail'> 
-
-. authenticate 'LOGIN'|'APOP'|'AUTO'
-
-=over 4
-
-Authenthication method.  The standard defines two methods, named LOGIN and
-APOP.  The first sends the username and password in plain text to the server
-to get permission, the latter encrypts this data using MD5.  When AUTO is
-used, first APOP is tried, and then LOGIN.
-
-=back
-
-. executable FILENAME
-
-. hostname HOSTNAME|ARRAY-OF-HOSTNAMES
-
-. interval SECONDS
-
-. log LEVEL
-
-. password STRING
-
-. port INTEGER
-
-. proxy PATH
-
-. retry NUMBER|undef
-
-. timeout SECONDS
-
-. trace LEVEL
-
-. username STRING
-
-. via CLASS|NAME
-
-=back
-
-=head2 Receiving mail
-
-
-$obj-E<gt>B<receive>([UNIQUE-MESSAGE-ID])
-
-=over 4
-
-See L<Mail::Transport::Receive/"Receiving mail">
-
-=back
-
-=head2 Exchanging information
-
-
-$obj-E<gt>B<deleteFetched>
-
-=over 4
-
-Mark all messages that have been fetched with L<message()|Mail::Transport::POP3/"Exchanging information"> for deletion.
-See L<fetched()|Mail::Transport::POP3/"Exchanging information">.
-
-=back
-
-$obj-E<gt>B<deleted>(BOOLEAN, ID's)
-
-=over 4
-
-Either mark the specified message(s) to be deleted on the remote server or
-unmark them for deletion (if the first parameter is false).  Deletion of
-messages will take place B<only> when the connection is specifically
-disconnected or the last reference to the object goes out of scope.
-
-=back
-
-$obj-E<gt>B<disconnect>
-
-=over 4
-
-Break contact with the server, if that (still) exists.  Returns true if
-successful.  Please note that even if the disconnect was not successful,
-all knowledge of messages etc. will be removed from the object: the object
-basically has reverted to the state in which it was before anything was done
-with the mail box.
-
-=back
-
-$obj-E<gt>B<fetched>
-
-=over 4
-
-Returns a reference to a list of ID's that have been fetched using
-L<message()|Mail::Transport::POP3/"Exchanging information">.  This can be used to update a database of messages that
-were fetched (but maybe not yet deleted) from the mailbox.
-
-Please note that if the POP3 server did not support the UIDL command, this
-method will always return undef because it is not possibly to reliably
-identify messages between sessions (other than looking at the contents of
-the messages themselves).
-
-See also L<deleteFetched()|Mail::Transport::POP3/"Exchanging information">.
-
-=back
-
-$obj-E<gt>B<folderSize>
-
-=over 4
-
-Returns the total number of octets used by the mailbox on the remote server.
-
-=back
-
-$obj-E<gt>B<header>(ID, [BODYLINES])
-
-=over 4
-
-Returns a reference to an array which contains the header of the message
-with the specified ID.  C<undef> is returned if something has gone wrong.
-
-The optional integer BODYLINES specifies the number of lines from the body
-which should be added, by default none.
-
-I<Example:> 
-
- my $ref_lines = $pop3->header($uidl);
- print @$ref_lines;
-
-=back
-
-$obj-E<gt>B<id2n>(ID)
-
-=over 4
-
-Translates the unique ID of a message into a sequence number which
-represents the message as long a this connection to the POP3 server
-exists.  When the message has been deleted for some reason, C<undef>
-is returned.
-
-=back
-
-$obj-E<gt>B<ids>
-
-=over 4
-
-Returns a list (in list context) or a reference to a list (in scalar context)
-of all ID's which are known by the server on this moment.
-
-=back
-
-$obj-E<gt>B<message>(ID)
-
-=over 4
-
-Returns a reference to an array which contains the lines of the
-message with the specified ID.  Returns C<undef> if something has gone
-wrong.
-
-I<Example:> 
-
- my $ref_lines = $pop3->message($uidl);
- print @$ref_lines;
-
-=back
-
-$obj-E<gt>B<messageSize>(ID)
-
-=over 4
-
-Returns the size of the message which is indicated by the ID, in octets.
-If the message has been deleted on the remote server, this will return
-C<undef>.
-
-=back
-
-$obj-E<gt>B<messages>
-
-=over 4
-
-Returns (in scalar context only) the number of messages that are known
-to exist in the mailbox.
-
-=back
-
-=head2 Protocol internals
-
-The follow methods handle protocol internals, and should not be used
-by a normal user of this class.
-
-$obj-E<gt>B<login>
-
-=over 4
-
-Establish a new connection to the POP3 server, using username and password.
-
-=back
-
-$obj-E<gt>B<send>(SOCKET, data)
-
-=over 4
-
-Send data to the indicated socket and return the first line read from
-that socket.  Logs an error if either writing to or reading from socket failed.
-
-This method does B<not> attempt to reconnect or anything: if reading or
-writing the socket fails, something is very definitely wrong.
-
-=back
-
-$obj-E<gt>B<sendList>(SOCKET, COMMAND)
-
-=over 4
-
-Sends the indicated COMMAND to the specified socket, and retrieves the
-response.  It returns a reference to an array with all the lines that
-were reveived after the first C<+OK> line and before the end-of-message
-delimiter (a single dot on a line).  Returns C<undef>
-whenever something has gone wrong.
-
-=back
-
-$obj-E<gt>B<socket>
-
-=over 4
-
-Returns a connection to the POP3 server.  If there was no connection yet,
-it will be created transparently.  If the connection with the POP3 server
-was lost, it will be reconnected and the assures that internal
-state information (STAT and UIDL) is up-to-date in the object.
-
-If the contact to the server was still present, or could be established,
-an IO::Socket::INET object is returned.  Else, C<undef> is returned and
-no further actions should be tried on the object.
-
-=back
-
-$obj-E<gt>B<status>(SOCKET)
-
-=over 4
-
-Update the current status of folder on the remote POP3 server.
-
-=back
-
-=head2 Server connection
-
-
-$obj-E<gt>B<findBinary>(NAME [, DIRECTORIES])
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-$obj-E<gt>B<remoteHost>
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-$obj-E<gt>B<retry>
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-$obj-E<gt>B<url>
-
-=over 4
-
-Represent this pop3 connection as URL.
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Transport::POP3-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Transport::POP3-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Transport::POP3-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Cannot connect to $host:$port for POP3: $!
-
-Unsuccesful in connecting to the remote POP3 server.
-
-I<Error:> Cannot get the messages of pop3 via messages()
-
-It is not possible to retreive all messages on a remote POP3 folder
-at once: each shall be taken separately.  The POP3 folder will hide this
-for you.
-
-I<Error:> Cannot re-connect reliably to server which doesn't support UIDL.
-
-The connection to the remote POP3 was lost, and cannot be re-established
-because the server's protocol implementation lacks the necessary information.
-
-I<Error:> Cannot read POP3 from socket: $!
-
-It is not possible to read the success status of the previously given POP3
-command.  Connection lost?
-
-I<Error:> Cannot write POP3 to socket: $@
-
-It is not possible to send a protocol command to the POP3 server.  Connection
-lost?
-
-I<Error:> Could not authenticate using '$some' method.
-
-The authenication method to get access to the POP3 server did not result in
-a connection.  Maybe you need a different authentication protocol, or your
-username with password are invalid.
-
-I<Error:> Could not authenticate using any login method.
-
-No authentication method was explicitly prescribed, so both AUTH and APOP were
-tried.  However, both failed.  There are other authentication methods, which
-are not defined by the main POP3 RFC rfc1939.  These protocols are not
-implemented yet.  Please contribute your implementation.
-
-I<Error:> POP3 Could not do a STAT
-
-For some weird reason, the server does not respond to the STAT call.
-
-I<Error:> POP3 requires a username and password.
-
-No username and/or no password specified for this POP3 folder, although
-these are obligatory parts in the protocol.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Error:> Server at $host:$port does not seem to be talking POP3.
-
-The remote server did not respond to an initial exchange of messages as is
-expected by the POP3 protocol.  The server has probably a different
-service on the specified port.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/POP3.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Transport/POP3.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Qmail.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Transport/Qmail.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Qmail.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,53 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Transport::Qmail;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Transport::Send';
-
-use Carp;
-
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    $args->{via} = 'qmail';
-
-    $self->SUPER::init($args) or return;
-
-    $self->{MTM_program}
-      = $args->{proxy}
-     || $self->findBinary('qmail-inject', '/var/qmail/bin')
-     || return;
-
-    $self;
-}
-
-#------------------------------------------
-
-
-sub trySend($@)
-{   my ($self, $message, %args) = @_;
-
-    my $program = $self->{MTM_program};
-    if(open(MAILER, '|-')==0)
-    {   { exec $program; }
-        $self->log(NOTICE => "Errors when opening pipe to $program: $!");
-        exit 1;
-    }
- 
-    $self->putContent($message, \*MAILER, undisclosed => 1);
-
-    unless(close MAILER)
-    {   $self->log(ERROR => "Errors when closing Qmail mailer $program: $!");
-        $? ||= $!;
-        return 0;
-    }
-
-    1;
-}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Qmail.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Transport/Qmail.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Qmail.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Transport/Qmail.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Qmail.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,318 +0,0 @@
-
-=head1 NAME
-
-Mail::Transport::Qmail - transmit messages using external Qmail program
-
-
-=head1 INHERITANCE
-
- Mail::Transport::Qmail
-   is a Mail::Transport::Send
-   is a Mail::Transport
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my $sender = Mail::Transport::Qmail->new(...);
- $sender->send($message);
-
-
-=head1 DESCRIPTION
-
-Implements mail transport using the external programs C<'qmail-inject'>,
-part of the qmail mail-delivery system.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Transport::Qmail-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option      Defined in       Default          
- executable  L<Mail::Transport>  C<undef>         
- hostname    L<Mail::Transport>  C<'localhost'>   
- interval    L<Mail::Transport>  C<30>            
- log         L<Mail::Reporter>  C<'WARNINGS'>    
- password    L<Mail::Transport>  undef            
- port        L<Mail::Transport>  undef            
- proxy       L<Mail::Transport>  C<'qmail-inject'>
- retry       L<Mail::Transport>  <false>          
- timeout     L<Mail::Transport>  C<120>           
- trace       L<Mail::Reporter>  C<'WARNINGS'>    
- username    L<Mail::Transport>  undef            
- via         L<Mail::Transport>  C<'qmail'>       
-
-. executable FILENAME
-
-. hostname HOSTNAME|ARRAY-OF-HOSTNAMES
-
-. interval SECONDS
-
-. log LEVEL
-
-. password STRING
-
-. port INTEGER
-
-. proxy PATH
-
-. retry NUMBER|undef
-
-. timeout SECONDS
-
-. trace LEVEL
-
-. username STRING
-
-. via CLASS|NAME
-
-=back
-
-=head2 Sending mail
-
-
-$obj-E<gt>B<destinations>(MESSAGE, [ADDRESS|ARRAY-OF-ADDRESSES])
-
-=over 4
-
-See L<Mail::Transport::Send/"Sending mail">
-
-=back
-
-$obj-E<gt>B<putContent>(MESSAGE, FILEHANDLE, OPTIONS)
-
-=over 4
-
-See L<Mail::Transport::Send/"Sending mail">
-
-=back
-
-$obj-E<gt>B<send>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Transport::Send/"Sending mail">
-
-=back
-
-$obj-E<gt>B<trySend>(MESSAGE, OPTIONS)
-
-=over 4
-
-=back
-
-=head2 Server connection
-
-
-$obj-E<gt>B<findBinary>(NAME [, DIRECTORIES])
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-$obj-E<gt>B<remoteHost>
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-$obj-E<gt>B<retry>
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Transport::Qmail-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Transport::Qmail-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Transport::Qmail-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Errors when closing Qmail mailer $program: $!
-
-The Qmail mail transfer agent did start, but was not able to handle the
-message for some specific reason.
-
-I<Warning:> Message has no destination
-
-It was not possible to figure-out where the message is intended to go
-to.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Warning:> Resent group does not specify a destination
-
-The message which is sent is the result of a bounce (for instance
-created with L<Mail::Message::bounce()|Mail::Message::Construct::Bounce/"Constructing a message">), and therefore starts with a
-C<Received> header field.  With the C<bounce>, the new destination(s)
-of the message are given, which should be included as C<Resent-To>,
-C<Resent-Cc>, and C<Resent-Bcc>.
-
-The C<To>, C<Cc>, and C<Bcc> header information is only used if no
-C<Received> was found.  That seems to be the best explanation of the RFC.
-
-As alternative, you may also specify the C<to> option to some of the senders
-(for instance L<Mail::Transport::SMTP::send(to)|Mail::Transport::Send/"Sending mail"> to overrule any information
-found in the message itself about the destination.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Qmail.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Transport/Qmail.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Receive.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Transport/Receive.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Receive.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,15 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Transport::Receive;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Transport';
-
-
-sub receive(@) {shift->notImplemented}
-
-#------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Receive.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Transport/Receive.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Receive.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Transport/Receive.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Receive.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,263 +0,0 @@
-
-=head1 NAME
-
-Mail::Transport::Receive - receive messages
-
-
-=head1 INHERITANCE
-
- Mail::Transport::Receive
-   is a Mail::Transport
-   is a Mail::Reporter
-
- Mail::Transport::Receive is extended by
-   Mail::Transport::IMAP4
-   Mail::Transport::POP3
-
-
-=head1 SYNOPSIS
-
- my $receiver = Mail::Transport::POP3->new(...);
- my $message = $receiver->receive($id);
-
-
-=head1 DESCRIPTION
-
-Each object which extends L<Mail::Transport::Receive|Mail::Transport::Receive> implement
-a protocol which can get messages into your application.  The internals
-of each implementation can differ quite a lot, so have a look at each
-separate manual page as well.
-
-Current message receivers:
-
-=over 4
-
-=item * L<Mail::Transport::POP3|Mail::Transport::POP3>
-
-Implements the POP3 protocol.  See also L<Mail::Box::POP3|Mail::Box::POP3>.
-
-=back
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Transport::Receive-E<gt>B<new>(OPTIONS)
-
-=over 4
-
-See L<Mail::Transport/"METHODS">
-
-=back
-
-=head2 Receiving mail
-
-
-$obj-E<gt>B<receive>([UNIQUE-MESSAGE-ID])
-
-=over 4
-
-Receive one message from the remote server.  Some receivers will provide
-the next message automatically, other are random access and use the
-specified ID.
-
-=back
-
-=head2 Server connection
-
-
-$obj-E<gt>B<findBinary>(NAME [, DIRECTORIES])
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-$obj-E<gt>B<remoteHost>
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-$obj-E<gt>B<retry>
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Transport::Receive-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Transport::Receive-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Transport::Receive-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> Avoid program abuse: specify an absolute path for $exec.
-
-Specifying explicit locations for executables of email transfer agents
-should only be done with absolute file names, to avoid various pontential
-security problems.
-
-I<Warning:> Executable $exec does not exist.
-
-The explicitly indicated mail transfer agent does not exists. The normal
-settings are used to find the correct location.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Receive.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Transport/Receive.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/SMTP.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Transport/SMTP.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/SMTP.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,179 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Transport::SMTP;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Transport::Send';
-
-use Net::SMTP;
-
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    my $hosts   = $args->{hostname};
-    unless($hosts)
-    {   require Net::Config;
-        $hosts  = $Net::Config::NetConfig{smtp_hosts};
-        undef $hosts unless @$hosts;
-        $args->{hostname} = $hosts;
-    }
-
-    $args->{via}  ||= 'smtp';
-    $args->{port} ||= '25';
-
-    $self->SUPER::init($args) or return;
-
-    my $helo = $args->{helo}
-      || eval { require Net::Config; $Net::Config::inet_domain }
-      || eval { require Net::Domain; Net::Domain::hostfqdn() };
-
-    $self->{MTS_net_smtp_opts}
-       = { Hello   => $helo
-         , Debug   => ($args->{smtp_debug} || 0)
-         };
-
-    $self;
-}
-
-#------------------------------------------
-
-
-sub trySend($@)
-{   my ($self, $message, %args) = @_;
-
-    # From whom is this message.
-    my $from = $args{from} || $message->sender || '<>';
-    $from = $from->address if ref $from && $from->isa('Mail::Address');
-
-    # Who are the destinations.
-    if(defined $args{To})
-    {   $self->log(WARNING =>
-   "Use option `to' to overrule the destination: `To' would refer to a field");
-    }
-
-    my @to = map {$_->address} $self->destinations($message, $args{to});
-
-    unless(@to)
-    {   $self->log(NOTICE =>
-            'No addresses found to send the message to, no connection made');
-        return 1;
-    }
-
-    # Prepare the header
-    my @header;
-    require IO::Lines;
-    my $lines = IO::Lines->new(\@header);
-    $message->head->printUndisclosed($lines);
-
-    #
-    # Send
-    #
-
-    if(wantarray)
-    {   # In LIST context
-        my $server;
-        return (0, 500, "Connection Failed", "CONNECT", 0)
-            unless $server = $self->contactAnyServer;
-
-        return (0, $server->code, $server->message, 'FROM', $server->quit)
-            unless $server->mail($from);
-
-        foreach (@to)
-        {     next if $server->to($_);
-# must we be able to disable this?
-# next if $args{ignore_erroneous_destinations}
-              return (0, $server->code, $server->message,"To $_",$server->quit);
-        }
-
-        $server->data;
-        $server->datasend($_) foreach @header;
-        my $bodydata = $message->body->file;
-
-        if(ref $bodydata eq 'GLOB') { $server->datasend($_) while <$bodydata> }
-        else    { while(my $l = $bodydata->getline) { $server->datasend($l) } }
-
-        return (0, $server->code, $server->message, 'DATA', $server->quit)
-            unless $server->dataend;
-
-        return ($server->quit, $server->code, $server->message, 'QUIT',
-                $server->code);
-    }
-
-    # in SCALAR context
-    my $server;
-    return 0 unless $server = $self->contactAnyServer;
-
-    $server->quit, return 0
-        unless $server->mail($from);
-
-    foreach (@to)
-    {
-          next if $server->to($_);
-# must we be able to disable this?
-# next if $args{ignore_erroneous_destinations}
-          $server->quit;
-          return 0;
-    }
-
-    $server->data;
-    $server->datasend($_) foreach @header;
-    my $bodydata = $message->body->file;
-
-    if(ref $bodydata eq 'GLOB') { $server->datasend($_) while <$bodydata> }
-    else    { while(my $l = $bodydata->getline) { $server->datasend($l) } }
-
-    $server->quit, return 0
-        unless $server->dataend;
-
-    $server->quit;
-}
-
-#------------------------------------------
-
-
-sub contactAnyServer()
-{   my $self = shift;
-
-    my ($enterval, $count, $timeout) = $self->retry;
-    my ($host, $port, $username, $password) = $self->remoteHost;
-    my @hosts = ref $host ? @$host : $host;
-
-    foreach my $host (@hosts)
-    {   my $server = $self->tryConnectTo
-         ( $host, Port => $port,
-         , %{$self->{MTS_net_smtp_opts}}, Timeout => $timeout
-         );
-
-        defined $server or next;
-
-        $self->log(PROGRESS => "Opened SMTP connection to $host.");
-
-        if(defined $username)
-        {   if($server->auth($username, $password))
-            {    $self->log(PROGRESS => "$host: Authentication succeeded.");
-            }
-            else
-            {    $self->log(ERROR => "Authentication failed.");
-                 return undef;
-            }
-        }
-
-        return $server;
-    }
-
-    undef;
-}
-
-#------------------------------------------
-
-
-sub tryConnectTo($@)
-{   my ($self, $host) = (shift, shift);
-    Net::SMTP->new($host, @_);
-}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/SMTP.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Transport/SMTP.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/SMTP.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Transport/SMTP.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/SMTP.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,421 +0,0 @@
-
-=head1 NAME
-
-Mail::Transport::SMTP - transmit messages without external program
-
-
-=head1 INHERITANCE
-
- Mail::Transport::SMTP
-   is a Mail::Transport::Send
-   is a Mail::Transport
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my $sender = Mail::Transport::SMTP->new(...);
- $sender->send($message);
-
- $message->send(via => 'smtp');
-
-
-=head1 DESCRIPTION
-
-This module implements transport of C<Mail::Message> objects by negotiating
-to the destination host directly by using the SMTP protocol, without help of
-C<sendmail>, C<mail>, or other programs on the local host.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Transport::SMTP-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option      Defined in       Default           
- executable  L<Mail::Transport>  C<undef>          
- helo                         <from Net::Config>
- hostname    L<Mail::Transport>  <from Net::Config>
- interval    L<Mail::Transport>  C<30>             
- log         L<Mail::Reporter>  C<'WARNINGS'>     
- password                     undef             
- port        L<Mail::Transport>  C<25>             
- proxy       L<Mail::Transport>  <from Net::Config>
- retry       L<Mail::Transport>  <false>           
- smtp_debug                   <false>           
- timeout                      120               
- trace       L<Mail::Reporter>  C<'WARNINGS'>     
- username                     undef             
- via         L<Mail::Transport>  C<'smtp'>         
-
-. executable FILENAME
-
-. helo HOST
-
-=over 4
-
-The fully qualified name of the sender's host (your system) which
-is used for the greeting message to the receiver.  If not specified,
-Net::Config or else Net::Domain are questioned to find it.
-When even these do not supply a valid name, the name of the domain in the
-C<From> line of the message is assumed.
-
-=back
-
-. hostname HOSTNAME|ARRAY-OF-HOSTNAMES
-
-. interval SECONDS
-
-. log LEVEL
-
-. password STRING
-
-=over 4
-
-The password to be used with the new(username) to log in to the remote
-server.
-
-=back
-
-. port INTEGER
-
-. proxy PATH
-
-. retry NUMBER|undef
-
-. smtp_debug BOOLEAN
-
-=over 4
-
-Simulate transmission: the SMTP protocol output will be sent to your
-screen.
-
-=back
-
-. timeout SECONDS
-
-=over 4
-
-The number of seconds to wait for a valid response from the server before
-failing.
-
-=back
-
-. trace LEVEL
-
-. username STRING
-
-=over 4
-
-Use SASL authentication to contact the remote SMTP server (RFC2554).
-This username in combination with new(password) is passed as arguments
-to Net::SMTP method auth.  Other forms of authentication are not
-supported by Net::SMTP.  The C<username> can also be specified as an
-Authen::SASL object.
-
-=back
-
-. via CLASS|NAME
-
-=back
-
-=head2 Sending mail
-
-
-$obj-E<gt>B<destinations>(MESSAGE, [ADDRESS|ARRAY-OF-ADDRESSES])
-
-=over 4
-
-See L<Mail::Transport::Send/"Sending mail">
-
-=back
-
-$obj-E<gt>B<putContent>(MESSAGE, FILEHANDLE, OPTIONS)
-
-=over 4
-
-See L<Mail::Transport::Send/"Sending mail">
-
-=back
-
-$obj-E<gt>B<send>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Transport::Send/"Sending mail">
-
-=back
-
-$obj-E<gt>B<trySend>(MESSAGE, OPTIONS)
-
-=over 4
-
-Try to send the MESSAGE once.   This may fail, in which case this
-method will return C<false>.  In list context, the reason for failure
-can be caught: in list context C<trySend> will return a list of
-five values:
-
- (success, error code, error text, error location, quit success)
-
-Success and quit success are booleans.  The error code and -text are
-protocol specific codes and texts.  The location tells where the
-problem occurred.
-
- Option  Defined in       Default    
- from                     E<lt> E<gt>
- to                       []         
-
-. from ADDRESS
-
-=over 4
-
-Your own identification.  This may be fake.  If not specified, it is
-taken from L<Mail::Message::sender()|Mail::Message/"The header">, which means the content of the
-C<Sender> field of the message or the first address of the C<From>
-field.  This defaults to "E<lt> E<gt>", which represents "no address".
-
-=back
-
-. to ADDRESS|[ADDRESSES]
-
-=over 4
-
-Alternative destinations.  If not specified, the C<To>, C<Cc> and C<Bcc>
-fields of the header are used.  An address is a string or a Mail::Address
-object.
-
-=back
-
-=back
-
-=head2 Server connection
-
-
-$obj-E<gt>B<contactAnyServer>
-
-=over 4
-
-Creates the connection to the SMTP server.  When more than one hostname
-was specified, the first which accepts a connection is taken.  An
-IO::Socket::INET object is returned.
-
-=back
-
-$obj-E<gt>B<findBinary>(NAME [, DIRECTORIES])
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-$obj-E<gt>B<remoteHost>
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-$obj-E<gt>B<retry>
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-$obj-E<gt>B<tryConnectTo>(HOST, OPTIONS)
-
-=over 4
-
-Try to establish a connection to deliver SMTP to the specified HOST.  The
-OPTIONS are passed to the C<new> method of Net::SMTP.
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Transport::SMTP-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Transport::SMTP-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Transport::SMTP-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> Message has no destination
-
-It was not possible to figure-out where the message is intended to go
-to.
-
-I<Notice:> No addresses found to send the message to, no connection made
-
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Warning:> Resent group does not specify a destination
-
-The message which is sent is the result of a bounce (for instance
-created with L<Mail::Message::bounce()|Mail::Message::Construct::Bounce/"Constructing a message">), and therefore starts with a
-C<Received> header field.  With the C<bounce>, the new destination(s)
-of the message are given, which should be included as C<Resent-To>,
-C<Resent-Cc>, and C<Resent-Bcc>.
-
-The C<To>, C<Cc>, and C<Bcc> header information is only used if no
-C<Received> was found.  That seems to be the best explanation of the RFC.
-
-As alternative, you may also specify the C<to> option to some of the senders
-(for instance L<Mail::Transport::SMTP::send(to)|Mail::Transport::Send/"Sending mail"> to overrule any information
-found in the message itself about the destination.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/SMTP.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Transport/SMTP.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Send.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Transport/Send.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Send.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,105 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Transport::Send;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Transport';
-
-use Carp;
-use File::Spec;
-use Errno 'EAGAIN';
-
-
-sub new(@)
-{   my $class = shift;
-    return $class->SUPER::new(@_)
-       if $class ne __PACKAGE__;
-
-    require Mail::Transport::Sendmail;
-    Mail::Transport::Sendmail->new(@_);
-}
-
-#------------------------------------------
-
-
-sub send($@)
-{   my ($self, $message, %args) = @_;
-
-    unless($message->isa('Mail::Message'))  # avoid rebless.
-    {   $message = Mail::Message->coerce($message);
-        confess "Unable to coerce object into Mail::Message."
-            unless defined $message;
-    }
-
-    return 1 if $self->trySend($message, %args);
-    return 0 unless $?==EAGAIN;
-
-    my ($interval, $retry) = $self->retry;
-    $interval = $args{interval} if exists $args{interval};
-    $retry    = $args{retry}    if exists $args{retry};
-
-    while($retry!=0)
-    {   sleep $interval;
-        return 1 if $self->trySend($message, %args);
-        return 0 unless $?==EAGAIN;
-        $retry--;
-    }
-
-    0;
-}
-
-#------------------------------------------
-
-
-sub trySend($@)
-{   my $self = shift;
-    $self->log(ERROR => "Transporters of type ".ref($self). " cannot send.");
-}
-
-#------------------------------------------
-
-
-sub putContent($$@)
-{   my ($self, $message, $fh, %args) = @_;
-
-       if($args{body_only})   { $message->body->print($fh) }
-    elsif($args{undisclosed}) { $message->Mail::Message::print($fh) }
-    else
-    {   $message->head->printUndisclosed($fh);
-        $message->body->print($fh);
-    }
-
-    $self;
-}
-
-#------------------------------------------
-
-
-sub destinations($;$)
-{   my ($self, $message, $overrule) = @_;
-    my @to;
-
-    if(defined $overrule)      # Destinations overruled by user.
-    {   my @addr = ref $overrule eq 'ARRAY' ? @$overrule : ($overrule);
-        @to = map { ref $_ && $_->isa('Mail::Address') ? ($_)
-                    : Mail::Address->parse($_) } @addr;
-    }
-    elsif(my @rgs = $message->head->resentGroups)
-    {   @to = $rgs[0]->destinations;
-        $self->log(WARNING => "Resent group does not specify a destination"), return ()
-            unless @to;
-    }
-    else
-    {   @to = $message->destinations;
-        $self->log(WARNING => "Message has no destination"), return ()
-            unless @to;
-    }
-
-    @to;
-}
-
-#------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Send.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Transport/Send.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Send.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Transport/Send.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Send.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,419 +0,0 @@
-
-=head1 NAME
-
-Mail::Transport::Send - send a message
-
-
-=head1 INHERITANCE
-
- Mail::Transport::Send
-   is a Mail::Transport
-   is a Mail::Reporter
-
- Mail::Transport::Send is extended by
-   Mail::Transport::Exim
-   Mail::Transport::Mailx
-   Mail::Transport::Qmail
-   Mail::Transport::SMTP
-   Mail::Transport::Sendmail
-
-
-=head1 SYNOPSIS
-
- my $message = Mail::Message->new(...);
-
- # Some extensions implement sending:
- $message->send;
- $message->send(via => 'sendmail');
-
- my $sender = Mail::Transport::SMTP->new(...);
- $sender->send($message);
-
-
-=head1 DESCRIPTION
-
-Send a message to the destinations as specified in the header.  The
-C<Mail::Transport::Send> module is capable of autodetecting which of the
-following modules work on your system; you may simply call C<send>
-without C<via> options to get a message transported.
-
-=over 4
-
-=item * L<Mail::Transport::Sendmail|Mail::Transport::Sendmail>
-
-Use sendmail to process and deliver the mail.  This requires the
-C<sendmail> program to be installed on your system.  Whether this
-is an original sendmail, or a replacement from Postfix does matter.
-
-=item * L<Mail::Transport::Exim|Mail::Transport::Exim>
-
-Use C<exim> to distribute the message.
-
-=item * L<Mail::Transport::Qmail|Mail::Transport::Qmail>
-
-Use C<qmail-inject> to distribute the message.
-
-=item * L<Mail::Transport::SMTP|Mail::Transport::SMTP>
-
-In this case, Perl is handling mail transport on its own.  This is less
-desired but more portable than sending with sendmail or qmail.
-The advantage is that this sender is environment independent, and easier to
-configure.  However, there is no daemon involved which means that your
-program will wait until the message is delivered, and the message is
-lost when your program is interrupted during delivery (which may
-take hours to complete).
-
-=item * L<Mail::Transport::Mailx|Mail::Transport::Mailx>
-
-Use the external C<mail>, C<mailx>, or C<Mail> programs to send the
-message.  Usually, the result is poor, because some versions of these
-programs do not support MIME headers.  Besides, these programs are
-known to have exploitable security breaches.
-
-=back
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Transport::Send-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option      Defined in       Default       
- executable  L<Mail::Transport>  C<undef>      
- hostname    L<Mail::Transport>  C<'localhost'>
- interval    L<Mail::Transport>  C<30>         
- log         L<Mail::Reporter>  C<'WARNINGS'> 
- password    L<Mail::Transport>  undef         
- port        L<Mail::Transport>  undef         
- proxy       L<Mail::Transport>  undef         
- retry       L<Mail::Transport>  <false>       
- timeout     L<Mail::Transport>  C<120>        
- trace       L<Mail::Reporter>  C<'WARNINGS'> 
- username    L<Mail::Transport>  undef         
- via         L<Mail::Transport>  C<'sendmail'> 
-
-. executable FILENAME
-
-. hostname HOSTNAME|ARRAY-OF-HOSTNAMES
-
-. interval SECONDS
-
-. log LEVEL
-
-. password STRING
-
-. port INTEGER
-
-. proxy PATH
-
-. retry NUMBER|undef
-
-. timeout SECONDS
-
-. trace LEVEL
-
-. username STRING
-
-. via CLASS|NAME
-
-=back
-
-=head2 Sending mail
-
-
-$obj-E<gt>B<destinations>(MESSAGE, [ADDRESS|ARRAY-OF-ADDRESSES])
-
-=over 4
-
-Determine the destination for this message.  If a valid ADDRESS is defined,
-this is used to overrule the addresses within the message.  If the ADDRESS
-is C<undef> it is ignored.
-
-If no ADDRESS is specified, the message is scanned for resent groups
-(see L<Mail::Message::Head::Complete::resentGroups()|Mail::Message::Head::Complete/"Access to the header">).  The addresses
-found in the first (is latest added) group are used.  If no resent groups
-are found, the normal C<To>, C<Cc>, and C<Bcc> lines are taken.
-
-=back
-
-$obj-E<gt>B<putContent>(MESSAGE, FILEHANDLE, OPTIONS)
-
-=over 4
-
-Print the content of the MESSAGE to the FILEHANDLE.
-
- Option       Defined in       Default
- body_only                     <false>
- undisclosed                   <false>
-
-. body_only BOOLEAN
-
-=over 4
-
-Print only the body of the message, not the whole.
-
-=back
-
-. undisclosed BOOLEAN
-
-=over 4
-
-Do not print the C<Bcc> and C<Resent-Bcc> lines.  Default false, which
-means that they are not printed.
-
-=back
-
-=back
-
-$obj-E<gt>B<send>(MESSAGE, OPTIONS)
-
-=over 4
-
-Transmit the MESSAGE, which may be anything what can be coerced into a
-L<Mail::Message|Mail::Message>, so including Mail::Internet and MIME::Entity
-messages.  It returns true when the transmission was successfully completed.
-
- Option    Defined in       Default                                   
- interval                   L<new(interval)|Mail::Transport/"METHODS">
- retry                      L<new(retry)|Mail::Transport/"METHODS">   
- to                         C<undef>                                  
-
-. interval SECONDS
-
-. retry INTEGER
-
-. to STRING
-
-=over 4
-
-Overrules the destination(s) of the message, which is by default taken
-from the (Resent-)To, (Resent-)Cc, and (Resent-)Bcc.
-
-=back
-
-=back
-
-$obj-E<gt>B<trySend>(MESSAGE, OPTIONS)
-
-=over 4
-
-Try to send the message. This will return true if successful, and
-false in case some problems where detected.  The C<$?> contains
-the exit status of the command which was started.
-
-=back
-
-=head2 Server connection
-
-
-$obj-E<gt>B<findBinary>(NAME [, DIRECTORIES])
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-$obj-E<gt>B<remoteHost>
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-$obj-E<gt>B<retry>
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Transport::Send-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Transport::Send-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Transport::Send-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> Message has no destination
-
-It was not possible to figure-out where the message is intended to go
-to.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Warning:> Resent group does not specify a destination
-
-The message which is sent is the result of a bounce (for instance
-created with L<Mail::Message::bounce()|Mail::Message::Construct::Bounce/"Constructing a message">), and therefore starts with a
-C<Received> header field.  With the C<bounce>, the new destination(s)
-of the message are given, which should be included as C<Resent-To>,
-C<Resent-Cc>, and C<Resent-Bcc>.
-
-The C<To>, C<Cc>, and C<Bcc> header information is only used if no
-C<Received> was found.  That seems to be the best explanation of the RFC.
-
-As alternative, you may also specify the C<to> option to some of the senders
-(for instance L<Mail::Transport::SMTP::send(to)|Mail::Transport::Send/"Sending mail"> to overrule any information
-found in the message itself about the destination.
-
-I<Error:> Transporters of type $class cannot send.
-
-The L<Mail::Transport|Mail::Transport> object of the specified type can not send messages,
-but only receive message.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Send.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Transport/Send.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Sendmail.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Transport/Sendmail.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Sendmail.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,58 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Transport::Sendmail;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Transport::Send';
-
-use Carp;
-
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    $args->{via} = 'sendmail';
-
-    $self->SUPER::init($args) or return;
-
-    $self->{MTS_program}
-      = $args->{proxy}
-     || $self->findBinary('sendmail')
-     || return;
-
-    $self->{MTS_opts} = $args->{sendmail_options} || [];
-    $self;
-}
-
-#------------------------------------------
-
-
-sub trySend($@)
-{   my ($self, $message, %args) = @_;
-
-    my $program = $self->{MTS_program};
-    if(open(MAILER, '|-')==0)
-    {   my $options = $args{sendmail_options} || [];
-
-        # {} to avoid warning
-        { exec $program, '-ti', @{$self->{MTS_opts}}, @$options; }
-
-        $self->log(NOTICE => "Errors when opening pipe to $program: $!");
-        exit 1;
-    }
- 
-    $self->putContent($message, \*MAILER, undisclosed => 1);
-
-    unless(close MAILER)
-    {   $self->log(NOTICE => "Errors when closing sendmail mailer $program: $!");
-        $? ||= $!;
-        return 0;
-    }
-
-    1;
-}
-
-#------------------------------------------
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Sendmail.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Transport/Sendmail.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Sendmail.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Transport/Sendmail.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Sendmail.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,339 +0,0 @@
-
-=head1 NAME
-
-Mail::Transport::Sendmail - transmit messages using external Sendmail program
-
-
-=head1 INHERITANCE
-
- Mail::Transport::Sendmail
-   is a Mail::Transport::Send
-   is a Mail::Transport
-   is a Mail::Reporter
-
-
-=head1 SYNOPSIS
-
- my $sender = Mail::Transport::Sendmail->new(...);
- $sender->send($message);
-
-
-=head1 DESCRIPTION
-
-Implements mail transport using the external C<'Sendmail'> program.
-When instantiated, the mailer will look for the binary in specific system
-directories, and the first version found is taken.
-
-Some people use Postfix as MTA.  Postfix can be installed as replacement
-for Sendmail: is provides a program with the same name and options.  So,
-this module supports postfix as well.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Transport::Sendmail-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option            Defined in       Default       
- executable        L<Mail::Transport>  C<undef>      
- hostname          L<Mail::Transport>  C<'localhost'>
- interval          L<Mail::Transport>  C<30>         
- log               L<Mail::Reporter>  C<'WARNINGS'> 
- password          L<Mail::Transport>  undef         
- port              L<Mail::Transport>  undef         
- proxy             L<Mail::Transport>  undef         
- retry             L<Mail::Transport>  <false>       
- sendmail_options                   []            
- timeout           L<Mail::Transport>  C<120>        
- trace             L<Mail::Reporter>  C<'WARNINGS'> 
- username          L<Mail::Transport>  undef         
- via               L<Mail::Transport>  C<'sendmail'> 
-
-. executable FILENAME
-
-. hostname HOSTNAME|ARRAY-OF-HOSTNAMES
-
-. interval SECONDS
-
-. log LEVEL
-
-. password STRING
-
-. port INTEGER
-
-. proxy PATH
-
-. retry NUMBER|undef
-
-. sendmail_options ARRAY
-
-=over 4
-
-Add to the command-line of the started sendmail MTU a list of
-separate words.  So say C< [ '-f', $file ] > and not C< [ "-f $file" ] >,
-because the latter will be taken by sendmail as one word only.
-
-=back
-
-. timeout SECONDS
-
-. trace LEVEL
-
-. username STRING
-
-. via CLASS|NAME
-
-=back
-
-=head2 Sending mail
-
-
-$obj-E<gt>B<destinations>(MESSAGE, [ADDRESS|ARRAY-OF-ADDRESSES])
-
-=over 4
-
-See L<Mail::Transport::Send/"Sending mail">
-
-=back
-
-$obj-E<gt>B<putContent>(MESSAGE, FILEHANDLE, OPTIONS)
-
-=over 4
-
-See L<Mail::Transport::Send/"Sending mail">
-
-=back
-
-$obj-E<gt>B<send>(MESSAGE, OPTIONS)
-
-=over 4
-
-See L<Mail::Transport::Send/"Sending mail">
-
-=back
-
-$obj-E<gt>B<trySend>(MESSAGE, OPTIONS)
-
-=over 4
-
- Option            Defined in  Default
- sendmail_options              undef  
-
-. sendmail_options ARRAY
-
-=back
-
-=head2 Server connection
-
-
-$obj-E<gt>B<findBinary>(NAME [, DIRECTORIES])
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-$obj-E<gt>B<remoteHost>
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-$obj-E<gt>B<retry>
-
-=over 4
-
-See L<Mail::Transport/"Server connection">
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Transport::Sendmail-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Transport::Sendmail-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Transport::Sendmail-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Error:> Errors when closing sendmail mailer $program: $!
-
-The was no problem starting the sendmail mail transfer agent, but for
-some specific reason the message could not be handled correctly.
-
-I<Warning:> Message has no destination
-
-It was not possible to figure-out where the message is intended to go
-to.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-I<Warning:> Resent group does not specify a destination
-
-The message which is sent is the result of a bounce (for instance
-created with L<Mail::Message::bounce()|Mail::Message::Construct::Bounce/"Constructing a message">), and therefore starts with a
-C<Received> header field.  With the C<bounce>, the new destination(s)
-of the message are given, which should be included as C<Resent-To>,
-C<Resent-Cc>, and C<Resent-Bcc>.
-
-The C<To>, C<Cc>, and C<Bcc> header information is only used if no
-C<Received> was found.  That seems to be the best explanation of the RFC.
-
-As alternative, you may also specify the C<to> option to some of the senders
-(for instance L<Mail::Transport::SMTP::send(to)|Mail::Transport::Send/"Sending mail"> to overrule any information
-found in the message itself about the destination.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport/Sendmail.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Transport/Sendmail.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport.pm
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Transport.pm	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport.pm	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,121 +0,0 @@
-use strict;
-use warnings;
-
-package Mail::Transport;
-use vars '$VERSION';
-$VERSION = '2.062';
-use base 'Mail::Reporter';
-
-use Carp;
-use File::Spec;
-
-
-my %mailers =
- ( exim     => '::Exim'
- , mail     => '::Mailx'
- , mailx    => '::Mailx'
- , pop      => '::POP3'
- , pop3     => '::POP3'
- , postfix  => '::Sendmail'
- , qmail    => '::Qmail'
- , sendmail => '::Sendmail'
- , smtp     => '::SMTP'
- );
-
-#------------------------------------------
-
-
-sub new(@)
-{   my $class = shift;
-
-    return $class->SUPER::new(@_)
-        unless $class eq __PACKAGE__ || $class eq "Mail::Transport::Send";
-
-    #
-    # auto restart by creating the right transporter.
-    #
-
-    my %args  = @_;
-    my $via   = lc($args{via} || '')
-        or croak "No transport protocol provided";
-
-    $via      = 'Mail::Transport'.$mailers{$via}
-       if exists $mailers{$via};
-
-    eval "require $via";
-    return undef if $@;
-
-    $via->new(@_);
-}
-
-sub init($)
-{   my ($self, $args) = @_;
-
-    $self->SUPER::init($args);
-
-    $self->{MT_hostname}
-       = defined $args->{hostname} ? $args->{hostname} : 'localhost';
-
-    $self->{MT_port}     = $args->{port};
-    $self->{MT_username} = $args->{username};
-    $self->{MT_password} = $args->{password};
-    $self->{MT_interval} = $args->{interval} || 30;
-    $self->{MT_retry}    = $args->{retry}    || -1;
-    $self->{MT_timeout}  = $args->{timeout}  || 120;
-    $self->{MT_proxy}    = $args->{proxy};
-
-    if(my $exec = $args->{executable} || $args->{proxy})
-    {   $self->{MT_exec} = $exec;
-
-        $self->log(WARNING => "Avoid program abuse: specify an absolute path for $exec.")
-           unless File::Spec->file_name_is_absolute($exec);
-
-        unless(-x $exec)
-        {   $self->log(WARNING => "Executable $exec does not exist.");
-            return undef;
-        }
-    }
-
-    $self;
-}
-
-#------------------------------------------
-
-
-sub remoteHost()
-{   my $self = shift;
-    @$self{ qw/MT_hostname MT_port MT_username MT_password/ };
-}
-
-#------------------------------------------
-
-
-sub retry()
-{   my $self = shift;
-    @$self{ qw/MT_interval MT_retry MT_timeout/ };
-}
-
-#------------------------------------------
-
-
-my @safe_directories
-   = qw(/usr/local/bin /usr/bin /bin /sbin /usr/sbin /usr/lib);
-
-sub findBinary($@)
-{   my ($self, $name) = (shift, shift);
-
-    return $self->{MT_exec}
-        if exists $self->{MT_exec};
-
-    foreach (@_, @safe_directories)
-    {   my $fullname = File::Spec->catfile($_, $name);
-        return $fullname if -x $fullname;
-    }
-
-    undef;
-}
-
-#------------------------------------------
-
-
-1;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport.pm (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Transport.pm)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport.pod
===================================================================
--- packages/libmail-box-perl/trunk/lib/Mail/Transport.pod	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport.pod	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,369 +0,0 @@
-
-=head1 NAME
-
-Mail::Transport - base class for message exchange
-
-
-=head1 INHERITANCE
-
- Mail::Transport
-   is a Mail::Reporter
-
- Mail::Transport is extended by
-   Mail::Transport::Receive
-   Mail::Transport::Send
-
-
-=head1 SYNOPSIS
-
- my $message = Mail::Message->new(...);
-
- # Some extensions implement sending:
- $message->send;
- $message->send(via => 'sendmail');
-
- my $sender = Mail::Transport::SMTP->new(...);
- $sender->send($message);
-
- # Some extensions implement receiving:
- my $receiver = Mail::Transport::POP3->new(...);
- $message = $receiver->receive;
-
-
-=head1 DESCRIPTION
-
-Objects which extend C<Mail::Transport> implement sending and/or
-receiving of messages, using various protocols.
-
-L<Mail::Transport::Send|Mail::Transport::Send> extends this class, and offers general
-functionality for send protocols, like SMTP.  L<Mail::Transport::Receive|Mail::Transport::Receive>
-also extends this class, and offers receive method.  Some transport
-protocols will implement both sending and receiving.
-
-
-
-=head1 METHODS
-
-
-=head2 Constructors
-
-
-Mail::Transport-E<gt>B<new>(OPTIONS)
-
-=over 4
-
- Option      Defined in       Default       
- executable                   C<undef>      
- hostname                     C<'localhost'>
- interval                     C<30>         
- log         L<Mail::Reporter>  C<'WARNINGS'> 
- password                     undef         
- port                         undef         
- proxy                        undef         
- retry                        <false>       
- timeout                      C<120>        
- trace       L<Mail::Reporter>  C<'WARNINGS'> 
- username                     undef         
- via                          C<'sendmail'> 
-
-. executable FILENAME
-
-=over 4
-
-If you specify an executable, the module does not need to search the
-system directories to figure-out where the client lives.  Using this
-decreases the flexible usage of your program: moving your program
-to other systems may involve changing the path to the executable,
-which otherwise would work auto-detect and unmodified.
-
-=back
-
-. hostname HOSTNAME|ARRAY-OF-HOSTNAMES
-
-=over 4
-
-The host on which the server runs.  Some protocols accept an array
-of alternatives for this option.
-
-=back
-
-. interval SECONDS
-
-=over 4
-
-The time between tries to contact the remote server for sending or
-receiving a message in SECONDS.  This number must be larger than 0.
-
-=back
-
-. log LEVEL
-
-. password STRING
-
-=over 4
-
-Some protocols require a password to be given, usually in combination
-with a password.
-
-=back
-
-. port INTEGER
-
-=over 4
-
-The port number behind which the service is hiding on the remote server.
-
-=back
-
-. proxy PATH
-
-=over 4
-
-The name of the proxy software (the protocol handler).  This must be
-the name (preferable the absolute path) of your mail delivery
-software.
-
-=back
-
-. retry NUMBER|undef
-
-=over 4
-
-The number of retries before the sending will fail.  If C<undef>, the
-number of retries is unlimited.
-
-=back
-
-. timeout SECONDS
-
-=over 4
-
-SECONDS till time-out while establishing the connection to a remote server.
-
-=back
-
-. trace LEVEL
-
-. username STRING
-
-=over 4
-
-Some protocols require a user to login.
-
-=back
-
-. via CLASS|NAME
-
-=over 4
-
-Which CLASS (extending C<Mail::Transport>) will transport the data.
-Some predefined NAMEs avoid long class names: C<mail> and C<mailx>
-are handled by the L<Mail::Transport::Mailx|Mail::Transport::Mailx> module, C<sendmail>
-and C<postfix> belong to L<Mail::Transport::Sendmail|Mail::Transport::Sendmail>, and C<smtp>
-is implemented in L<Mail::Transport::SMTP|Mail::Transport::SMTP>.  The C<pop> or C<pop3>
-protocol implementation can be found in L<Mail::Transport::POP3|Mail::Transport::POP3>.
-
-=back
-
-=back
-
-=head2 Server connection
-
-
-$obj-E<gt>B<findBinary>(NAME [, DIRECTORIES])
-
-=over 4
-
-Look for a binary with the specified NAME in the directories which
-are defined to be safe.  The list of standard directories is followed
-by the optional DIRECTORIES.  The full pathname is returned.
-
-You may specify L<new(proxy)|Mail::Transport/"METHODS">, which specifies the absolute name
-of the binary to be used.
-
-=back
-
-$obj-E<gt>B<remoteHost>
-
-=over 4
-
-Returns the hostname, port number, username and password to be used to
-establish the connection to the server for sending or receiving mail.
-
-=back
-
-$obj-E<gt>B<retry>
-
-=over 4
-
-Returns the retry interval, retry count, and timeout for the connection.
-
-=back
-
-=head2 Error handling
-
-
-$obj-E<gt>B<AUTOLOAD>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<addReport>(OBJECT)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-Mail::Transport-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<errors>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<log>([LEVEL [,STRINGS]])
-
-Mail::Transport-E<gt>B<log>([LEVEL [,STRINGS]])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logPriority>(LEVEL)
-
-Mail::Transport-E<gt>B<logPriority>(LEVEL)
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<logSettings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<notImplemented>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<report>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<reportAll>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<trace>([LEVEL])
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-$obj-E<gt>B<warnings>
-
-=over 4
-
-See L<Mail::Reporter/"Error handling">
-
-=back
-
-=head2 Cleanup
-
-
-$obj-E<gt>B<DESTROY>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-$obj-E<gt>B<inGlobalDestruction>
-
-=over 4
-
-See L<Mail::Reporter/"Cleanup">
-
-=back
-
-
-
-=head1 DIAGNOSTICS
-
-I<Warning:> Avoid program abuse: specify an absolute path for $exec.
-
-Specifying explicit locations for executables of email transfer agents
-should only be done with absolute file names, to avoid various pontential
-security problems.
-
-I<Warning:> Executable $exec does not exist.
-
-The explicitly indicated mail transfer agent does not exists. The normal
-settings are used to find the correct location.
-
-I<Error:> Package $package does not implement $method.
-
-Fatal error: the specific package (or one of its superclasses) does not
-implement this method where it should. This message means that some other
-related classes do implement this method however the class at hand does
-not.  Probably you should investigate this and probably inform the author
-of the package.
-
-
-
-
-
-
-=head1 REFERENCES
-
-See the MailBox website at L<http://perl.overmeer.net/mailbox/> for more details.
-
-=head1 COPYRIGHTS
-
-Distribution version 2.062.
-Written by Mark Overmeer (mark at overmeer.net).  See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/lib/Mail/Transport.pod (from rev 1522, packages/libmail-box-perl/trunk/lib/Mail/Transport.pod)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/test.pl
===================================================================
--- packages/libmail-box-perl/trunk/test.pl	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/test.pl	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,245 +0,0 @@
-#!/usr/bin/perl
-
-use warnings;
-use strict;
-
-use File::Spec;
-use File::Basename;
-
-use lib qw/tests lib/;
-
-use Config;
-use Tools;             # test tools
-use Mail::Reporter;    # to avoid 'too late for INIT'
-
-use IO::Dir;
-use Test::Harness qw($verbose);
-
-# we use Test::More without a plan here, but we don't want
-# Test::Builder to mess with the exit code
-Test::More->builder->no_ending(1);
-
-chdir 'tests'    ##### CHANGE DIR TO tests
-   or die "Cannot go to test scripts directory: $!\n";
-
-$verbose = 0;
-if(@ARGV && $ARGV[0] eq '-v')
-{   $verbose = 1;
-    shift @ARGV;
-}
-
-my $select_tests;
-if(@ARGV)
-{   my $pat = join '|', @ARGV;
-    $select_tests   = qr/$pat/o;
-}
-
-# The versions of the following packages are reported to help understanding
-# the environment in which the tests are run.  This is certainly not a
-# full list of all installed modules.
-my @show_versions = defined $select_tests ? ()
- : qw/Mail::Box Mail::Box::Parser::C
-      User::Identity Object::Realize::Later MIME::Types
-      Test::Harness Encode
-     /;
-
-my $skip_tests = -f 'skiptests';
-sub package_of($);
-sub testnames($);
-sub run_in_harness(@);
-sub report();
-sub dl_format($@);
-
-warn <<'WARN' unless $select_tests;
-
-*
-* Testing MailBox
-WARN
-
-if($skip_tests)
-{   warn <<'WARN';
-* Tests are disabled, because you said so when the Makefile was created.
-* remove the file "skiptests" if you want to run them.
-*
-WARN
-    exit 0;
-}
-
-warn <<'WARN' unless $select_tests;
-*
-* Sometimes installing MailBox breaks because of the huge size
-* of the whole package. Simply restarting the installation is in
-* most cases enough to solve the problems.  You may require a new
-* version of ExtUtils::MakeMaker.
-*
-* On *Windows* you will get a large number of failing tests, but they
-* are usually harmless.  Please help me to get rit of them.
-*
-
-WARN
-
-warn "Running on $^O ($Config{archname} $Config{osvers}), with Perl $]\n";
-
-foreach my $package (@show_versions)
-{   eval "require $package";
-
-    my $report
-      = !$@                    ? "version ". ($package->VERSION || 'unknown')
-      : $@ =~ m/^Can't locate/ ? "not installed"
-      : "reports error";
-
-    warn "$package $report\n";
-}
-warn "\n";
-
-#
-# Get all the test-sets.
-#
-
-my $testdir = '.';
-my $setdir  = IO::Dir->new($testdir);
-die "Cannot open directory $testdir: $!"
-     unless $setdir;
-
-my @sets = sort grep { /^\d/ && -d File::Spec->catfile($testdir, $_) } 
-                  $setdir->read;
-
-$setdir->close;
-
-my (%success, %skipped);
-my $tests_run = 0;
-
-foreach my $set (@sets)
-{
-    my $script = File::Spec->catfile($testdir, $set, 'Definition.pm');
-
-    eval "require '$script'";
-    if($@)
-    {   warn "Errors while requiring $script:\n$@";
-        next;
-    }
-
-    my $package  = package_of $set;
-
-    if(my $reason = $package->skip)
-    {   $skipped{$set} = $reason;
-        printf "%-15s -- %s\n", $set, $reason;
-        next;
-    }
-
-    my @tests = testnames $set;
-    @tests    = grep { $_ =~ $select_tests } @tests
-       if defined $select_tests;
-
-    if(@tests)
-    {   printf "%-15.15s -- %d %s %s\n", $set, scalar @tests,
-           (@tests==1 ? "script; " : "scripts;"), $package->name;
-    }
-    elsif(defined $select_tests)  { ; }  # silence
-    else
-    {   printf "%-15.15s -- skip all tests for %s\n", $set, $package->name;
-    }
-
-    next unless @tests;
-
-    $success{$set} = run_in_harness @tests;
-    $tests_run += @tests;
-}
-
-my $critical = $tests_run ? report : 0;
-exit $critical;
-
-#
-# PACKAGE_OF SET
-# Returns the name of the package which contains details about the test-set.
-#
-
-sub package_of($) { "MailBox::Test::$_[0]::Definition" }
-
-#
-# TESTNAMES SET
-# Returns a list of all the test for a certain test-set.
-#
-
-sub testnames($)
-{   my $set = shift;
-    my $dirname = File::Spec->catdir($testdir, $set);
-
-    my $dir = IO::Dir->new($dirname)
-        or return ();
-
-    sort
-        map { File::Spec->catfile($dirname, $_) }
-            grep /\.t$/, $dir->read;
-}
-
-#
-# RUN_IN_HARNESS @files
-# Run the specified test files in a harness, but then the MailBox
-# way doin things.
-#
-
-sub run_in_harness(@)
-{   my @files = @_;
-    return 1 unless @files;
-
-    my ($tot, $failed) = Test::Harness::_run_all_tests(@files);
-    Test::Harness::_all_ok($tot);
-}
-
-#
-# PRINT_REPORT
-#
-
-sub report()
-{
-    print "--- Test report\n";
-
-    my @success = sort grep {$success{$_}} keys %success;
-
-    local $"    = ', ';
-    dl_format(Success => @success) if @success;
-
-    my @failed;
-    my $critical = 0;
-
-    foreach my $set (sort grep {not $success{$_}} keys %success)
-    {   push @failed, $set;
-
-        my $package = package_of $set;
-        if($package->critical)
-        {   $failed[-1] .= '(*)';
-            $critical++;
-        }
-    }
-
-    dl_format(Failure => @failed) if @failed;
-    print "    Marked (*) are critical errors.\n" if $critical;
-
-    my @skipped = sort keys %skipped;
-    dl_format(Skipped => @skipped)     if @skipped;
-
-    $critical;
-}
-
-#
-# DL_FORMAT DT, DD-LIST
-# Print in an HTML description-list fashion, with $" between the elements.
-#
-
-sub dl_format($@)
-{   my $line = (shift) . ': ';
-    my $elem = shift;
-
-    while(defined $elem)
-    {   $elem .= $" if @_;
-        if(length($line) + length($elem) > 72)
-        {   print "$line\n";
-            $line = "    ";
-        }
-        $line .= $elem;
-        $elem  = shift;
-    }
-
-    print "$line\n" if $line =~ /[^ ]/;
-}

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/test.pl (from rev 1522, packages/libmail-box-perl/trunk/test.pl)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/tests/13body/40multip.t
===================================================================
--- packages/libmail-box-perl/trunk/tests/13body/40multip.t	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/tests/13body/40multip.t	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,255 +0,0 @@
-#!/usr/bin/perl -T
-#
-# Test processing of multipart message bodies.
-#
-
-use strict;
-use warnings;
-
-use lib qw(. .. tests);
-use Tools;
-
-use Test::More tests => 29;
-use IO::Scalar;
-
-use Mail::Message::Body::Lines;
-use Mail::Message::Body::Multipart;
-use Mail::Message::Head::Complete;
-
-my $body = Mail::Message::Body::Multipart->new
- ( transfer_encoding => '8bit'
- , boundary          => 'xyz'
- );
-
-is($body->boundary, 'xyz');
-$body->boundary('part-separator');
-is($body->boundary, 'part-separator');
-is($body->mimeType, 'multipart/mixed');
-
-my $h1 = Mail::Message::Head::Complete->new;
-
-my $b1 = Mail::Message::Body::Lines->new
- ( data              => ["p1 l1\n", "p1 l2\n" ]
- , checked           => 1
- , mime_type         => 'text/html'
- , transfer_encoding => '8bit'
- );
-
-ok($b1);
-is($b1->mimeType, 'text/html');
-is($b1->transferEncoding, '8bit');
-is($b1->disposition, 'none');
-
-my $p1 = Mail::Message->new(head => $h1);
-cmp_ok($p1->body($b1) , "==",  $b1);
-is($p1->get('Content-Type'), 'text/html');
-is($p1->get('Content-Transfer-Encoding'), '8bit');
-ok(! defined $p1->get('Content-Disposition'));
-
-my $h2 = Mail::Message::Head::Complete->new;
-
-my $b2 = Mail::Message::Body::Lines->new
- ( data              => ["p2 l1\n", "p2 l2\n", "p2 l3\n", "p2 l4\n" ]
- , mime_type         => 'text/plain'
- , checked           => 1
- , transfer_encoding => '8bit'
- );
-
-ok($b2);
-
-my $p2 = Mail::Message->new(head => $h2);
-cmp_ok($p2->body($b2) , "==",  $b2);
-
-# Empty multipart
-
-my $fakeout;
-my $g = IO::Scalar->new(\$fakeout);
-cmp_ok($body->parts, "==", 0);
-$body->print($g);
-is($fakeout, "--part-separator--\n");
-
-# First attachment
-
-$fakeout = '';
-
-my $newbody = $body->attach($p1);
-ok($newbody != $body);
-cmp_ok($newbody->parts, "==", 1);
-$newbody->print($g);
-
-compare_message_prints($fakeout, <<'EXPECTED', 'print with attachment');
---part-separator
-Content-Type: text/html
-Content-Length: 12
-Lines: 2
-Content-Transfer-Encoding: 8bit
-
-p1 l1
-p1 l2
---part-separator--
-EXPECTED
-
-# Second attachment
-
-my $newerbody = $newbody->attach($p2);
-ok($newerbody != $newbody);
-cmp_ok($newerbody->parts, "==", 2);
-
-$fakeout = '';
-$newerbody->print($g);
-compare_message_prints($fakeout, <<'EXPECTED', 'print with two attachments');
---part-separator
-Content-Type: text/html
-Content-Length: 12
-Lines: 2
-Content-Transfer-Encoding: 8bit
-
-p1 l1
-p1 l2
---part-separator
-Content-Type: text/plain
-Content-Length: 24
-Lines: 4
-Content-Transfer-Encoding: 8bit
-
-p2 l1
-p2 l2
-p2 l3
-p2 l4
---part-separator--
-EXPECTED
-
-# Add preamble and epilogue
-
-my $newestbody
-   = ref($newerbody)->new
-      ( based_on => $newerbody
-      , preamble => Mail::Message::Body::Lines->new
-         ( data => [ "preamb1\n", "preamb2\n" ]
-         , mime_type        => 'text/html'
-         , charset          => 'us-ascii'
-         , tranfer_encoding => '8bit'
-         )
-      , epilogue => Mail::Message::Body::Lines
-                ->new(data => [ "epilogue\n" ])
-      );
-ok($newestbody != $newbody);
-
-$fakeout = '';
-$newestbody->print($g);
-compare_message_prints($fakeout, <<'EXPECTED', 'with preamble and epilogue');
-preamb1
-preamb2
---part-separator
-Content-Type: text/html
-Content-Length: 12
-Lines: 2
-Content-Transfer-Encoding: 8bit
-
-p1 l1
-p1 l2
---part-separator
-Content-Type: text/plain
-Content-Length: 24
-Lines: 4
-Content-Transfer-Encoding: 8bit
-
-p2 l1
-p2 l2
-p2 l3
-p2 l4
---part-separator--
-epilogue
-EXPECTED
-
-
-# Body to message.  The info on preamble is used to create a whole message
-# header.
-
-my $message = Mail::Message->buildFromBody($newestbody,
-    From => 'me', To => 'you', Date => 'now', 'Message-Id' => '<simple>');
-
-$fakeout = '';
-$message->print($g);
-compare_message_prints($fakeout, <<'EXPECTED', 'build from multipart body');
-From: me
-To: you
-Date: now
-Message-Id: <simple>
-Content-Type: multipart/mixed; boundary="part-separator"
-Content-Length: 287
-Lines: 24
-Content-Transfer-Encoding: 8bit
-MIME-Version: 1.0
-
-preamb1
-preamb2
---part-separator
-Content-Type: text/html
-Content-Length: 12
-Lines: 2
-Content-Transfer-Encoding: 8bit
-
-p1 l1
-p1 l2
---part-separator
-Content-Type: text/plain
-Content-Length: 24
-Lines: 4
-Content-Transfer-Encoding: 8bit
-
-p2 l1
-p2 l2
-p2 l3
-p2 l4
---part-separator--
-epilogue
-EXPECTED
-
-my $m1 = Mail::Message->buildFromBody($body, From => 'me', To => 'you',
-   Date => 'now', 'Message-Id' => '<simple>');
-
-$fakeout = '';
-$m1->print($g);
-compare_message_prints($fakeout, <<'EXPECTED', 'build from multipart body');
-From: me
-To: you
-Date: now
-Message-Id: <simple>
-Content-Type: multipart/mixed; boundary="part-separator"
-Content-Length: 19
-Lines: 1
-Content-Transfer-Encoding: 8bit
-MIME-Version: 1.0
-
---part-separator--
-EXPECTED
-
-my $m2 = Mail::Message->buildFromBody($b1, From => 'me', To => 'you',
-   Date => 'now', 'Message-Id' => '<simple>');
-
-$fakeout = '';
-$m2->print($g);
-compare_message_prints($fakeout, <<'EXPECTED', 'build from multipart body');
-From: me
-To: you
-Date: now
-Message-Id: <simple>
-Content-Type: text/html
-Content-Length: 12
-Lines: 2
-Content-Transfer-Encoding: 8bit
-MIME-Version: 1.0
-
-p1 l1
-p1 l2
-EXPECTED
-
-#
-# Check copying.
-#
-
-my $m3 = $message->clone;
-ok($m3);
-ok($m3 != $message);
-cmp_ok($m3->parts , "==",  $message->parts);

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/tests/13body/40multip.t (from rev 1522, packages/libmail-box-perl/trunk/tests/13body/40multip.t)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/tests/31fgroups/30spam.t
===================================================================
--- packages/libmail-box-perl/trunk/tests/31fgroups/30spam.t	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/tests/31fgroups/30spam.t	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,127 +0,0 @@
-#!/usr/bin/perl -T
-#
-# Test the processing of spam groups.
-#
-
-use strict;
-use warnings;
-
-use lib qw(. .. tests);
-use Tools;
-
-use File::Spec;
-use Test::More tests => 75;
-
-use Mail::Message::Head::Complete;
-use Mail::Message::Head::SpamGroup;
-use Mail::Box::Mbox;
-
-#
-# Creation of a group
-#
-
-my $sg = Mail::Message::Head::SpamGroup->new;
-
-ok(defined $sg,                           'simple construction');
-isa_ok($sg, 'Mail::Message::Head::SpamGroup');
-
-#
-# Extraction of a group
-#
-
-my $h = Mail::Message::Head::Complete->new;
-ok(defined $h);
-
-my @sgs = Mail::Message::Head::SpamGroup->from($h);
-ok(!@sgs,                                 "no spamgroups in empty header");
-
-#
-# Open folder with example messages
-#
-
-my $fn = 'sgfolder';
-$fn = File::Spec->catfile('31fgroups', $fn) unless -f $fn;
-$fn = File::Spec->catfile('tests', $fn)  unless -f $fn;
-die "Cannot find file with spam filter examples ($fn)" unless -f $fn;
-
-my $folder = Mail::Box::Mbox->new(folder => $fn, extract => 'ALWAYS');
-ok(defined $folder,                   "open example folder");
-die unless defined $folder;
-
-my @msgs   = $folder->messages;
-cmp_ok(scalar(@msgs), '==', 11,        "all expected messages present");
-
-for(my $nr=0; $nr<5; $nr++)
-{  my $msg = $folder->message($nr);
-   my @sgs = $msg->head->spamGroups;
-
-   cmp_ok(scalar(@sgs), '==', 1,      "spam group at $nr");
-   
-   my $sg = $sgs[0];
-   is($sg->type, "SpamAssassin");
-
-   $sg->delete;
-
-   @sgs   = $msg->head->spamGroups;
-   cmp_ok(scalar(@sgs), '==', 0,      "spam group $nr removed");
-}
-
-for(my $nr=5; $nr<10; $nr++)
-{   my $msg  = $folder->message($nr);
-    my $head = $msg->head;
-
-    my @sgs = $head->spamGroups;
-    cmp_ok(scalar(@sgs), '==', 1,      "spam group at $nr");
-    my $sg0 = $sgs[0];
-    is($sg0->type, "Habeas-SWE");
-
-    my $sg  = $msg->head->spamGroups('Habeas-SWE');
-    ok(defined $sg);
-    is($sg->type, "Habeas-SWE");
-
-    my $is_correct = ($nr==5 || $nr==6) ? 1 : undef;
-    cmp_ok($sg->habeasSweFieldsCorrect, '==', $is_correct, "spam in $nr");
-
-    cmp_ok( Mail::Message::Head::SpamGroup->habeasSweFieldsCorrect($msg)
-          , '==', $is_correct,          "spam in message $nr");
-
-    cmp_ok(Mail::Message::Head::SpamGroup->habeasSweFieldsCorrect($head)
-          , '==', $is_correct,          "spam in head of message $nr");
-
-    $sg->delete;
-
-    @sgs   = $msg->head->spamGroups;
-    cmp_ok(scalar(@sgs), '==', 0,       "spam group $nr removed");
-}
-
-my $msg  = $folder->message(10);
-my $head = $msg->head;
-ok(Mail::Message::Head::SpamGroup->habeasSweFieldsCorrect($msg));
-ok(Mail::Message::Head::SpamGroup->habeasSweFieldsCorrect($head));
-
- at sgs     = sort {$a->type cmp $b->type} $head->spamGroups;
-cmp_ok(scalar(@sgs), '==', 2,           "message 11 with 2 groups");
-
-is($sgs[0]->type, 'Habeas-SWE');
-ok($sgs[0]->habeasSweFieldsCorrect);
-is($sgs[1]->type, 'SpamAssassin');
-
-my $sgs  = $head->spamGroups;
-cmp_ok($sgs, '==', 2,                   "scalar context = amount");
-
-my $sa   = $head->spamGroups('SpamAssassin');
-ok(defined $sa,                         "found spam assassin group");
-
-my $swe  = $head->spamGroups('Habeas-SWE');
-ok($swe->habeasSweFieldsCorrect);
-ok(defined $swe,                        "found habeas-swe group");
-
-$sa->delete;
- at sgs     = $head->spamGroups;
-cmp_ok(scalar(@sgs), '==', 1,           "message 11 still 1 group");
-is($sgs[0]->type, 'Habeas-SWE');
-ok($sgs[0]->habeasSweFieldsCorrect);
-
-$swe->delete;
- at sgs     = $head->spamGroups;
-cmp_ok(scalar(@sgs), '==', 0,           "message 11 without spam group");

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/tests/31fgroups/30spam.t (from rev 1522, packages/libmail-box-perl/trunk/tests/31fgroups/30spam.t)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/tests/44imap/30flags.t
===================================================================
--- packages/libmail-box-perl/trunk/tests/44imap/30flags.t	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/tests/44imap/30flags.t	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,133 +0,0 @@
-#!/usr/bin/perl -T
-#
-# Test flags conversion of IMAP4 folders.
-
-use strict;
-use warnings;
-
-use lib qw(. .. tests);
-use Tools;
-
-use Test::More;
-use Mail::Transport::IMAP4;
-
-my $mti = 'Mail::Transport::IMAP4';
-
-BEGIN
-{   eval { require Mail::IMAPClient };
-    if($@ =~ m/Can't locate/)
-    {   plan skip_all => 'requires Mail::IMAPClient';
-        exit(0);
-    }
-    
-    eval { require Digest::HMAC_MD5 };
-    if($@ =~ m/Can't locate/)
-    {   plan skip_all => 'requires Digest::HMAC_MD5';
-        exit(0);
-    }
-
-    plan tests => 65;
-}
-
-###
-### Checking labels2flags
-###
-
-sub expect_flags($$$)
-{   my ($got, $expect, $text) = @_;
-    my $errors = 0;
-
-    my %got;
-    $got{$_}++ for split " ", $got;
-
-    if(grep {$_ > 1} values %got)
-    {   $errors++;
-        ok(0, "found double, $text");
-    }
-    else
-    {   ok(1, $text);
-    }
-
-    foreach my $e (split " ", $expect)
-    {   if(delete $got{$e}) { ok(1, "found $e")   }
-        else { $errors++;     ok(0, "missing $e") }
-    }
-
-    if(keys %got)
-    {   ok(0, "got too much: ".join(" ", keys %got));
-        $errors++;
-    }
-    else
-    {   ok(1, "exact match");
-    }
-
-    if($errors)
-    {   warn "$errors errors, expected '$expect' got '$got'\n";
-    }
-}
-
-my $flags = $mti->labelsToFlags();
-expect_flags($flags, '', "Empty set");
-
-$flags = $mti->labelsToFlags(seen => 1, flagged => 1, old => 1);
-expect_flags($flags, '\Seen \Flagged', "No old");
-
-$flags = $mti->labelsToFlags( {seen => 1, flagged => 1, old => 1} );
-expect_flags($flags, '\Seen \Flagged', "No old as hash");
-
-$flags = $mti->labelsToFlags(seen => 1, flagged => 1, old => 0);
-expect_flags($flags, '\Seen \Flagged \Recent', "No old");
-
-$flags = $mti->labelsToFlags( {seen => 1, flagged => 1, old => 0} );
-expect_flags($flags, '\Seen \Flagged \Recent', "No old as hash");
-
-$flags = $mti->labelsToFlags(seen => 1, replied => 1, flagged => 1,
-  deleted => 1, draft => 1, old => 0, spam => 1);
-expect_flags($flags, '\Seen \Answered \Flagged \Deleted \Draft \Recent \Spam',
-   "show all flags");
-
-$flags = $mti->labelsToFlags(seen => 0, replied => 0, flagged => 0,
-  deleted => 0, draft => 0, old => 1, spam => 0);
-expect_flags($flags, '', "show no flags");
-
-###
-### Checking flagsToLabels
-###
-
-sub expect_labels($$$)
-{   my ($got, $expect, $text) = @_;
-
-    my $gotkeys = join " ", %$got;
-    my $expkeys = join " ", %$expect;
-# warn "expected '$expkeys' got '$gotkeys'\n";
-
-    # depends on predefined labels
-    cmp_ok(scalar keys %$got, '==', 7, "$text; nr fields");
-
-    foreach my $k (keys %$got)
-    {   cmp_ok($got->{$k}, '==', $expect->{$k}, "got $k");
-    }
-
-    foreach my $k (keys %$expect)
-    {   cmp_ok($got->{$k}, '==', $expect->{$k}, "expect $k");
-    }
-}
-
-my $labels = $mti->flagsToLabels('REPLACE');
-expect_labels $labels, {old => 1}, "flagsToLabels: Empty set";
-
-$labels = $mti->flagsToLabels(REPLACE => qw[\Seen \Flagged] );
-expect_labels $labels
-            , {old => 1, seen => 1, flagged => 1}
-            , "flagsToLabels: Empty set";
-
-$labels = $mti->flagsToLabels(REPLACE =>
-              qw[\Seen \Answered \Flagged \Deleted \Draft \Recent \Spam] );
-
-expect_labels $labels
-            , { seen => 1, replied => 1, flagged => 1, deleted => 1
-              , draft => 1, spam => 1
-              }
-            , "show all labels";
-
-exit 0;

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/tests/44imap/30flags.t (from rev 1522, packages/libmail-box-perl/trunk/tests/44imap/30flags.t)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/tests/50message/10stripsig.t
===================================================================
--- packages/libmail-box-perl/trunk/tests/50message/10stripsig.t	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/tests/50message/10stripsig.t	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,123 +0,0 @@
-#!/usr/bin/perl -T
-#
-# Test stripping signatures
-#
-
-use strict;
-use warnings;
-
-use lib qw(. .. tests);
-use Tools;
-
-use Test::More tests => 37;
-
-use Mail::Message::Body::Construct;
-use Mail::Message::Body;
-
-#
-# No strip possible
-#
-
-my @lines = map { "$_\n" } qw/1 2 3 4 5/;
-my $body  = Mail::Message::Body::Lines->new(data => \@lines);
-
-my ($stripped, $sig) = $body->stripSignature;
-cmp_ok($stripped, "==", $body);
-ok(!defined $sig);
-cmp_ok($stripped->nrLines, "==", @lines);
-
-my $stripped2 = $body->stripSignature;
-cmp_ok($stripped2, "==", $body);
-
-#
-# Simple strip
-#
-
- at lines = map { "$_\n" } qw(a b -- sig);
-$body  = Mail::Message::Body::Lines->new(data => \@lines);
-($stripped, $sig) = $body->stripSignature;
-ok($stripped!=$body);
-ok($sig!=$body);
-
-cmp_ok($stripped->nrLines, "==", 2);
-my @stripped_lines = $stripped->lines;
-cmp_ok(@stripped_lines, "==", 2);
-is($stripped_lines[0], $lines[0]);
-is($stripped_lines[1], $lines[1]);
-
-cmp_ok($sig->nrLines, "==", 2);
-my @sig_lines = $sig->lines;
-cmp_ok(@sig_lines, "==", 2);
-is($sig_lines[0], $lines[2]);
-is($sig_lines[1], $lines[3]);
-
-#
-# Try signature too large
-#
-
- at lines = map { "$_\n" } qw/1 2 3 -- 4 5 6 7 8 9 10/;
-$body  = Mail::Message::Body::Lines->new(data => \@lines);
-($stripped, $sig) = $body->stripSignature(max_lines => 7);
-ok(!defined $sig);
-cmp_ok($stripped->nrLines, "==", 11);
-
-($stripped, $sig) = $body->stripSignature(max_lines => 8);
-cmp_ok($sig->nrLines, "==", 8);
- at sig_lines = $sig->lines;
-cmp_ok(@sig_lines, "==", 8);
-is($sig_lines[0], $lines[3]);
-is($sig_lines[1], $lines[4]);
-is($sig_lines[-1], $lines[-1]);
-
-cmp_ok($stripped->nrLines, "==", 3);
- at stripped_lines = $stripped->lines;
-cmp_ok(@stripped_lines, "==", 3);
-is($stripped_lines[0], $lines[0]);
-is($stripped_lines[1], $lines[1]);
-is($stripped_lines[2], $lines[2]);
-
-#
-# Try whole body is signature
-#
-
- at lines = map { "$_\n" } qw/-- 1 2 3 4/;
-$body  = Mail::Message::Body::Lines->new(data => \@lines);
-($stripped, $sig) = $body->stripSignature(max_lines => 7);
-cmp_ok($sig->nrLines , "==",  5);
-ok(defined $stripped);
-cmp_ok($stripped->nrLines , "==",  0);
-
-#
-# Try string to find sep
-#
-
- at lines = map { "$_\n" } qw/1 2 3 abc 4 5 6/;
-$body  = Mail::Message::Body::Lines->new(data => \@lines);
-($stripped, $sig) = $body->stripSignature(pattern => 'b');
-ok(!defined $sig);
-
-($stripped, $sig) = $body->stripSignature(pattern => 'a');
-cmp_ok($sig->nrLines , "==",  4);
-
-#
-# Try regexp to find sep
-#
-
- at lines = map { "$_\n" } qw/1 2 3 abba baab 4 5 6/;
-$body  = Mail::Message::Body::Lines->new(data => \@lines);
-($stripped, $sig) = $body->stripSignature(pattern => qr/b{2}/);
-ok($sig);
-cmp_ok($sig->nrLines , "==",  5);
-cmp_ok($stripped->nrLines , "==",  3);
-
-#
-# Try code to find sep
-#
-
- at lines = map { "$_\n" } qw/1 2 3 ab 4 5 6/;
-$body  = Mail::Message::Body::Lines->new(data => \@lines);
-($stripped, $sig) = $body->stripSignature(pattern => sub {$_[0] eq "ab\n"});
-ok($sig);
-cmp_ok($sig->nrLines , "==",  4);
-cmp_ok($stripped->nrLines , "==",  3);
-

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/tests/50message/10stripsig.t (from rev 1522, packages/libmail-box-perl/trunk/tests/50message/10stripsig.t)

Deleted: packages/libmail-box-perl/tags/debian_version_2_063-1/tests/50message/21reply.t
===================================================================
--- packages/libmail-box-perl/trunk/tests/50message/21reply.t	2005-11-18 18:00:21 UTC (rev 1521)
+++ packages/libmail-box-perl/tags/debian_version_2_063-1/tests/50message/21reply.t	2005-11-18 20:00:22 UTC (rev 1524)
@@ -1,138 +0,0 @@
-#!/usr/bin/perl -T
-#
-# Test the creation of reply messages
-#
-
-use strict;
-use warnings;
-
-use lib qw(. .. tests);
-use Tools;
-
-use Test::More tests => 23;
-use Mail::Address;
-
-use Mail::Message;
-use Mail::Message::Head;
-use Mail::Message::Body::Lines;
-use Mail::Message::Construct::Reply;
-
-#
-# First produce a message to reply to.
-#
-
-my $head = Mail::Message::Head->build
- ( To   => 'me at example.com (Me the receiver)'
- , From => 'him at somewhere.else.nl (Original Sender)'
- , Cc   => 'the.rest at world.net'
- , Subject => 'Test of Reply'
- , Skip => 'Do not take this line'
- , Date => 'Wed, 9 Feb 2000 15:44:05 -0500'
- , 'Content-Something' => 'something'
- );
-
-my ($text, $sig) = (<<'TEXT', <<'SIG');
-First line of orig message.
-Another line of message.
-TEXT
---
-And this is the signature
-which
-has
-a
-few lines
-too
-SIG
-
-my @lines = split /^/, $text.$sig;
-my $body = Mail::Message::Body::Lines->new
-  ( mime_type => 'text/plain'
-  , checked   => 1
-  , data      => \@lines
-  );
-
-ok(defined $body);
-
-my $msg  = Mail::Message->new(head => $head);
-$msg->body($body);
-
-ok(defined $msg);
-
-#
-# Create a simple reply
-#
-
-my $reply = $msg->reply
-  ( strip_signature => undef
-  , prelude         => undef
-  , quote           => undef
-  );
-
-ok(defined $reply);
-isa_ok($reply, 'Mail::Message');
-cmp_ok($reply->body, "==", $msg->body);
-
-is(  $reply->head->get('to'), $msg->head->get('from'));
-is($reply->head->get('from'), $msg->head->get('to'));
-ok(!defined $reply->head->get('cc'));
-ok(!defined $reply->head->get('skip'));
-ok(!defined $reply->head->get('content-something'));
-#$reply->head->print(\*STDERR);
-
-#warn $reply->body->string;
-is($reply->body->string, $text.$sig);
-
-#
-# Create a complicated reply
-#
-
-my $postlude = Mail::Message::Body::Lines->new
-  ( data => [ "added to the end\n", "two lines\n" ]
-  );
-
-$reply = $msg->reply
-  ( group_reply => 1
-  , quote       => '] '
-  , postlude    => $postlude
-  );
-
-ok($reply->body!=$msg->body);
-is(  $reply->head->get('to'), $msg->head->get('from'));
-is($reply->head->get('from'), $msg->head->get('to'));
-is(  $reply->head->get('cc'), $msg->head->get('cc'));
-ok(!defined $reply->head->get('skip'));
-
-#$reply->body->print;
-is($reply->body->string, <<'EXPECT');
-On Wed Feb  9 20:44:05 2000, Original Sender wrote:
-] First line of orig message.
-] Another line of message.
-added to the end
-two lines
-EXPECT
-
-#
-# Another complicated reply
-#
-
-$reply = $msg->reply
-  ( group_reply => 0
-  , quote       => sub {chomp; "> ".reverse."\n"}
-  , postlude    => $postlude
-  , Bcc         => Mail::Address->new('username', 'user at example.com')
-  );
-
-is(  $reply->head->get('to'), $msg->head->get('from'));
-is($reply->head->get('from'), $msg->head->get('to'));
-ok(!defined $reply->head->get('cc'));
-ok(!defined $reply->head->get('skip'));
-is($reply->head->get('bcc'), 'username <user at example.com>');
-
-#$reply->print;
-is($reply->body->string, <<'EXPECT');
-On Wed Feb  9 20:44:05 2000, Original Sender wrote:
-> .egassem giro fo enil tsriF
-> .egassem fo enil rehtonA
-added to the end
-two lines
-EXPECT

Copied: packages/libmail-box-perl/tags/debian_version_2_063-1/tests/50message/21reply.t (from rev 1522, packages/libmail-box-perl/trunk/tests/50message/21reply.t)




More information about the Pkg-perl-cvs-commits mailing list