From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by 10.58.247.3 with SMTP id ya3csp569551vec; Tue, 21 Aug 2012 12:44:07 -0700 (PDT) Received: by 10.182.74.68 with SMTP id r4mr13966628obv.31.1345578247332; Tue, 21 Aug 2012 12:44:07 -0700 (PDT) Return-Path: Received: from rubyforge.org (50-56-192-79.static.cloud-ips.com. [50.56.192.79]) by mx.google.com with ESMTP id h7si2151852obn.38.2012.08.21.12.44.06; Tue, 21 Aug 2012 12:44:07 -0700 (PDT) Received-SPF: pass (google.com: domain of sup-devel-bounces@rubyforge.org designates 50.56.192.79 as permitted sender) client-ip=50.56.192.79; Authentication-Results: mx.google.com; spf=pass (google.com: domain of sup-devel-bounces@rubyforge.org designates 50.56.192.79 as permitted sender) smtp.mail=sup-devel-bounces@rubyforge.org Received: from localhost.localdomain (localhost [127.0.0.1]) by rubyforge.org (Postfix) with ESMTP id C5DEA2E06F; Tue, 21 Aug 2012 19:44:06 +0000 (UTC) Received: from dmz-mailsec-scanner-8.mit.edu (DMZ-MAILSEC-SCANNER-8.MIT.EDU [18.7.68.37]) by rubyforge.org (Postfix) with ESMTP id B9B4A2E060 for ; Tue, 21 Aug 2012 19:43:49 +0000 (UTC) X-AuditID: 12074425-b7f9b6d0000008c4-49-5033e4f541fc Received: from mailhub-auth-2.mit.edu ( [18.7.62.36]) by dmz-mailsec-scanner-8.mit.edu (Symantec Messaging Gateway) with SMTP id AD.43.02244.5F4E3305; Tue, 21 Aug 2012 15:43:49 -0400 (EDT) Received: from outgoing.mit.edu (OUTGOING-AUTH.MIT.EDU [18.7.22.103]) by mailhub-auth-2.mit.edu (8.13.8/8.9.2) with ESMTP id q7LJhmbe025086; Tue, 21 Aug 2012 15:43:49 -0400 Received: from localhost ([64.119.153.34]) (authenticated bits=0) (User authenticated as ezyang@ATHENA.MIT.EDU) by outgoing.mit.edu (8.13.6/8.12.4) with ESMTP id q7LJhld3008724; Tue, 21 Aug 2012 15:43:48 -0400 (EDT) References: <1345576796-31445-1-git-send-email-ezyang@mit.edu> <1345577064-sup-4877@javelin> In-reply-to: <1345577064-sup-4877@javelin> From: "Edward Z. Yang" To: "damien.leone" , sup-devel Date: Tue, 21 Aug 2012 15:43:47 -0400 Message-Id: <1345578187-sup-5921@javelin> User-Agent: Sup/git X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrMIsWRmVeSWpSXmKPExsUixG6novv1iXGAwZd2dotX5/uYLB5P38Pu wOQx7ddKJo99+yYyBzBFcdmkpOZklqUW6dslcGW82nuHqeATV8W9lkOsDYw7OboYOTkkBEwk vu88zw5hi0lcuLeerYuRi0NIYB+jxKeNz1ghnA2MEmsXTGOEcJ4xShz70AfUwsHBLKAusX6e EEi3sEC0xIQ3E8EmCQnESOzrecgEYnMKaEk82PgUzGYDKn907CkriC0CVP9j13xmEJtFQFXi +bqbLCA2r4CmRNeP+2A1ogLCEk+ONIPVMAvISzRvnc08gZF/FsLmWUgyCxiZVjHKpuRW6eYm ZuYUpybrFicn5uWlFula6OVmluilppRuYgSHnYvqDsYJh5QOMQpwMCrx8L6cYhQgxJpYVlyZ e4hRkoNJSZSX+6FxgBBfUn5KZUZicUZ8UWlOavEhRgkOZiUR3qLJQDnelMTKqtSifJiUNAeL kjjvjZSb/kIC6YklqdmpqQWpRTBZGQ4OJQneaGB8CQkWpaanVqRl5pQgpJk4OEGG8wANzwOp 4S0uSMwtzkyHyJ9iVJQS5y19BJQQAElklObB9cLSwitGcaBXhHltQdp5gCkFrvsV0GAmoMFq V8EGlyQipKQaGJnlKtk/rX3udsJo99UsVtWt3+/knTweInrqyP3v5Zo33mmYvlfiTXHgj7vd eM554Q33T9v1w544nKo4UJhe2bzoFK+UjDCbaXC6vEXE7h2reYJap1e6PbhVFlnzpevDnPuf yj6a/O1M3XnwJm9Nl8fuF1feTjB2z5K6eJzlX8t7mSmuVs8/6CuxFGckGmoxFxUnAgCIbxWM 5gIAAA== Subject: Re: [sup-devel] [PATCH] Sync and update other threads when Maildir sync-back changes location. X-BeenThere: sup-devel@rubyforge.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: Sup developer discussion List-Id: Sup developer discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: sup-devel-bounces@rubyforge.org Errors-To: sup-devel-bounces@rubyforge.org Aaand here's an even prettier version. commit f7d30410d946418a885929f20a498c10e4058243 Author: Edward Z. Yang Date: Tue Aug 21 15:19:11 2012 -0400 Sync and update other threads when Maildir sync-back changes location. Signed-off-by: Edward Z. Yang diff --git a/lib/sup/maildir.rb b/lib/sup/maildir.rb index 0c8c563..050cfaf 100644 --- a/lib/sup/maildir.rb +++ b/lib/sup/maildir.rb @@ -226,7 +226,7 @@ private new_base = (flags.include?("S")) ? "cur" : "new" md_base, md_ver, md_flags = maildir_data orig_path - return orig_path if md_flags == flags + return if md_flags == flags new_loc = File.join new_base, "#{md_base}:#{md_ver},#{flags}" orig_path = File.join @dir, orig_path diff --git a/lib/sup/message.rb b/lib/sup/message.rb index 0616f75..3eeea66 100644 --- a/lib/sup/message.rb +++ b/lib/sup/message.rb @@ -286,10 +286,11 @@ EOS end def sync_back - @locations.each do |l| - if l.valid? - l.sync_back @labels if $config[:sync_back_to_maildir] and l.source.is_a? Maildir - end + if @locations.map { |l| + l.sync_back @labels if l.valid? and $config[:sync_back_to_maildir] and l.source.is_a? Maildir + }.any? + Index.sync_message self, true + UpdateManager.relay self, :updated, self end end _______________________________________________ Sup-devel mailing list Sup-devel@rubyforge.org http://rubyforge.org/mailman/listinfo/sup-devel