From 492d6946521731accbfa4625fe008754570ffc9b Mon Sep 17 00:00:00 2001 From: "Taylor R. Campbell" Date: Sun, 11 Mar 2007 17:33:37 +0000 Subject: [PATCH] Don't record the folder's cached modification count in folder orders; simply check that it has not changed since we built the tree. New procedure MESSAGE-ORDER-KEY computes a message's key into the folder order tree, if the message's folder is ordered. This must be computed before a message is actually expunged, because the key may require information that is destroyed when expunging the message. EXPUNGE modification events on folders now accept an extra parameter, the key of the message being expunged. --- v7/src/imail/imail-core.scm | 43 +++++++++++++++++++++---------------- v7/src/imail/imail-file.scm | 7 +++--- v7/src/imail/imail-imap.scm | 42 +++++++++++++++++++----------------- 3 files changed, 51 insertions(+), 41 deletions(-) diff --git a/v7/src/imail/imail-core.scm b/v7/src/imail/imail-core.scm index 49dfec57a..e7269f887 100644 --- a/v7/src/imail/imail-core.scm +++ b/v7/src/imail/imail-core.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Id: imail-core.scm,v 1.163 2007/03/11 15:49:44 riastradh Exp $ +$Id: imail-core.scm,v 1.164 2007/03/11 17:33:37 riastradh Exp $ Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, @@ -733,8 +733,7 @@ USA. (constructor make-folder-order (predicate selector))) (predicate #f read-only #t) (selector #f read-only #t) - (tree #f) - (modification-count -1)) + (tree #f)) (define (map-folder-index folder index) (let ((order (folder-order folder))) @@ -766,17 +765,29 @@ USA. (or (key