Eliminate COPY-FOLDER.
authorChris Hanson <org/chris-hanson/cph>
Mon, 15 May 2000 19:11:52 +0000 (19:11 +0000)
committerChris Hanson <org/chris-hanson/cph>
Mon, 15 May 2000 19:11:52 +0000 (19:11 +0000)
v7/src/imail/imail-core.scm
v7/src/imail/imail-file.scm
v7/src/imail/imail-imap.scm
v7/src/imail/todo.txt

index d153c69ce7bd6a3ac81057d35a34b32c31e32f54..00f32c6b87db5dc086511f948f2b41536bcca942 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;; $Id: imail-core.scm,v 1.56 2000/05/15 19:01:46 cph Exp $
+;;; $Id: imail-core.scm,v 1.57 2000/05/15 19:11:42 cph Exp $
 ;;;
 ;;; Copyright (c) 1999-2000 Massachusetts Institute of Technology
 ;;;
 (define-generic %move-folder (url new-url))
 
 (define-method %move-folder ((url <url>) (new-url <url>))
-  (%copy-folder url new-url)
-  (%delete-folder url))
-
-;; -------------------------------------------------------------------
-;; Copy the folder named URL to be NEW-URL.  Signal an error if the
-;; folder doesn't exist, if NEW-URL already refers to a folder, or if
-;; the copy can't be performed for some reason.
-
-(define (copy-folder url new-url)
-  (%copy-folder (->url url) (->url new-url)))
-
-(define-generic %copy-folder (url new-url))
-
-(define-method %copy-folder ((url <url>) (new-url <url>))
+  (%new-folder new-url)
   (let ((folder (open-folder url)))
     (let ((n (folder-length folder)))
       (do ((i 0 (+ i 1)))
          ((= i n))
-       (%append-message (get-message folder i) new-url)))))
+       (%append-message (get-message folder i) new-url))))
+  (%delete-folder url))
 
 ;; -------------------------------------------------------------------
 ;; Insert a copy of MESSAGE in FOLDER at the end of the existing
index abcc2bed930c9e55e93828c4a7d7f80d71b8513f..46bb6fa1a658b78a8bc8f275cd3237d788154a9c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;; $Id: imail-file.scm,v 1.22 2000/05/12 18:22:50 cph Exp $
+;;; $Id: imail-file.scm,v 1.23 2000/05/15 19:11:45 cph Exp $
 ;;;
 ;;; Copyright (c) 1999-2000 Massachusetts Institute of Technology
 ;;;
@@ -38,9 +38,9 @@
 (define-method %delete-folder ((url <file-url>))
   (delete-file (file-url-pathname url)))
 
-;;; The next two methods only work when operating on two URLs of the
-;;; same class.  Otherwise, it's necessary to do format conversions;
-;;; this is handled at a higher level in the class heirarchy.
+;;; The next method only works when operating on two URLs of the same
+;;; class.  Otherwise, it's necessary to do format conversions; this
+;;; is handled at a higher level in the class heirarchy.
 
 (define-computed-method %move-folder ((uc1 <file-url>) (uc2 <file-url>))
   (and (eq? uc1 uc2)
         ;; fails, such as moving across file systems under unix.
         (rename-file (file-url-pathname url) (file-url-pathname new-url)))))
 
-(define-computed-method %copy-folder ((uc1 <file-url>) (uc2 <file-url>))
-  (and (eq? uc1 uc2)
-       (lambda (url new-url)
-        (copy-file (file-url-pathname url) (file-url-pathname new-url)))))
-
 (define-method available-folder-names ((url <file-url>))
   url
   (error "Unimplemented operation:" 'AVAILABLE-FOLDER-NAMES))
index ed878928661f9992faad6e310da6513f60dc0c2d..7783f4de1b6fd73ce1ba27b48815f67e8eb87a9b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;; $Id: imail-imap.scm,v 1.34 2000/05/15 19:01:50 cph Exp $
+;;; $Id: imail-imap.scm,v 1.35 2000/05/15 19:11:47 cph Exp $
 ;;;
 ;;; Copyright (c) 1999-2000 Massachusetts Institute of Technology
 ;;;
 (define-method %move-folder ((url <imap-url>) (new-url <imap-url>))
   ???)
 
-(define-method %copy-folder ((url <imap-url>) (new-url <imap-url>))
-  ???)
-
 (define-method %append-message ((message <message>) (url <imap-url>))
   ???)
 
index beaa99742c893c123b5d3260c7cf6e9beac48b04..2c6a5ccff13271331271f8a8e2d2ab4fc0e04eea 100644 (file)
@@ -1,5 +1,5 @@
 IMAIL To-Do List
-$Id: todo.txt,v 1.9 2000/05/15 19:08:47 cph Exp $
+$Id: todo.txt,v 1.10 2000/05/15 19:11:52 cph Exp $
 
 Bug fixes
 ---------
@@ -39,8 +39,8 @@ Bug fixes
 Design changes
 --------------
 
-* Eliminate COPY-FOLDER operation.  Implement something closer to the
-  IMAP COPY operation, e.g. APPEND-MESSAGES.
+* Implement something closer to the IMAP COPY operation, e.g.
+  APPEND-MESSAGES.
 
 * Reimplement UID synchronization.  Take advantage of monotonic UID
   numbers to discover largest prefix range that hasn't changed.