1 Return-Path: <markwalters1009@gmail.com>
\r
2 X-Original-To: notmuch@notmuchmail.org
\r
3 Delivered-To: notmuch@notmuchmail.org
\r
4 Received: from localhost (localhost [127.0.0.1])
\r
5 by olra.theworths.org (Postfix) with ESMTP id 404E8429E3E
\r
6 for <notmuch@notmuchmail.org>; Tue, 12 Nov 2013 12:18:40 -0800 (PST)
\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org
\r
11 X-Spam-Status: No, score=0.201 tagged_above=-999 required=5
\r
12 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1,
\r
13 FREEMAIL_ENVFROM_END_DIGIT=1, FREEMAIL_FROM=0.001,
\r
14 RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled
\r
15 Received: from olra.theworths.org ([127.0.0.1])
\r
16 by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)
\r
17 with ESMTP id d0gMnbaK-sIn for <notmuch@notmuchmail.org>;
\r
18 Tue, 12 Nov 2013 12:18:35 -0800 (PST)
\r
19 Received: from mail-wi0-f181.google.com (mail-wi0-f181.google.com
\r
20 [209.85.212.181]) (using TLSv1 with cipher RC4-SHA (128/128 bits))
\r
21 (No client certificate requested)
\r
22 by olra.theworths.org (Postfix) with ESMTPS id 47FEC429E38
\r
23 for <notmuch@notmuchmail.org>; Tue, 12 Nov 2013 12:18:35 -0800 (PST)
\r
24 Received: by mail-wi0-f181.google.com with SMTP id f4so618211wiw.14
\r
25 for <notmuch@notmuchmail.org>; Tue, 12 Nov 2013 12:18:34 -0800 (PST)
\r
26 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
\r
27 h=from:to:cc:subject:date:message-id:in-reply-to:references;
\r
28 bh=y/XXIvwhJ5uICFyxWT/9ORcGrvxoZ6O1n5PEdzVBOZA=;
\r
29 b=zDyYNdv4rdFuH8nTN+VGcZ6TLSMPaHA37VgTzNluJdOGSjBtdbMZnXs1SrWErg7iiB
\r
30 18lTn8YBlSY+sgSPWGIQamPcx/dzFnchID8J/vpP/S/FOrVHxfuBkrKjQz+2/b5yND47
\r
31 QJZwIwooJY8clzxlcmt5lkP6A48hXvvBtvy6nMxvHVFJ02mTqASnrlq+HRM165tIeMDV
\r
32 +kLKSJygzObLH/ECshkueMiq+2ySrlXegO//BAfnfdteX7DNJX50fTAG+MnLSOLEXyaX
\r
33 /1MiQlXJxlwtLix9dKPC5P8Rcad/xR80qGlfFkCB+rgjahM44JAakfgWySjl5iCTRxt7
\r
35 X-Received: by 10.194.11.38 with SMTP id n6mr29054108wjb.25.1384287071511;
\r
36 Tue, 12 Nov 2013 12:11:11 -0800 (PST)
\r
37 Received: from localhost (93-97-24-31.zone5.bethere.co.uk. [93.97.24.31])
\r
38 by mx.google.com with ESMTPSA id y20sm11308350wib.0.2013.11.12.12.11.10
\r
39 for <multiple recipients>
\r
40 (version=TLSv1.2 cipher=RC4-SHA bits=128/128);
\r
41 Tue, 12 Nov 2013 12:11:11 -0800 (PST)
\r
42 From: Mark Walters <markwalters1009@gmail.com>
\r
43 To: notmuch@notmuchmail.org
\r
44 Subject: [PATCH v4 4/7] emacs: help: split out notmuch-describe-key as a
\r
46 Date: Tue, 12 Nov 2013 20:10:56 +0000
\r
47 Message-Id: <1384287059-3525-5-git-send-email-markwalters1009@gmail.com>
\r
48 X-Mailer: git-send-email 1.7.9.1
\r
49 In-Reply-To: <1384287059-3525-1-git-send-email-markwalters1009@gmail.com>
\r
50 References: <1384287059-3525-1-git-send-email-markwalters1009@gmail.com>
\r
51 X-BeenThere: notmuch@notmuchmail.org
\r
52 X-Mailman-Version: 2.1.13
\r
54 List-Id: "Use and development of the notmuch mail system."
\r
55 <notmuch.notmuchmail.org>
\r
56 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
\r
57 <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
\r
58 List-Archive: <http://notmuchmail.org/pipermail/notmuch>
\r
59 List-Post: <mailto:notmuch@notmuchmail.org>
\r
60 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
\r
61 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
\r
62 <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
\r
63 X-List-Received-Date: Tue, 12 Nov 2013 20:18:40 -0000
\r
65 The actual documentation function notmuch-describe-keymap was getting
\r
66 rather complicated so split out the code for a single key into its own
\r
67 function notmuch-describe-key.
\r
69 emacs/notmuch-lib.el | 42 +++++++++++++++++++++++++-----------------
\r
70 1 files changed, 25 insertions(+), 17 deletions(-)
\r
72 diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el
\r
73 index dde636a..33790e2 100644
\r
74 --- a/emacs/notmuch-lib.el
\r
75 +++ b/emacs/notmuch-lib.el
\r
76 @@ -237,6 +237,30 @@ This is basically just `format-kbd-macro' but we also convert ESC to M-."
\r
78 (concat desc " "))))
\r
81 +(defun notmuch-describe-key (actual-key binding prefix ua-keys tail)
\r
82 + "Prepend cons cells describing prefix-arg ACTUAL-KEY and ACTUAL-KEY to TAIL
\r
84 +It does not prepend if ACTUAL-KEY is already listed in TAIL."
\r
85 + (let ((key-string (concat prefix (format-kbd-macro actual-key))))
\r
86 + ;; We don't include documentation if the key-binding is
\r
87 + ;; over-ridden. Note, over-riding a binding automatically hides the
\r
88 + ;; prefixed version too.
\r
89 + (unless (assoc key-string tail)
\r
90 + (when (and ua-keys (symbolp binding)
\r
91 + (get binding 'notmuch-prefix-doc))
\r
92 + ;; Documentation for prefixed command
\r
93 + (let ((ua-desc (key-description ua-keys)))
\r
94 + (push (cons (concat ua-desc " " prefix (format-kbd-macro actual-key))
\r
95 + (get binding 'notmuch-prefix-doc))
\r
97 + ;; Documentation for command
\r
98 + (push (cons key-string
\r
99 + (or (and (symbolp binding) (get binding 'notmuch-doc))
\r
100 + (notmuch-documentation-first-line binding)))
\r
104 (defun notmuch-describe-keymap (keymap ua-keys &optional prefix tail)
\r
105 "Return a list of cons cells, each describing one binding in KEYMAP.
\r
107 @@ -256,23 +280,7 @@ prefix argument. PREFIX and TAIL are used internally."
\r
108 (notmuch-describe-keymap
\r
109 binding ua-keys (notmuch-prefix-key-description key) tail)))
\r
111 - (let ((key-string (concat prefix (format-kbd-macro (vector key)))))
\r
112 - ;; We don't include documentation if the key-binding is
\r
113 - ;; over-ridden. Note, over-riding a binding
\r
114 - ;; automatically hides the prefixed version too.
\r
115 - (unless (assoc key-string tail)
\r
116 - (when (and ua-keys (symbolp binding)
\r
117 - (get binding 'notmuch-prefix-doc))
\r
118 - ;; Documentation for prefixed command
\r
119 - (let ((ua-desc (key-description ua-keys)))
\r
120 - (push (cons (concat ua-desc " " prefix (format-kbd-macro (vector key)))
\r
121 - (get binding 'notmuch-prefix-doc))
\r
123 - ;; Documentation for command
\r
124 - (push (cons key-string
\r
125 - (or (and (symbolp binding) (get binding 'notmuch-doc))
\r
126 - (notmuch-documentation-first-line binding)))
\r
128 + (setq tail (notmuch-describe-key (vector key) binding prefix ua-keys tail)))))
\r