Use NAMESPACE information to setup prefix to URL prompts.
authorChris Hanson <org/chris-hanson/cph>
Sat, 10 Jun 2000 20:59:58 +0000 (20:59 +0000)
committerChris Hanson <org/chris-hanson/cph>
Sat, 10 Jun 2000 20:59:58 +0000 (20:59 +0000)
v7/src/imail/imail-imap.scm
v7/src/imail/todo.txt

index 7d6d6b9d502a510e144e698cceae11c7dd2d4c30..21492c3b31305f38d8631342616c8689346f4daf 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;; $Id: imail-imap.scm,v 1.115 2000/06/10 20:17:57 cph Exp $
+;;; $Id: imail-imap.scm,v 1.116 2000/06/10 20:59:40 cph Exp $
 ;;;
 ;;; Copyright (c) 1999-2000 Massachusetts Institute of Technology
 ;;;
   (imap-url-mailbox url))
 
 (define-method url-body-container-string ((url <imap-url>))
-  (make-imap-url-string (imap-url-user-id url)
-                       (imap-url-host url)
-                       (imap-url-port url)
-                       ""))
+  (make-imap-url-string
+   (imap-url-user-id url)
+   (imap-url-host url)
+   (imap-url-port url)
+   (with-open-imap-connection url
+     (lambda (connection)
+       (let ((namespace
+             (let ((namespace (imap-connection-namespace connection)))
+               (and namespace
+                    (let ((personal
+                           (imap:response:namespace-personal namespace)))
+                      (and (pair? personal)
+                           (car personal)))))))
+        (if (and namespace (cadr namespace))
+            (let ((prefix (car namespace))
+                  (delimiter (cadr namespace)))
+              (if (and (fix:= (string-length prefix) 6)
+                       (string-prefix-ci? "inbox" prefix)
+                       (not (string-prefix? "inbox" prefix))
+                       (string-suffix? delimiter prefix))
+                  (string-append "inbox" delimiter)
+                  prefix))
+            ""))))))
 
 (define-method url-exists? ((url <imap-url>))
   (not
index 23f81899614b93ff7a42f4094c070bf378e5ff4e..8ca2fe728f9de12ca9d69d7161a8a8837c9ed926 100644 (file)
@@ -1,5 +1,5 @@
 IMAIL To-Do List
-$Id: todo.txt,v 1.74 2000/06/10 12:10:11 cph Exp $
+$Id: todo.txt,v 1.75 2000/06/10 20:59:58 cph Exp $
 
 Bug fixes
 ---------
@@ -20,10 +20,6 @@ Bug fixes
 New features
 ------------
 
-* It would be nice if URL prompts could fill in the leading "inbox"
-  that is nearly always required with Cyrus.  Use NAMESPACE feature to
-  do this.
-
 * Support the "flagged" message flag by highlighting messages with
   this flag in the summary buffer.