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 D5026429E59 for ; Sun, 29 Jan 2012 15:33:19 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: -0.799 X-Spam-Level: X-Spam-Status: No, score=-0.799 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, 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 PG+dAagO9Dng for ; Sun, 29 Jan 2012 15:33:19 -0800 (PST) Received: from mail-bk0-f53.google.com (mail-bk0-f53.google.com [209.85.214.53]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by olra.theworths.org (Postfix) with ESMTPS id 29310429E57 for ; Sun, 29 Jan 2012 15:33:19 -0800 (PST) Received: by bke11 with SMTP id 11so879856bke.26 for ; Sun, 29 Jan 2012 15:33:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:cc:subject:in-reply-to:references:user-agent:date :message-id:mime-version:content-type; bh=Fe17iqW0y2aEERUpxobb1Lc7vZVmJ5BjAJAVZb4skUA=; b=Hn15JP6LDAEzI208k1vfd9Yf44lnSL9Gt5dMAopWvsMPlSVMUhgg1tCRWW6pBVc/nE 0LWIjndSjgbhkVjEO4wzvstlcZ/X1iZ/qcopzY5GW7cyrVVoQr+7iDg5d1r30PPXUgg5 MXYbkT7954zm9beNOZVV1NXTl0zSGNASSURpg= Received: by 10.205.135.146 with SMTP id ig18mr7254203bkc.73.1327879997797; Sun, 29 Jan 2012 15:33:17 -0800 (PST) Received: from localhost ([91.144.186.21]) by mx.google.com with ESMTPS id ga13sm33453292bkc.5.2012.01.29.15.33.16 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 29 Jan 2012 15:33:17 -0800 (PST) From: Dmitry Kurochkin To: Austin Clements Subject: Re: [PATCH 1/6] emacs: move tag format validation to `notmuch-tag' function In-Reply-To: <20120129231650.GK17991@mit.edu> References: <1327725684-5887-1-git-send-email-dmitry.kurochkin@gmail.com> <20120129213427.GF17991@mit.edu> <87fwey86hj.fsf@gmail.com> <20120129231650.GK17991@mit.edu> User-Agent: Notmuch/0.11+134~g7ddba9d (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu) Date: Mon, 30 Jan 2012 03:32:08 +0400 Message-ID: <878vkq84qv.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii 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: Sun, 29 Jan 2012 23:33:20 -0000 On Sun, 29 Jan 2012 18:16:50 -0500, Austin Clements wrote: > Quoth Dmitry Kurochkin on Jan 30 at 2:54 am: > > Hi Austin. > > > > On Sun, 29 Jan 2012 16:34:27 -0500, Austin Clements wrote: > > > One philosophical nit below, but not enough to hold this up. > > > > > > Quoth Dmitry Kurochkin on Jan 28 at 8:41 am: > > > > Before the change, tag format validation was done in > > > > `notmuch-search-operate-all' function only. The patch moves it down > > > > to `notmuch-tag', so that all users of that function get input > > > > validation. > > > > --- > > > > emacs/notmuch.el | 12 ++++++------ > > > > 1 files changed, 6 insertions(+), 6 deletions(-) > > > > > > > > diff --git a/emacs/notmuch.el b/emacs/notmuch.el > > > > index 72f78ed..84d7d0a 100644 > > > > --- a/emacs/notmuch.el > > > > +++ b/emacs/notmuch.el > > > > @@ -522,6 +522,12 @@ Note: Other code should always use this function alter tags of > > > > messages instead of running (notmuch-call-notmuch-process \"tag\" ..) > > > > directly, so that hooks specified in notmuch-before-tag-hook and > > > > notmuch-after-tag-hook will be run." > > > > + ;; Perform some validation > > > > + (when (null tags) (error "No tags given")) > > > > > > Since this is a non-interactive function and hence is meant to be > > > invoked programmatically, I would expect it to accept zero tags. > > > Unlike the following check, this is a UI-level check and thus, I > > > believe, belongs in interactive functions (even if that requires a > > > little duplication). > > > > > > > Agreed. Though I would hate to add the same check to each tag > > operation. Perhaps this check can go to > > `notmuch-select-tags-with-completion'? > > > > This is not the main patch in the series. So I think I would prefer not > > to make v2 because of this issue. If we come up with a good (i.e. no > > duplication) solution, I will prepare a separate patch for it. > > What about not giving any error for no tags? As a user, if I delete > the whole tags prompt including the +/- operator, that's a very > explicit action and it's very clear what it should do (nothing). I > don't need Emacs wagging its finger at me for doing something with a > clear meaning. Sure, let's try it. I am always hesitant to do changes like this to avoid boring discussions on what is better. I hope nobody would argue with this change :) Regards, Dmitry