From b46e80cf615457a3e6c90e873a1ddc1160207f76 Mon Sep 17 00:00:00 2001 From: Dmitry Kurochkin Date: Sat, 10 Mar 2012 07:54:15 +0400 Subject: [PATCH] [PATCH] emacs: get rid of trailing spaces in notmuch-hello view --- 6f/8610aa9d9f7f54c07bddd0fd7d503af1ac0782 | 242 ++++++++++++++++++++++ 1 file changed, 242 insertions(+) create mode 100644 6f/8610aa9d9f7f54c07bddd0fd7d503af1ac0782 diff --git a/6f/8610aa9d9f7f54c07bddd0fd7d503af1ac0782 b/6f/8610aa9d9f7f54c07bddd0fd7d503af1ac0782 new file mode 100644 index 000000000..68e4da016 --- /dev/null +++ b/6f/8610aa9d9f7f54c07bddd0fd7d503af1ac0782 @@ -0,0 +1,242 @@ +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 C1280431FC3 + for ; Fri, 9 Mar 2012 19:55:50 -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 yT1GOGbn8Qf6 for ; + Fri, 9 Mar 2012 19:55:49 -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 A2CC7431FAE + for ; Fri, 9 Mar 2012 19:55:47 -0800 (PST) +Received: by bkwj4 with SMTP id j4so1840558bkw.26 + for ; Fri, 09 Mar 2012 19:55:46 -0800 (PST) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; + h=from:to:subject:date:message-id:x-mailer; + bh=fjq0DEuj2IDjFzIckUJomvNc7eDKMMCy7JL0pTMP93w=; + b=p6ZZQzigXwD/gc8Qx41pqiIb5U3OE5lcSAIih8JN23gWnCshKk8VUf0c1NBCkpdMSh + i1Uok9pbim7EkfHVrHehxoLmK437PCiHsmg8YbpN0FuEjmiyJv0T/lljr0cUDqXMDCOb + r4gAIRlQXZZa3JWtz1zsdFc52AgS0NzzpO1ncdGHPXtcMQD9VfcEFP3d1i3/7NgS1wce + x0Bap5SE9aC9oXgP2PpeeZd1UivCyQbKWXcYP1T6z6Mv81N1bUbezCZsWRrVT1E5xBNh + nZETy2s1C3EtfGYGU8uDO0VWweZPP8xXPL+TkCLO2UhIIieNotDjfaZytLsJ65Z98rJg + x9Nw== +Received: by 10.205.136.12 with SMTP id ii12mr1804042bkc.98.1331351746398; + Fri, 09 Mar 2012 19:55:46 -0800 (PST) +Received: from localhost ([91.144.186.21]) + by mx.google.com with ESMTPS id d5sm12542132bkb.3.2012.03.09.19.55.45 + (version=TLSv1/SSLv3 cipher=OTHER); + Fri, 09 Mar 2012 19:55:45 -0800 (PST) +From: Dmitry Kurochkin +To: notmuch@notmuchmail.org +Subject: [PATCH] emacs: get rid of trailing spaces in notmuch-hello view +Date: Sat, 10 Mar 2012 07:54:15 +0400 +Message-Id: <1331351655-16921-1-git-send-email-dmitry.kurochkin@gmail.com> +X-Mailer: git-send-email 1.7.9.1 +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: Sat, 10 Mar 2012 03:55:51 -0000 + +This patch removes trailing spaces in notmuch-hello view. + +A side effect of this change is that tag/query buttons no longer +include a space at the end. This means that pressing RET when the +point is at the first character after the tag/query button no longer +works (note that this is the standard behavior for buttons). We may +change this behavior in the future (without adding trailing spaces +back) if people would find this change inconvenient. +--- + emacs/notmuch-hello.el | 30 ++++++++------------ + test/emacs | 2 +- + test/emacs.expected-output/notmuch-hello | 2 +- + .../emacs.expected-output/notmuch-hello-long-names | 6 ++-- + .../notmuch-hello-new-section | 2 +- + .../notmuch-hello-section-counts | 4 +- + .../notmuch-hello-section-hidden-tag | 2 +- + .../notmuch-hello-section-with-empty | 2 +- + .../emacs.expected-output/notmuch-hello-with-empty | 2 +- + 9 files changed, 23 insertions(+), 29 deletions(-) + +diff --git a/emacs/notmuch-hello.el b/emacs/notmuch-hello.el +index 28f39f1..17f7edd 100644 +--- a/emacs/notmuch-hello.el ++++ b/emacs/notmuch-hello.el +@@ -429,7 +429,8 @@ Such a list can be computed with `notmuch-hello-query-counts'." + (let* ((widest (notmuch-hello-longest-label searches)) + (tags-and-width (notmuch-hello-tags-per-line widest)) + (tags-per-line (car tags-and-width)) +- (widest (cdr tags-and-width)) ++ (column-width (cdr tags-and-width)) ++ (column-indent 0) + (count 0) + (reordered-list (notmuch-hello-reflect searches tags-per-line)) + ;; Hack the display of the buttons used. +@@ -441,32 +442,25 @@ Such a list can be computed with `notmuch-hello-query-counts'." + (mapc (lambda (elem) + ;; (not elem) indicates an empty slot in the matrix. + (when elem ++ (if (> column-indent 0) ++ (widget-insert (make-string column-indent ? ))) + (let* ((name (first elem)) + (query (second elem)) +- (msg-count (third elem)) +- (formatted-name (format "%s " name))) ++ (msg-count (third elem))) + (widget-insert (format "%8s " + (notmuch-hello-nice-number msg-count))) +- (if (string= formatted-name notmuch-hello-target) ++ (if (string= name notmuch-hello-target) + (setq found-target-pos (point-marker))) + (widget-create 'push-button + :notify #'notmuch-hello-widget-search + :notmuch-search-terms query +- formatted-name) +- (unless (eq (% count tags-per-line) (1- tags-per-line)) +- ;; If this is not the last tag on the line, insert +- ;; enough space to consume the rest of the column. +- ;; Because the button for the name is `(1+ (length +- ;; name))' long (due to the trailing space) we can +- ;; just insert `(- widest (length name))' spaces - the +- ;; column separator is included in the button if +- ;; `(equal widest (length name)'. +- (widget-insert (make-string (max 0 +- (- widest (length name))) +- ? ))))) ++ name) ++ (setq column-indent ++ (1+ (max 0 (- column-width (length name))))))) + (setq count (1+ count)) +- (if (eq (% count tags-per-line) 0) +- (widget-insert "\n"))) ++ (when (eq (% count tags-per-line) 0) ++ (setq column-indent 0) ++ (widget-insert "\n"))) + reordered-list) + + ;; If the last line was not full (and hence did not include a +diff --git a/test/emacs b/test/emacs +index 29a489c..42780af 100755 +--- a/test/emacs ++++ b/test/emacs +@@ -39,7 +39,7 @@ test_begin_subtest "Navigation of notmuch-hello to search results" + test_emacs '(notmuch-hello) + (goto-char (point-min)) + (re-search-forward "inbox") +- (widget-button-press (point)) ++ (widget-button-press (1- (point))) + (notmuch-test-wait) + (test-output)' + test_expect_equal_file OUTPUT $EXPECTED/notmuch-hello-view-inbox +diff --git a/test/emacs.expected-output/notmuch-hello b/test/emacs.expected-output/notmuch-hello +index 1470790..2d69891 100644 +--- a/test/emacs.expected-output/notmuch-hello ++++ b/test/emacs.expected-output/notmuch-hello +@@ -2,7 +2,7 @@ + + Saved searches: [edit] + +- 52 inbox 52 unread ++ 52 inbox 52 unread + + Search: . + +diff --git a/test/emacs.expected-output/notmuch-hello-long-names b/test/emacs.expected-output/notmuch-hello-long-names +index be6d2c5..486d0d9 100644 +--- a/test/emacs.expected-output/notmuch-hello-long-names ++++ b/test/emacs.expected-output/notmuch-hello-long-names +@@ -2,14 +2,14 @@ + + Saved searches: [edit] + +- 52 inbox 52 unread ++ 52 inbox 52 unread + + Search: . + + All tags: [hide] + +- 52 a-very-long-tag 52 inbox 52 unread +- 4 attachment 7 signed ++ 52 a-very-long-tag 52 inbox 52 unread ++ 4 attachment 7 signed + + Type a search query and hit RET to view matching threads. + Edit saved searches with the `edit' button. +diff --git a/test/emacs.expected-output/notmuch-hello-new-section b/test/emacs.expected-output/notmuch-hello-new-section +index 6a339aa..67fdef2 100644 +--- a/test/emacs.expected-output/notmuch-hello-new-section ++++ b/test/emacs.expected-output/notmuch-hello-new-section +@@ -1,4 +1,4 @@ + Test: [hide] + +- 52 inbox ++ 52 inbox + +diff --git a/test/emacs.expected-output/notmuch-hello-section-counts b/test/emacs.expected-output/notmuch-hello-section-counts +index 9d79659..7a9827c 100644 +--- a/test/emacs.expected-output/notmuch-hello-section-counts ++++ b/test/emacs.expected-output/notmuch-hello-section-counts +@@ -1,5 +1,5 @@ + Test-with-counts: [hide] + +- 2 attachment 7 signed +- 7 inbox 7 unread ++ 2 attachment 7 signed ++ 7 inbox 7 unread + +diff --git a/test/emacs.expected-output/notmuch-hello-section-hidden-tag b/test/emacs.expected-output/notmuch-hello-section-hidden-tag +index 3688e7c..809a114 100644 +--- a/test/emacs.expected-output/notmuch-hello-section-hidden-tag ++++ b/test/emacs.expected-output/notmuch-hello-section-hidden-tag +@@ -1,4 +1,4 @@ + Test-with-filtered: [hide] + +- 4 attachment 52 inbox 7 signed ++ 4 attachment 52 inbox 7 signed + +diff --git a/test/emacs.expected-output/notmuch-hello-section-with-empty b/test/emacs.expected-output/notmuch-hello-section-with-empty +index dc2568d..5c67317 100644 +--- a/test/emacs.expected-output/notmuch-hello-section-with-empty ++++ b/test/emacs.expected-output/notmuch-hello-section-with-empty +@@ -1,4 +1,4 @@ + Test-with-empty: [hide] + +- 52 inbox ++ 52 inbox + +diff --git a/test/emacs.expected-output/notmuch-hello-with-empty b/test/emacs.expected-output/notmuch-hello-with-empty +index 5e53222..854e0c2 100644 +--- a/test/emacs.expected-output/notmuch-hello-with-empty ++++ b/test/emacs.expected-output/notmuch-hello-with-empty +@@ -2,7 +2,7 @@ + + Saved searches: [edit] + +- 52 inbox 52 unread 0 empty ++ 52 inbox 52 unread 0 empty + + Search: . + +-- +1.7.9.1 + -- 2.26.2