From bb5ce5c6b7d58c050efffd2e306142516d9b4e4b Mon Sep 17 00:00:00 2001 From: Austin Clements Date: Thu, 24 Oct 2013 11:44:04 +2000 Subject: [PATCH] Re: [PATCH 0/8] Improve tag change completion --- 53/0a5b18a68a19f5120ad668dd0016ac4d2562ba | 169 ++++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 53/0a5b18a68a19f5120ad668dd0016ac4d2562ba diff --git a/53/0a5b18a68a19f5120ad668dd0016ac4d2562ba b/53/0a5b18a68a19f5120ad668dd0016ac4d2562ba new file mode 100644 index 000000000..b149951a9 --- /dev/null +++ b/53/0a5b18a68a19f5120ad668dd0016ac4d2562ba @@ -0,0 +1,169 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by olra.theworths.org (Postfix) with ESMTP id 9B56D431FC3 + for ; Wed, 23 Oct 2013 08:44:17 -0700 (PDT) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: -0.7 +X-Spam-Level: +X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5 + tests=[RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled +Received: from olra.theworths.org ([127.0.0.1]) + by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id umz0wQgEyWBk for ; + Wed, 23 Oct 2013 08:44:11 -0700 (PDT) +Received: from dmz-mailsec-scanner-3.mit.edu (dmz-mailsec-scanner-3.mit.edu + [18.9.25.14]) + by olra.theworths.org (Postfix) with ESMTP id 4EC1F431FBC + for ; Wed, 23 Oct 2013 08:44:11 -0700 (PDT) +X-AuditID: 1209190e-b7f828e0000009cf-65-5267eec966ff +Received: from mailhub-auth-4.mit.edu ( [18.7.62.39]) + by dmz-mailsec-scanner-3.mit.edu (Symantec Messaging Gateway) with SMTP + id 8A.03.02511.9CEE7625; Wed, 23 Oct 2013 11:44:09 -0400 (EDT) +Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) + by mailhub-auth-4.mit.edu (8.13.8/8.9.2) with ESMTP id r9NFi7ar031949; + Wed, 23 Oct 2013 11:44:08 -0400 +Received: from awakening.csail.mit.edu (awakening.csail.mit.edu [18.26.4.91]) + (authenticated bits=0) + (User authenticated as amdragon@ATHENA.MIT.EDU) + by outgoing.mit.edu (8.13.8/8.12.4) with ESMTP id r9NFi59a000497 + (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); + Wed, 23 Oct 2013 11:44:06 -0400 +Received: from amthrax by awakening.csail.mit.edu with local (Exim 4.80) + (envelope-from ) + id 1VZ0bM-0005UO-Ub; Wed, 23 Oct 2013 11:44:05 -0400 +Date: Wed, 23 Oct 2013 11:44:04 -0400 +From: Austin Clements +To: Mark Walters +Subject: Re: [PATCH 0/8] Improve tag change completion +Message-ID: <20131023154404.GE20337@mit.edu> +References: <1382471457-26056-1-git-send-email-amdragon@mit.edu> + <87mwm1x9pi.fsf@qmul.ac.uk> <20131023001952.GD20337@mit.edu> + <87fvrsxqc4.fsf@qmul.ac.uk> +MIME-Version: 1.0 +Content-Type: text/plain; charset=us-ascii +Content-Disposition: inline +In-Reply-To: <87fvrsxqc4.fsf@qmul.ac.uk> +User-Agent: Mutt/1.5.21 (2010-09-15) +X-Brightmail-Tracker: + H4sIAAAAAAAAA+NgFmpmleLIzCtJLcpLzFFi42IRYrdT1z35Lj3I4FMrh8XquTwW12/OZHZg + 8tg56y67x7NVt5gDmKK4bFJSczLLUov07RK4Mt7dvcZY8Fyh4vWRtYwNjA8kuxg5OSQETCR2 + 9PWxQthiEhfurWfrYuTiEBLYxyjx5FQfE4SzkVFizt0tjBDOaSaJ+VeOsEA4SxglehbOZATp + ZxFQlfj+4AHYLDYBDYlt+5eDxUUEdCRuH1rADmIzC0hLfPvdzARiCwuYSUx82A9WzwtUM/fO + N7C4kMB8RonHX20h4oISJ2c+YYHo1ZK48e8lUA0H2Jzl/zhAwpxAq3a/7wEbLyqgIjHl5Da2 + CYxCs5B0z0LSPQuhewEj8ypG2ZTcKt3cxMyc4tRk3eLkxLy81CJdY73czBK91JTSTYygsOaU + 5NvB+PWg0iFGAQ5GJR5ei/a0ICHWxLLiytxDjJIcTEqivIVv04OE+JLyUyozEosz4otKc1KL + DzFKcDArifDuuAuU401JrKxKLcqHSUlzsCiJ897ksA8SEkhPLEnNTk0tSC2CycpwcChJ8L5/ + A9QoWJSanlqRlplTgpBm4uAEGc4DNLwGZDFvcUFibnFmOkT+FKOilDjvZ5BmAZBERmkeXC8s + 7bxiFAd6RZjXBJiEhHiAKQuu+xXQYCagwVOWpIEMLklESEk1MMb+93E6VcEj4P9X6fq1WW81 + pMTkq7jqGlrjrdtWHL/131VZWiPBx2VLlOE60WKPE1Vbt8r8u/jt0yM2n2lBO26U9ApPFHJe + 3Oah7Pn+g3q2xG/7rss+n/afPXqoeuu9qNXHpXn4JZd2VbNpxD7O/W+//OzeSA/RA0HPJ4VN + Y5R/FHHR+9UuLSWW4oxEQy3mouJEAHxS9rkWAwAA +Cc: notmuch@notmuchmail.org +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.13 +Precedence: list +List-Id: "Use and development of the notmuch mail system." + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +X-List-Received-Date: Wed, 23 Oct 2013 15:44:17 -0000 + +Quoth Mark Walters on Oct 23 at 10:56 am: +> +> Hi +> +> On Wed, 23 Oct 2013, Austin Clements wrote: +> > Quoth Mark Walters on Oct 22 at 10:43 pm: +> >> This looks good to me +1. It makes the code clearer and nicer to read as +> >> well as giving a better user experience, and it is makes fixing the long +> >> standing tagging races simpler. +> >> +> >> I have a couple of docstring comments: +> >> +> >> In patch 2 perhaps notmuch-tag-completions could have a docstring. +> > +> > Added. I noticed that I had failed to update the call from +> > `notmuch-select-tag-with-completion', so I fixed that, too. I don't +> > understand why we take lists of search terms in random places and +> > never use more than one element, but I suppose this series doesn't +> > make that any worse. +> +> As far as I can see, at the end of the series, notmuch-tag-completions +> is only called with no argument: i.e., it's always just finding the list +> of all tags. This is because notmuch-select-tag-with-completion is only +> called once from "notmuch-search-filter-by-tag" with no search-terms +> argument. So it might be nice to just remove the search-terms +> completely. (The only downside is we might break user lisp.) + +That's true. Though it doesn't significantly complicate the code and +it's hard to say if we may need this for something else in the future, +so I'd just as soon leave it until we have a more compelling reason to +remove it (e.g., if we add tag list caching or something). + +> Best wishes +> +> Mark +> +> +> >> In Patch 4 I think the docstring for notmuch-search-tag is outdated: it +> >> is "Change tags for the currently selected thread or region." but +> >> beg and end can now be specified by the caller. +> > +> > I've left the first sentence as it is, since it's good interactive +> > documentation and a typical way to describe functions even if they +> > take a region as arguments (see, for example, `kill-region'). But +> > I've elaborated the rest of the docstring to be clearer about this. +> > +> >> and one actual comment: +> >> +> >> in patch 3 (for show) delete-dups is called before the list is passed to +> >> notmuch-read-tag-changes whereas it is not for search or pick. +> >> Obviously this is not actually a problem but it might be worth being +> >> consistent. +> > +> > Ah, whoops. I'd done this before I decided to handle duplicates in +> > `notmuch-read-tag-changes'. Since it's redundant, I've removed it. +> > +> >> But that was all I found. All tests pass and everything I try behaves +> >> exactly as expected. +> >> +> >> Best wishes +> >> +> >> Mark +> >> +> >> +> >> On Tue, 22 Oct 2013, Austin Clements wrote: +> >> > This series improves tag change completion in various ways for +> >> > commands like +, -, and *. +> >> > +> >> > From a user perspective, this provides command-specific prompts like +> >> > "Tag message" and "Tag all" instead of the generic "Tag" prompt, and +> >> > bases tag removal completions on the tags that are in the buffer, +> >> > rather than the current tags in the database, providing a more +> >> > predicable experience. +> >> > +> >> > From an implementation perspective, this new tag removal completion +> >> > behavior improves efficiency and eliminates a road block to fixing the +> >> > tagging race bug (which otherwise results in massive queries just to +> >> > compute removal completions). The new code is also more "Elispy" and +> >> > predictable because all tag change prompting now occurs at the +> >> > interactive entry points, rather than buried under several layers of +> >> > non-interactive calls. +> >> > +> >> > This is a spiritual successor to +> >> > id:1354263691-19715-1-git-send-email-markwalters1009@gmail.com, though +> >> > it takes a very different approach. This is also a prerequisite to +> >> > the tag race fix in +> >> > id:1381185201-25197-1-git-send-email-amdragon@mit.edu and I plan to +> >> > send an updated version of that series when this one is accepted. +> >> > +> >> > Patches 1, 5, and 6 could be pushed on their own. They fix bugs or +> >> > sort of bugs that get in the way of the rest of the series. -- 2.26.2