Add bit to say whether folder or message has been modified.
authorChris Hanson <org/chris-hanson/cph>
Mon, 7 Feb 2000 22:37:21 +0000 (22:37 +0000)
committerChris Hanson <org/chris-hanson/cph>
Mon, 7 Feb 2000 22:37:21 +0000 (22:37 +0000)
v7/src/imail/imail-core.scm
v7/src/imail/imail-file.scm

index 0ad0a381d322d3df85e0ca757694c80981b80168..d1c3d115d5ee8699de979857af719b84a988e877 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;; $Id: imail-core.scm,v 1.22 2000/02/07 22:31:44 cph Exp $
+;;; $Id: imail-core.scm,v 1.23 2000/02/07 22:37:19 cph Exp $
 ;;;
 ;;; Copyright (c) 1999-2000 Massachusetts Institute of Technology
 ;;;
   (if (not (<= index (folder-length folder)))
       (error:bad-range-argument index 'INSERT-MESSAGE))
   (guarantee-message message 'INSERT-MESSAGE)
-  (%insert-message folder index message)
-  (folder-modified! folder))
+  (%insert-message folder index message))
 
 (define-generic %insert-message (folder index message))
 
 ;;; messages.  Unspecified result.
 (define (append-message folder message)
   (guarantee-message message 'APPEND-MESSAGE)
-  (%append-message folder message)
-  (folder-modified! folder))
+  (%append-message folder message))
 
 (define-generic %append-message (folder message))
 \f
                 (cons (car headers) headers*)
                 flags
                 properties)))))
-
+\f
 (define (attach-message message folder)
   (guarantee-folder folder 'ATTACH-MESSAGE)
   (let ((message
                       (alist-copy (message-properties message))
                       folder)))
     (set-message-folder! message folder)
-    (if (message-modified? message)
-       (folder-modified! folder))
     message))
 
 (define (detach-message message)
index c9ec910c703928dac5271234e41753f4539a77db..c3ba404030171c09c6b5aba6d3b41a12c2d10fae 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;; $Id: imail-file.scm,v 1.8 2000/02/07 22:31:49 cph Exp $
+;;; $Id: imail-file.scm,v 1.9 2000/02/07 22:37:21 cph Exp $
 ;;;
 ;;; Copyright (c) 1999-2000 Massachusetts Institute of Technology
 ;;;
@@ -95,7 +95,8 @@
               (do ((messages messages (cdr messages))
                    (index 1 (fix:+ index 1)))
                   ((not (pair? messages)))
-                (set-message-index! (car messages) index))
+                (set-message-index! (car messages) index)
+                (message-modified! (car messages)))
               (set-file-folder-messages! folder (cons message messages)))
             (let loop ((index* 1) (prev messages) (this (cdr messages)))
               (if (not (pair? this))
                     (do ((messages this (cdr messages))
                          (index (fix:+ index 1) (fix:+ index 1)))
                         ((not (pair? messages)))
-                      (set-message-index! (car messages) index))
+                      (set-message-index! (car messages) index)
+                      (message-modified! (car messages)))
                     (set-cdr! prev (cons message this)))
-                  (loop (fix:+ index* 1) this (cdr this))))))))))
-
+                  (loop (fix:+ index* 1) this (cdr this))))))
+       (message-modified! message)))))
+\f
 (define-method %append-message ((folder <file-folder>) message)
   (let ((message (attach-message message folder)))
     (without-interrupts
                messages)
              (begin
                (set-message-index! message 0)
-               (list message)))))))))
+               (list message)))))
+       (message-modified! message)))))
 
 (define-method expunge-deleted-messages ((folder <file-folder>))
   (without-interrupts