[PATCH 0/4] contrib: pick: allow more general format lines
authorMark Walters <markwalters1009@gmail.com>
Mon, 2 Sep 2013 03:28:04 +0000 (04:28 +0100)
committerW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 17:56:48 +0000 (09:56 -0800)
98/7080d9f461a33228a3d55729ce7ee1442ec1f9 [new file with mode: 0644]

diff --git a/98/7080d9f461a33228a3d55729ce7ee1442ec1f9 b/98/7080d9f461a33228a3d55729ce7ee1442ec1f9
new file mode 100644 (file)
index 0000000..4d59ce0
--- /dev/null
@@ -0,0 +1,118 @@
+Return-Path: <markwalters1009@gmail.com>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+       by olra.theworths.org (Postfix) with ESMTP id AD3C6431FD0\r
+       for <notmuch@notmuchmail.org>; Sun,  1 Sep 2013 20:28:21 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: 0.201\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=0.201 tagged_above=-999 required=5\r
+       tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1,\r
+       FREEMAIL_ENVFROM_END_DIGIT=1, FREEMAIL_FROM=0.001,\r
+       RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+       by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+       with ESMTP id DAvu4prf-Klv for <notmuch@notmuchmail.org>;\r
+       Sun,  1 Sep 2013 20:28:16 -0700 (PDT)\r
+Received: from mail-wi0-f182.google.com (mail-wi0-f182.google.com\r
+       [209.85.212.182]) (using TLSv1 with cipher RC4-SHA (128/128 bits))\r
+       (No client certificate requested)\r
+       by olra.theworths.org (Postfix) with ESMTPS id 06FBE431FC3\r
+       for <notmuch@notmuchmail.org>; Sun,  1 Sep 2013 20:28:15 -0700 (PDT)\r
+Received: by mail-wi0-f182.google.com with SMTP id ez12so762982wid.3\r
+       for <notmuch@notmuchmail.org>; Sun, 01 Sep 2013 20:28:14 -0700 (PDT)\r
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;\r
+       h=from:to:cc:subject:date:message-id;\r
+       bh=MHwJHLYw35A1bkWFmtZxpmIfDff90pd46wYd+sEtyXc=;\r
+       b=Im1bi+GPiehBEo2nhIkI9CYbLPLQpjFX6BhBW+XwBYRwNEWXH4Ce890CpOZguxfs7k\r
+       iy/HNsu05oEqanP6Cn2GFyQsOhVjV6V1ERL0yWD3oRzxU0aXB56lrfeIEzbJnn8aV2aS\r
+       CAaza8MCGXNKVyxPDmlxFtjOfhpMixh2W5PgLNAsj9g0iu6Nfxd2egDFBz4a3IKGss6H\r
+       /ufuwN6zhweEceooGWBPuWZbzP/Qt20noTfUpzwhosMLJon5bk7TRGWs1WRMRw5UbUQY\r
+       uoY1Rg5ptR6WBK1pyg+zhYWEhSxjXgqJojYBLrHgihi6cTMgzT2RV87yUYJRs8MKBojg\r
+       eiIg==\r
+X-Received: by 10.180.9.140 with SMTP id z12mr3172668wia.37.1378092493424;\r
+       Sun, 01 Sep 2013 20:28:13 -0700 (PDT)\r
+Received: from localhost (93-97-24-31.zone5.bethere.co.uk. [93.97.24.31])\r
+       by mx.google.com with ESMTPSA id z2sm14396586wiv.11.1969.12.31.16.00.00\r
+       (version=TLSv1.2 cipher=RC4-SHA bits=128/128);\r
+       Sun, 01 Sep 2013 20:28:12 -0700 (PDT)\r
+From: Mark Walters <markwalters1009@gmail.com>\r
+To: notmuch@notmuchmail.org\r
+Subject: [PATCH 0/4] contrib: pick: allow more general format lines\r
+Date: Mon,  2 Sep 2013 04:28:04 +0100\r
+Message-Id: <1378092488-32050-1-git-send-email-markwalters1009@gmail.com>\r
+X-Mailer: git-send-email 1.7.9.1\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+       <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Mon, 02 Sep 2013 03:28:21 -0000\r
+\r
+Currently pick makes the tree box graphics part of the "subject". This\r
+is rather unsatisfactory: the tree graphics should be a field in their\r
+own right.\r
+\r
+However, there is no mechanism in the current setup for allowing 2\r
+fields to have fixed combined width but variable individual\r
+width. Thus making the tree graphics a seperate field means that we\r
+cannot keep the current display which is \r
+\r
+date (12 characters) authors (20 characters) tree+subject (54 characters) tags\r
+\r
+We solve this by extending the format specifier. Previously this was a\r
+list of cons cells (field-name . format-string) We now allow the\r
+left-side (the field-name) itself to be a list of cons cells in which case we\r
+apply the formatting recursively.\r
+\r
+This means we can separate the tree box graphics into their own field\r
+while maintaining the current format.\r
+\r
+Note that this will mean that people who have customised the\r
+result-format will need to update their customisation.\r
+\r
+The patch is larger but relatively simple.\r
+\r
+Patch 1/4 is unrelated except I found it while doing this update: we\r
+consistency we should print () for messages with no tags.\r
+\r
+Patch 2/4 is large but trivial: it moves the insertion up a level in\r
+preparation for the recursive formatting.\r
+\r
+Patch 3/4 is also simple: it just allows the recursive formatting.\r
+\r
+Patch 4/4 separates out the tree field. This patch is large as\r
+it allows separate tree faces (matching and non-matching). The\r
+"genuine code" part of the patch is relatively small.\r
+\r
+Finally, this is the last series (apart from some extra tests and\r
+keeping up with mainline progress) that I think pick needs before it's\r
+ready for consideration in non-contrib mainline.\r
+\r
+Best wishes\r
+\r
+Mark\r
+\r
+\r
+\r
+Mark Walters (4):\r
+  contrib: pick: print () for a message with no tags\r
+  contrib: pick: move the insertion of fields up a level\r
+  contrib: pick: allow recursive message field formats\r
+  contrib: pick: make the tree graphics a proper part of the format\r
+\r
+ contrib/notmuch-pick/notmuch-pick.el |   93 ++++++++++++++++++++++++---------\r
+ 1 files changed, 67 insertions(+), 26 deletions(-)\r
+\r
+-- \r
+1.7.9.1\r
+\r