Re: [PATCH] correct comment referring to notmuch_database_remove_message
[notmuch-archives.git] / 4a / 377aacba744bfacb6728bbc3c1b3323a121e48
1 Return-Path: <pieter@praet.org>\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 BF64F429E28\r
6         for <notmuch@notmuchmail.org>; Mon, 16 Jan 2012 02:40:30 -0800 (PST)\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
8 X-Spam-Flag: NO\r
9 X-Spam-Score: -0.7\r
10 X-Spam-Level: \r
11 X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5\r
12         tests=[RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled\r
13 Received: from olra.theworths.org ([127.0.0.1])\r
14         by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
15         with ESMTP id oxqGdLDh7RdO for <notmuch@notmuchmail.org>;\r
16         Mon, 16 Jan 2012 02:40:29 -0800 (PST)\r
17 Received: from mail-wi0-f181.google.com (mail-wi0-f181.google.com\r
18         [209.85.212.181]) (using TLSv1 with cipher RC4-SHA (128/128 bits))\r
19         (No client certificate requested)\r
20         by olra.theworths.org (Postfix) with ESMTPS id AFEB4431FC0\r
21         for <notmuch@notmuchmail.org>; Mon, 16 Jan 2012 02:40:28 -0800 (PST)\r
22 Received: by wibhr12 with SMTP id hr12so2266633wib.26\r
23         for <notmuch@notmuchmail.org>; Mon, 16 Jan 2012 02:40:27 -0800 (PST)\r
24 Received: by 10.180.20.69 with SMTP id l5mr13292012wie.19.1326710427557;\r
25         Mon, 16 Jan 2012 02:40:27 -0800 (PST)\r
26 Received: from localhost ([109.131.75.86])\r
27         by mx.google.com with ESMTPS id l2sm20755410wie.11.2012.01.16.02.40.25\r
28         (version=TLSv1/SSLv3 cipher=OTHER);\r
29         Mon, 16 Jan 2012 02:40:26 -0800 (PST)\r
30 From: Pieter Praet <pieter@praet.org>\r
31 To: Austin Clements <amdragon@MIT.EDU>\r
32 Subject: [PATCH v4] emacs: logically group def{custom,face}s\r
33 Date: Mon, 16 Jan 2012 11:38:33 +0100\r
34 Message-Id: <1326710313-21417-1-git-send-email-pieter@praet.org>\r
35 X-Mailer: git-send-email 1.7.8.1\r
36 In-Reply-To: <871ur02awi.fsf@praet.org>\r
37 References: <871ur02awi.fsf@praet.org>\r
38 Cc: Notmuch Mail <notmuch@notmuchmail.org>\r
39 X-BeenThere: notmuch@notmuchmail.org\r
40 X-Mailman-Version: 2.1.13\r
41 Precedence: list\r
42 List-Id: "Use and development of the notmuch mail system."\r
43         <notmuch.notmuchmail.org>\r
44 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
45         <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
46 List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
47 List-Post: <mailto:notmuch@notmuchmail.org>\r
48 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
49 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
50         <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
51 X-List-Received-Date: Mon, 16 Jan 2012 10:40:30 -0000\r
52 \r
53 To allow for expansion whilst keeping everything tidy and organized,\r
54 move all defcustom/defface variables to the following subgroups,\r
55 defined in notmuch-lib.el:\r
56 \r
57 - Hello\r
58 - Search\r
59 - Show\r
60 - Send\r
61 - Crypto\r
62 - Hooks\r
63 - External Commands\r
64 - Appearance\r
65 \r
66 As an added benefit, defcustom keyword args are now consistently\r
67 ordered as they appear @ defcustom's docstring (OCD much?).\r
68 \r
69 Proper defgroup docstrings and various other improvements\r
70 by courtesy of Austin Clements.\r
71 \r
72 ---\r
73 \r
74 ChangeLog:\r
75 \r
76 v2\r
77 - `notmuch-crypto-part-header' was added post-v1 (430fb27) : move to\r
78   `notmuch-crypto' and `notmuch-appearance'.\r
79 - `notmuch-crypto-process-mime' was erroneously added to `notmuch-hello'\r
80   in v1 : move to `notmuch-crypto'.\r
81 - `notmuch-hello-mode-hook' was added post-v1 (db352df) : move to\r
82   `notmuch-hello' and `notmuch-hooks'.\r
83 - `notmuch-hello-refresh-hook' was added post-v1 (4e2fe89) : move to\r
84   `notmuch-hello' and `notmuch-hooks'.\r
85 - `notmuch-saved-search-sort-function' was added post-v1 (e312705) :\r
86   move to `notmuch-hello'.\r
87 - `notmuch-show-indent-messages-width' was added post-v1 (46eb1c1,\r
88   74bced6) : move to `notmuch-show' and `notmuch-appearance'.\r
89 - ... and reorder all defcustom keyword args to match their order of\r
90   appearance in `defcustom's docstring.\r
91 \r
92 v3\r
93 - Add some really bad docstrings to the subgroup definitions.\r
94 \r
95 v4\r
96 - Replace horrible docstrings with Austin's suggestions [1].\r
97 - Remove redundant ":tag" attributes from group definitions,\r
98   as per Austin's recommendation [1].\r
99 - Add `notmuch-send' to the `message' group, as per Austin's\r
100   recommendation [1].\r
101 - `notmuch-show-logo' was added to `notmuch-appearance' in v1, but\r
102   doesn't really belong there : remove from `notmuch-appearance'.\r
103 - `notmuch-show-indent-messages-width' was added to `notmuch-appearance'\r
104   in v2, but doesn't really belong there : remove from `notmuch-appearance'.\r
105 - `notmuch-appearance' now only contains face definitions, and still\r
106   lacks a proper docstring : rename to `notmuch-faces' and set docstring.\r
107 - `notmuch-hooks', `notmuch-external' : set proper docstrings.\r
108 - `notmuch-show-hook' was only added to `notmuch-show' in v1 :\r
109   add to `notmuch-hooks' as well.\r
110 - `notmuch-show-insert-text/plain-hook' was only added to `notmuch-show'\r
111   in v1 : add to group `notmuch-hooks' as well.\r
112 \r
113 [1] id:"20120114180828.GD1801@mit.edu"\r
114 \r
115 \r
116  emacs/notmuch-address.el     |    3 ++-\r
117  emacs/notmuch-crypto.el      |   22 ++++++++++++++--------\r
118  emacs/notmuch-hello.el       |   33 ++++++++++++++++++---------------\r
119  emacs/notmuch-lib.el         |   37 +++++++++++++++++++++++++++++++++++--\r
120  emacs/notmuch-maildir-fcc.el |    6 +++---\r
121  emacs/notmuch-message.el     |    2 +-\r
122  emacs/notmuch-mua.el         |   21 +++++++++++----------\r
123  emacs/notmuch-show.el        |   34 ++++++++++++++++++----------------\r
124  emacs/notmuch.el             |   35 ++++++++++++++++++++++-------------\r
125  9 files changed, 124 insertions(+), 69 deletions(-)\r
126 \r
127 diff --git a/emacs/notmuch-address.el b/emacs/notmuch-address.el\r
128 index 8eba7a0..2e8b840 100644\r
129 --- a/emacs/notmuch-address.el\r
130 +++ b/emacs/notmuch-address.el\r
131 @@ -28,7 +28,8 @@\r
132  single argument and output a list of possible matches, one per\r
133  line."\r
134    :type 'string\r
135 -  :group 'notmuch)\r
136 +  :group 'notmuch-send\r
137 +  :group 'notmuch-external)\r
138  \r
139  (defvar notmuch-address-message-alist-member\r
140    '("^\\(Resent-\\)?\\(To\\|B?Cc\\|Reply-To\\|From\\|Mail-Followup-To\\|Mail-Copies-To\\):"\r
141 diff --git a/emacs/notmuch-crypto.el b/emacs/notmuch-crypto.el\r
142 index ac30098..80ac350 100644\r
143 --- a/emacs/notmuch-crypto.el\r
144 +++ b/emacs/notmuch-crypto.el\r
145 @@ -34,38 +34,44 @@ The effect of setting this variable can be seen temporarily by\r
146  providing a prefix when viewing a signed or encrypted message, or\r
147  by providing a prefix when reloading the message in notmuch-show\r
148  mode."\r
149 -  :group 'notmuch\r
150 -  :type 'boolean)\r
151 +  :type 'boolean\r
152 +  :group 'notmuch-crypto)\r
153  \r
154  (defface notmuch-crypto-part-header\r
155    '((t (:foreground "blue")))\r
156    "Face used for crypto parts headers."\r
157 -  :group 'notmuch)\r
158 +  :group 'notmuch-crypto\r
159 +  :group 'notmuch-faces)\r
160  \r
161  (defface notmuch-crypto-signature-good\r
162    '((t (:background "green" :foreground "black")))\r
163    "Face used for good signatures."\r
164 -  :group 'notmuch)\r
165 +  :group 'notmuch-crypto\r
166 +  :group 'notmuch-faces)\r
167  \r
168  (defface notmuch-crypto-signature-good-key\r
169    '((t (:background "orange" :foreground "black")))\r
170    "Face used for good signatures."\r
171 -  :group 'notmuch)\r
172 +  :group 'notmuch-crypto\r
173 +  :group 'notmuch-faces)\r
174  \r
175  (defface notmuch-crypto-signature-bad\r
176    '((t (:background "red" :foreground "black")))\r
177    "Face used for bad signatures."\r
178 -  :group 'notmuch)\r
179 +  :group 'notmuch-crypto\r
180 +  :group 'notmuch-faces)\r
181  \r
182  (defface notmuch-crypto-signature-unknown\r
183    '((t (:background "red" :foreground "black")))\r
184    "Face used for signatures of unknown status."\r
185 -  :group 'notmuch)\r
186 +  :group 'notmuch-crypto\r
187 +  :group 'notmuch-faces)\r
188  \r
189  (defface notmuch-crypto-decryption\r
190    '((t (:background "purple" :foreground "black")))\r
191    "Face used for encryption/decryption status messages."\r
192 -  :group 'notmuch)\r
193 +  :group 'notmuch-crypto\r
194 +  :group 'notmuch-faces)\r
195  \r
196  (define-button-type 'notmuch-crypto-status-button-type\r
197    'action (lambda (button) (message (button-get button 'help-echo)))\r
198 diff --git a/emacs/notmuch-hello.el b/emacs/notmuch-hello.el\r
199 index 02017ce..bff95ac 100644\r
200 --- a/emacs/notmuch-hello.el\r
201 +++ b/emacs/notmuch-hello.el\r
202 @@ -35,12 +35,12 @@\r
203  (defcustom notmuch-recent-searches-max 10\r
204    "The number of recent searches to store and display."\r
205    :type 'integer\r
206 -  :group 'notmuch)\r
207 +  :group 'notmuch-hello)\r
208  \r
209  (defcustom notmuch-show-empty-saved-searches nil\r
210    "Should saved searches with no messages be listed?"\r
211    :type 'boolean\r
212 -  :group 'notmuch)\r
213 +  :group 'notmuch-hello)\r
214  \r
215  (defun notmuch-sort-saved-searches (alist)\r
216    "Generate an alphabetically sorted saved searches alist."\r
217 @@ -60,7 +60,7 @@ alist to be used."\r
218                  (const :tag "Sort alphabetically" notmuch-sort-saved-searches)\r
219                  (function :tag "Custom sort function"\r
220                            :value notmuch-sort-saved-searches))\r
221 -  :group 'notmuch)\r
222 +  :group 'notmuch-hello)\r
223  \r
224  (defvar notmuch-hello-indent 4\r
225    "How much to indent non-headers.")\r
226 @@ -68,12 +68,12 @@ alist to be used."\r
227  (defcustom notmuch-show-logo t\r
228    "Should the notmuch logo be shown?"\r
229    :type 'boolean\r
230 -  :group 'notmuch)\r
231 +  :group 'notmuch-hello)\r
232  \r
233  (defcustom notmuch-show-all-tags-list nil\r
234    "Should all tags be shown in the notmuch-hello view?"\r
235    :type 'boolean\r
236 -  :group 'notmuch)\r
237 +  :group 'notmuch-hello)\r
238  \r
239  (defcustom notmuch-hello-tag-list-make-query nil\r
240    "Function or string to generate queries for the all tags list.\r
241 @@ -89,12 +89,12 @@ should return a filter for that tag, or nil to hide the tag."\r
242                  (string :tag "Custom filter"\r
243                          :value "tag:unread")\r
244                  (function :tag "Custom filter function"))\r
245 -  :group 'notmuch)\r
246 +  :group 'notmuch-hello)\r
247  \r
248  (defcustom notmuch-hello-hide-tags nil\r
249    "List of tags to be hidden in the \"all tags\"-section."\r
250    :type '(repeat string)\r
251 -  :group 'notmuch)\r
252 +  :group 'notmuch-hello)\r
253  \r
254  (defface notmuch-hello-logo-background\r
255    '((((class color)\r
256 @@ -104,7 +104,8 @@ should return a filter for that tag, or nil to hide the tag."\r
257        (background light))\r
258       (:background "white")))\r
259    "Background colour for the notmuch logo."\r
260 -  :group 'notmuch)\r
261 +  :group 'notmuch-hello\r
262 +  :group 'notmuch-faces)\r
263  \r
264  (defcustom notmuch-column-control t\r
265    "Controls the number of columns for saved searches/tags in notmuch view.\r
266 @@ -126,11 +127,11 @@ So:\r
267    30.\r
268  - if you don't want to worry about all of this nonsense, leave\r
269    this set to `t'."\r
270 -  :group 'notmuch\r
271    :type '(choice\r
272           (const :tag "Automatically calculated" t)\r
273           (integer :tag "Number of characters")\r
274 -         (float :tag "Fraction of window")))\r
275 +         (float :tag "Fraction of window"))\r
276 +  :group 'notmuch-hello)\r
277  \r
278  (defcustom notmuch-hello-thousands-separator " "\r
279    "The string used as a thousands separator.\r
280 @@ -138,18 +139,20 @@ So:\r
281  Typically \",\" in the US and UK and \".\" or \" \" in Europe.\r
282  The latter is recommended in the SI/ISO 31-0 standard and by the\r
283  International Bureau of Weights and Measures."\r
284 -  :group 'notmuch\r
285 -  :type 'string)\r
286 +  :type 'string\r
287 +  :group 'notmuch-hello)\r
288  \r
289  (defcustom notmuch-hello-mode-hook nil\r
290    "Functions called after entering `notmuch-hello-mode'."\r
291 -  :group 'notmuch\r
292 -  :type 'hook)\r
293 +  :type 'hook\r
294 +  :group 'notmuch-hello\r
295 +  :group 'notmuch-hooks)\r
296  \r
297  (defcustom notmuch-hello-refresh-hook nil\r
298    "Functions called after updating a `notmuch-hello' buffer."\r
299    :type 'hook\r
300 -  :group 'notmuch)\r
301 +  :group 'notmuch-hello\r
302 +  :group 'notmuch-hooks)\r
303  \r
304  (defvar notmuch-hello-url "http://notmuchmail.org"\r
305    "The `notmuch' web site.")\r
306 diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el\r
307 index 0f856bf..9242537 100644\r
308 --- a/emacs/notmuch-lib.el\r
309 +++ b/emacs/notmuch-lib.el\r
310 @@ -28,17 +28,50 @@\r
311    "Notmuch mail reader for Emacs."\r
312    :group 'mail)\r
313  \r
314 +(defgroup notmuch-hello nil\r
315 +  "Overview of saved searches, tags, etc."\r
316 +  :group 'notmuch)\r
317 +\r
318 +(defgroup notmuch-search nil\r
319 +  "Searching and sorting mail."\r
320 +  :group 'notmuch)\r
321 +\r
322 +(defgroup notmuch-show nil\r
323 +  "Showing messages and threads."\r
324 +  :group 'notmuch)\r
325 +\r
326 +(defgroup notmuch-send nil\r
327 +  "Sending messages from Notmuch."\r
328 +  :group 'notmuch\r
329 +  :group 'message)\r
330 +\r
331 +(defgroup notmuch-crypto nil\r
332 +  "Processing and display of cryptographic MIME parts."\r
333 +  :group 'notmuch)\r
334 +\r
335 +(defgroup notmuch-hooks nil\r
336 +  "Running custom code on well-defined occasions."\r
337 +  :group 'notmuch)\r
338 +\r
339 +(defgroup notmuch-external nil\r
340 +  "Running external commands from within Notmuch."\r
341 +  :group 'notmuch)\r
342 +\r
343 +(defgroup notmuch-faces nil\r
344 +  "Graphical attributes for displaying text"\r
345 +  :group 'notmuch)\r
346 +\r
347  (defcustom notmuch-search-oldest-first t\r
348    "Show the oldest mail first when searching."\r
349    :type 'boolean\r
350 -  :group 'notmuch)\r
351 +  :group 'notmuch-search)\r
352  \r
353  ;;\r
354  \r
355  (defcustom notmuch-saved-searches nil\r
356    "A list of saved searches to display."\r
357    :type '(alist :key-type string :value-type string)\r
358 -  :group 'notmuch)\r
359 +  :group 'notmuch-hello)\r
360  \r
361  (defvar notmuch-folders nil\r
362    "Deprecated name for what is now known as `notmuch-saved-searches'.")\r
363 diff --git a/emacs/notmuch-maildir-fcc.el b/emacs/notmuch-maildir-fcc.el\r
364 index 6fbf82d..dcfbc4b 100644\r
365 --- a/emacs/notmuch-maildir-fcc.el\r
366 +++ b/emacs/notmuch-maildir-fcc.el\r
367 @@ -51,13 +51,13 @@ the database.path option in the notmuch configuration file).\r
368  You will be prompted to create the directory if it does not exist\r
369  yet when sending a mail."\r
370  \r
371 - :require 'notmuch-fcc-initialization\r
372 - :group 'notmuch\r
373   :type '(choice\r
374          (const :tag "No FCC header" nil)\r
375          (string :tag "A single folder")\r
376          (repeat :tag "A folder based on the From header"\r
377 -                (cons regexp (string :tag "Folder")))))\r
378 +                (cons regexp (string :tag "Folder"))))\r
379 + :require 'notmuch-fcc-initialization\r
380 + :group 'notmuch-send)\r
381  \r
382  (defun notmuch-fcc-initialization ()\r
383    "If notmuch-fcc-directories is set,\r
384 diff --git a/emacs/notmuch-message.el b/emacs/notmuch-message.el\r
385 index 08e5b17..264a5b9 100644\r
386 --- a/emacs/notmuch-message.el\r
387 +++ b/emacs/notmuch-message.el\r
388 @@ -31,7 +31,7 @@ For example, if you wanted to add a \"replied\" tag and remove\r
389  the \"inbox\" and \"todo\", you would set\r
390      (\"replied\" \"-inbox\" \"-todo\"\)"\r
391    :type 'list\r
392 -  :group 'notmuch)\r
393 +  :group 'notmuch-send)\r
394  \r
395  (defun notmuch-message-mark-replied ()\r
396    ;; get the in-reply-to header and parse it for the message id.\r
397 diff --git a/emacs/notmuch-mua.el b/emacs/notmuch-mua.el\r
398 index d8ab822..023645e 100644\r
399 --- a/emacs/notmuch-mua.el\r
400 +++ b/emacs/notmuch-mua.el\r
401 @@ -28,25 +28,26 @@\r
402  \r
403  (defcustom notmuch-mua-send-hook '(notmuch-mua-message-send-hook)\r
404    "Hook run before sending messages."\r
405 -  :group 'notmuch\r
406 -  :type 'hook)\r
407 +  :type 'hook\r
408 +  :group 'notmuch-send\r
409 +  :group 'notmuch-hooks)\r
410  \r
411  (defcustom notmuch-mua-user-agent-function 'notmuch-mua-user-agent-full\r
412    "Function used to generate a `User-Agent:' string. If this is\r
413  `nil' then no `User-Agent:' will be generated."\r
414 -  :group 'notmuch\r
415    :type '(choice (const :tag "No user agent string" nil)\r
416                  (const :tag "Full" notmuch-mua-user-agent-full)\r
417                  (const :tag "Notmuch" notmuch-mua-user-agent-notmuch)\r
418                  (const :tag "Emacs" notmuch-mua-user-agent-emacs)\r
419                  (function :tag "Custom user agent function"\r
420 -                          :value notmuch-mua-user-agent-full)))\r
421 +                          :value notmuch-mua-user-agent-full))\r
422 +  :group 'notmuch-send)\r
423  \r
424  (defcustom notmuch-mua-hidden-headers '("^User-Agent:")\r
425    "Headers that are added to the `message-mode' hidden headers\r
426  list."\r
427 -  :group 'notmuch\r
428 -  :type '(repeat string))\r
429 +  :type '(repeat string)\r
430 +  :group 'notmuch-send)\r
431  \r
432  ;;\r
433  \r
434 @@ -157,16 +158,16 @@ OTHER-ARGS are passed through to `message-mail'."\r
435  \r
436  If this variable is left unset, then a list will be constructed from the\r
437  name and addresses configured in the notmuch configuration file."\r
438 -  :group 'notmuch\r
439 -  :type '(repeat string))\r
440 +  :type '(repeat string)\r
441 +  :group 'notmuch-send)\r
442  \r
443  (defcustom notmuch-always-prompt-for-sender nil\r
444    "Always prompt for the From: address when composing or forwarding a message.\r
445  \r
446  This is not taken into account when replying to a message, because in that case\r
447  the From: header is already filled in by notmuch."\r
448 -  :group 'notmuch\r
449 -  :type 'boolean)\r
450 +  :type 'boolean\r
451 +  :group 'notmuch-send)\r
452  \r
453  (defvar notmuch-mua-sender-history nil)\r
454  \r
455 diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el\r
456 index 1a250a3..57e7136 100644\r
457 --- a/emacs/notmuch-show.el\r
458 +++ b/emacs/notmuch-show.el\r
459 @@ -47,8 +47,8 @@ For an open message, all of these headers will be made visible\r
460  according to `notmuch-message-headers-visible' or can be toggled\r
461  with `notmuch-show-toggle-headers'. For a closed message, only\r
462  the first header in the list will be visible."\r
463 -  :group 'notmuch\r
464 -  :type '(repeat string))\r
465 +  :type '(repeat string)\r
466 +  :group 'notmuch-show)\r
467  \r
468  (defcustom notmuch-message-headers-visible t\r
469    "Should the headers be visible by default?\r
470 @@ -58,13 +58,13 @@ If this value is non-nil, then all of the headers defined in\r
471  of each message. Otherwise, these headers will be hidden and\r
472  `notmuch-show-toggle-headers' can be used to make the visible for\r
473  any given message."\r
474 -  :group 'notmuch\r
475 -  :type 'boolean)\r
476 +  :type 'boolean\r
477 +  :group 'notmuch-show)\r
478  \r
479  (defcustom notmuch-show-relative-dates t\r
480    "Display relative dates in the message summary line."\r
481 -  :group 'notmuch\r
482 -  :type 'boolean)\r
483 +  :type 'boolean\r
484 +  :group 'notmuch-show)\r
485  \r
486  (defvar notmuch-show-markup-headers-hook '(notmuch-show-colour-headers)\r
487    "A list of functions called to decorate the headers listed in\r
488 @@ -72,27 +72,29 @@ any given message."\r
489  \r
490  (defcustom notmuch-show-hook nil\r
491    "Functions called after populating a `notmuch-show' buffer."\r
492 -  :group 'notmuch\r
493 -  :type 'hook)\r
494 +  :type 'hook\r
495 +  :group 'notmuch-show\r
496 +  :group 'notmuch-hooks)\r
497  \r
498  (defcustom notmuch-show-insert-text/plain-hook '(notmuch-wash-wrap-long-lines\r
499                                                  notmuch-wash-tidy-citations\r
500                                                  notmuch-wash-elide-blank-lines\r
501                                                  notmuch-wash-excerpt-citations)\r
502    "Functions used to improve the display of text/plain parts."\r
503 -  :group 'notmuch\r
504    :type 'hook\r
505    :options '(notmuch-wash-convert-inline-patch-to-part\r
506              notmuch-wash-wrap-long-lines\r
507              notmuch-wash-tidy-citations\r
508              notmuch-wash-elide-blank-lines\r
509 -            notmuch-wash-excerpt-citations))\r
510 +            notmuch-wash-excerpt-citations)\r
511 +  :group 'notmuch-show\r
512 +  :group 'notmuch-hooks)\r
513  \r
514  ;; Mostly useful for debugging.\r
515  (defcustom notmuch-show-all-multipart/alternative-parts t\r
516    "Should all parts of multipart/alternative parts be shown?"\r
517 -  :group 'notmuch\r
518 -  :type 'boolean)\r
519 +  :type 'boolean\r
520 +  :group 'notmuch-show)\r
521  \r
522  (defcustom notmuch-show-indent-messages-width 1\r
523    "Width of message indentation in threads.\r
524 @@ -101,14 +103,14 @@ Messages are shown indented according to their depth in a thread.\r
525  This variable determines the width of this indentation measured\r
526  in number of blanks.  Defaults to `1', choose `0' to disable\r
527  indentation."\r
528 -  :group 'notmuch\r
529 -  :type 'integer)\r
530 +  :type 'integer\r
531 +  :group 'notmuch-show)\r
532  \r
533  (defcustom notmuch-show-indent-multipart nil\r
534    "Should the sub-parts of a multipart/* part be indented?"\r
535    ;; dme: Not sure which is a good default.\r
536 -  :group 'notmuch\r
537 -  :type 'boolean)\r
538 +  :type 'boolean\r
539 +  :group 'notmuch-show)\r
540  \r
541  (defmacro with-current-notmuch-show-message (&rest body)\r
542    "Evaluate body with current buffer set to the text of current message"\r
543 diff --git a/emacs/notmuch.el b/emacs/notmuch.el\r
544 index ef4dcc7..3602361 100644\r
545 --- a/emacs/notmuch.el\r
546 +++ b/emacs/notmuch.el\r
547 @@ -70,7 +70,7 @@ For example:\r
548         (setq notmuch-search-result-format \(\(\"authors\" . \"%-40s\"\)\r
549                                              \(\"subject\" . \"%s\"\)\)\)"\r
550    :type '(alist :key-type (string) :value-type (string))\r
551 -  :group 'notmuch)\r
552 +  :group 'notmuch-search)\r
553  \r
554  (defvar notmuch-query-history nil\r
555    "Variable to store minibuffer history for notmuch queries")\r
556 @@ -199,7 +199,8 @@ For a mouse binding, return nil."\r
557    "List of functions to call when notmuch displays the search results."\r
558    :type 'hook\r
559    :options '(hl-line-mode)\r
560 -  :group 'notmuch)\r
561 +  :group 'notmuch-search\r
562 +  :group 'notmuch-hooks)\r
563  \r
564  (defvar notmuch-search-mode-map\r
565    (let ((map (make-sparse-keymap)))\r
566 @@ -307,27 +308,32 @@ For a mouse binding, return nil."\r
567   '((((class color) (background light)) (:background "#f0f0f0"))\r
568     (((class color) (background dark)) (:background "#303030")))\r
569   "Face for the single-line message summary in notmuch-show-mode."\r
570 - :group 'notmuch)\r
571 + :group 'notmuch-show\r
572 + :group 'notmuch-faces)\r
573  \r
574  (defface notmuch-search-date\r
575    '((t :inherit default))\r
576    "Face used in search mode for dates."\r
577 -  :group 'notmuch)\r
578 +  :group 'notmuch-search\r
579 +  :group 'notmuch-faces)\r
580  \r
581  (defface notmuch-search-count\r
582    '((t :inherit default))\r
583    "Face used in search mode for the count matching the query."\r
584 -  :group 'notmuch)\r
585 +  :group 'notmuch-search\r
586 +  :group 'notmuch-faces)\r
587  \r
588  (defface notmuch-search-subject\r
589    '((t :inherit default))\r
590    "Face used in search mode for subjects."\r
591 -  :group 'notmuch)\r
592 +  :group 'notmuch-search\r
593 +  :group 'notmuch-faces)\r
594  \r
595  (defface notmuch-search-matching-authors\r
596    '((t :inherit default))\r
597    "Face used in search mode for authors matching the query."\r
598 -  :group 'notmuch)\r
599 +  :group 'notmuch-search\r
600 +  :group 'notmuch-faces)\r
601  \r
602  (defface notmuch-search-non-matching-authors\r
603    '((((class color)\r
604 @@ -339,7 +345,8 @@ For a mouse binding, return nil."\r
605      (t\r
606       (:italic t)))\r
607    "Face used in search mode for authors not matching the query."\r
608 -  :group 'notmuch)\r
609 +  :group 'notmuch-search\r
610 +  :group 'notmuch-faces)\r
611  \r
612  (defface notmuch-tag-face\r
613    '((((class color)\r
614 @@ -351,7 +358,8 @@ For a mouse binding, return nil."\r
615      (t\r
616       (:bold t)))\r
617    "Face used in search mode face for tags."\r
618 -  :group 'notmuch)\r
619 +  :group 'notmuch-search\r
620 +  :group 'notmuch-faces)\r
621  \r
622  (defun notmuch-search-mode ()\r
623    "Major mode displaying results of a notmuch search.\r
624 @@ -502,7 +510,7 @@ the messages that are about to be tagged"\r
625  \r
626    :type 'hook\r
627    :options '(hl-line-mode)\r
628 -  :group 'notmuch)\r
629 +  :group 'notmuch-hooks)\r
630  \r
631  (defcustom notmuch-after-tag-hook nil\r
632    "Hooks that are run after tags of a message are modified.\r
633 @@ -513,7 +521,7 @@ a list of strings of the form \"+TAG\" or \"-TAG\".\r
634  the messages that were tagged"\r
635    :type 'hook\r
636    :options '(hl-line-mode)\r
637 -  :group 'notmuch)\r
638 +  :group 'notmuch-hooks)\r
639  \r
640  (defun notmuch-search-set-tags (tags)\r
641    (save-excursion\r
642 @@ -669,7 +677,8 @@ attributes overriding earlier. A message having both \"delete\"\r
643  and \"unread\" tags with the above settings would have a green\r
644  foreground and blue background."\r
645    :type '(alist :key-type (string) :value-type (custom-face-edit))\r
646 -  :group 'notmuch)\r
647 +  :group 'notmuch-search\r
648 +  :group 'notmuch-faces)\r
649  \r
650  (defun notmuch-search-color-line (start end line-tag-list)\r
651    "Colorize lines in `notmuch-show' based on tags."\r
652 @@ -1004,7 +1013,7 @@ Note that the recommended way of achieving the same is using\r
653    :type '(choice (const :tag "notmuch new" nil)\r
654                  (const :tag "Disabled" "")\r
655                  (string :tag "Custom script"))\r
656 -  :group 'notmuch)\r
657 +  :group 'notmuch-external)\r
658  \r
659  (defun notmuch-poll ()\r
660    "Run \"notmuch new\" or an external script to import mail.\r
661 -- \r
662 1.7.8.1\r
663 \r