;;; -*-Scheme-*-
;;;
-;;; $Id: imail-core.scm,v 1.52 2000/05/10 17:03:17 cph Exp $
+;;; $Id: imail-core.scm,v 1.53 2000/05/12 17:56:18 cph Exp $
;;;
;;; Copyright (c) 1999-2000 Massachusetts Institute of Technology
;;;
(define url-protocol-parsers
(make-string-hash-table))
+
+;; Return a string that concisely identifies URL, for use in the
+;; presentation layer.
+(define-generic url-presentation-name (url))
\f
;;;; Server operations
(define-generic close-folder (folder))
-;; -------------------------------------------------------------------
-;; Return a string that concisely identifies FOLDER, for use in the
-;; presentation layer.
-
-(define-generic folder-presentation-name (folder))
-
;; -------------------------------------------------------------------
;; Return #T if FOLDER represents a real folder, i.e. has a
;; corresponding file or server entry.
;;; -*-Scheme-*-
;;;
-;;; $Id: imail-file.scm,v 1.20 2000/05/10 17:27:55 cph Exp $
+;;; $Id: imail-file.scm,v 1.21 2000/05/12 17:56:22 cph Exp $
;;;
;;; Copyright (c) 1999-2000 Massachusetts Institute of Technology
;;;
(define-method url-body ((url <file-url>))
(pathname->short-name (file-url-pathname url)))
+(define-method url-presentation-name ((url <file-url>))
+ (file-namestring (file-url-pathname url)))
+
;;;; Server operations
(define-method %delete-folder ((url <file-url>))
(set-file-folder-messages! folder 'UNKNOWN)
(for-each detach-message! messages)))))))
-(define-method folder-presentation-name ((folder <file-folder>))
- (url-body (folder-url folder)))
-
(define-method %folder-valid? ((folder <file-folder>))
(file-exists? (file-folder-pathname folder)))
;;; -*-Scheme-*-
;;;
-;;; $Id: imail-imap.scm,v 1.30 2000/05/10 21:24:46 cph Exp $
+;;; $Id: imail-imap.scm,v 1.31 2000/05/12 17:56:24 cph Exp $
;;;
;;; Copyright (c) 1999-2000 Massachusetts Institute of Technology
;;;
(if uid
(string-append "/;uid=" uid)
""))))
+
+(define-method url-presentation-name ((url <imap-url>))
+ (imap-url-mailbox url))
\f
;;;; Server connection
(define-method close-folder ((folder <imap-folder>))
(close-imap-connection (imap-folder-connection folder)))
-(define-method folder-presentation-name ((folder <imap-folder>))
- (imap-url-mailbox (folder-url folder)))
-
(define-method %folder-valid? ((folder <imap-folder>))
folder
#t)
;;; -*-Scheme-*-
;;;
-;;; $Id: imail-top.scm,v 1.40 2000/05/11 00:47:27 cph Exp $
+;;; $Id: imail-top.scm,v 1.41 2000/05/12 17:56:28 cph Exp $
;;;
;;; Copyright (c) 1999-2000 Massachusetts Institute of Technology
;;;
(lambda (url-string)
(bind-authenticator imail-authenticator
(lambda ()
- (let* ((url
+ (let ((folder
+ (open-folder
(if url-string
(imail-parse-partial-url url-string)
- (imail-default-url)))
- (folder (open-folder url)))
+ (imail-default-url)))))
(select-buffer
(let ((buffer
(or (imail-folder->buffer folder #f)
(let ((buffer
- (new-buffer (folder-presentation-name folder))))
+ (new-buffer
+ (url-presentation-name (folder-url folder)))))
(associate-imail-folder-with-buffer folder buffer)
buffer))))
(select-message folder (first-unseen-message folder) #t)
IMAIL To-Do List
-$Id: todo.txt,v 1.4 2000/05/11 14:46:36 cph Exp $
+$Id: todo.txt,v 1.5 2000/05/12 17:56:46 cph Exp $
Bug fixes
---------
Binary search can be used which should produce excellent results on
large folders. UID FETCH command should be useful for this.
-* Eliminate FOLDER-PRESENTATION-NAME in favor of
- URL-PRESENTATION-NAME.
-
* Change APPEND-MESSAGE to accept arguments (MESSAGE URL) rather than
(FOLDER MESSAGE) as currently. There's no need to have the folder
open to append a message to it, and this requirement causes problems