On Wed, 15 Apr 2009 23:03:16 +0200 Michael Albinus <[email protected]> wrote:
MA> No problem for me if you check it in. As long as we don't add it to the MA> makefiles, and we don't load it in tramp.el, it doesn't hurt. MA> Please adjust the copyright years, and replace GPLv2 by GPLv3. Let's wait until it at least does completion, reads, and writes, please. I made the year and GPL fixes. The current code will: - install many handlers, many unimplemented (copied from tramp-fish.el) - handle "/imap:blockstar.com:/INBOX.test/" for filename expansion (but the actual expansion is not working; tramp-imap-get-file-entries does not get the correct file name from Emacs) - save /imap:blockstar.com:/INBOX.test/new via tramp-imap-put-file (uses PGG) - read /imap:blockstar.com:/INBOX.test/new via tramp-imap-get-file (uses PGG) - use auth-source to get user name and password for a server - maintain an IMAP connection in the Tramp buffer specific for this connection - show you how much nasty code I can produce in a few hours My biggest problem right now is that I can't get filename completion to work (as mentioned above, tramp-imap-get-file-entries does not get the right name). I'm sure I'm missing a lot of details here, but ideally I should parse the filename myself without any interferences from Emacs or from Tramp (everything else--port, username, server, etc.--can be parsed by Tramp). Here's how I want the parsing to work: /imap:SERVER:/MAILBOX/ hitting TAB after MAILBOX or after MAILBOX/ should complete "/imap:SERVER:/MAILBOX" with or without the trailing slash. MAILBOX is the directory. /imap:SERVER:/MAILBOX/anything hitting TAB at the end should complete all the messages that match "anything". /imap:SERVER:/MAILBOX/anything/else The mailbox here will be "MAILBOX/anything" and completion will look for messages that match "else" So basically the mailbox name is everything up to the last / character, like a `dirname' call. IMAP mailboxes can contain many characters, including /, so we need to forbid those characters in the file name. The base file name is then just `basename' on the full name. I tried to implement this by hand in tramp-imap-file-name-mailbox-or-name but there must be a better way. My second problem is that messages are not yet sorted by date so you are not guaranteed to get the latest version (we agreed not to delete the older versions, though there probably should be a flexible way to mark them deleted past N backups). Third, ranges are not supported for most commands. The last major issue is that error handling and PGG integration are not good. Usability is not good. If anyone can help me with the above items, I'd appreciate it. Thanks Ted
tramp-imap.el
Description: application/emacs-lisp
_______________________________________________ Tramp-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/tramp-devel
