[PATCH] Emacs: Add variable to toggle message indentation in a thread

Felix Geller fgeller at gmail.com
Sat Jul 16 06:25:02 PDT 2011


On Wed, 13 Jul 2011 01:46:24 +0200, Felix Geller <fgeller at gmail.com> wrote:

> I attached two commits. One that includes the changes (which have most
> comments incorporated, only that I stick to when rather than if) and one
> that includes a test. I still can't run the tests myself, I attached an
> excerpt of what errors come up for the emacs subset, so I haven't tested
> the test itself :( However, it is a simple copy of an existing one, but
> I use a let to change the value of the new variable and adapted one of
> the existing expected outputs to lack indentation. I'd be grateful if
> someone could test it...

Got the test suite to run on my machine and I fixed a editing typo of
the expected output. After that the test runs fine on my machine. The
patch that has the actual changes needs no changing. Let me know if
something's wrong/missing.


Cheers,
Felix

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Test-for-toggling-message-indentation.patch
Type: text/x-patch
Size: 8991 bytes
Desc: not available
URL: <http://notmuchmail.org/pipermail/notmuch/attachments/20110716/4fd2c2e3/attachment-0001.bin>
-------------- next part --------------



>
> 
> Didn't know about format-patch, thanks :) 
> 
> 
> Cheers,
> Felix
> 
> 
> >
> > 
> > > +(defcustom notmuch-show-indent-messages-in-thread nil
> > > +  "Should the messages in a thread be indented according to their respective depth in the thread?"
> > > +  :group 'notmuch
> > > +  :type 'boolean)
> > 
> > I agres with Dmitry that this should default to 't', to be consistent
> > with the current default behavior.
> > 
> > > -    (insert (notmuch-show-spaces-n depth)
> > > +    (insert (if notmuch-show-indent-messages-in-thread
> > > +		(notmuch-show-spaces-n depth)
> > > +	      "")
> > 
> > I also agree with Dmitry's suggestion here to use the following slightly
> > simpler construct:
> > 
> >  (if notmuch-show-indent-messages-in-thread
> >      (insert (notmuch-show-spaces-n depth)))
> > 
> > Finally, as Dmitry also points out, you'll almost certainly need to
> > construct a test for this feature, since it constitutes a pretty big
> > formatting change.  It should probably test for both cases of the
> > customization variable.  Check out the tests in tests/emacs for
> > guidance.
> > 
> > hth.
> > 
> > jamie.
> Non-text part: application/pgp-signature
> 
> From 94570ada2eae1ff1a1feebbda5dff04d223da6b4 Mon Sep 17 00:00:00 2001
> From: Felix Geller <fgeller at gmail.com>
> Date: Wed, 13 Jul 2011 01:30:51 +0200
> Subject: [PATCH 1/2] Added variable to toggle message indendation in Emacs'
>  notmuch-show
> 
> ---
>  emacs/notmuch-show.el |   13 ++++++++++---
>  1 files changed, 10 insertions(+), 3 deletions(-)
> 
> diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
> index f96743b..48df4c5 100644
> --- a/emacs/notmuch-show.el
> +++ b/emacs/notmuch-show.el
> @@ -90,6 +90,11 @@ any given message."
>    :group 'notmuch
>    :type 'boolean)
>  
> +(defcustom notmuch-show-indent-messages-in-thread t
> +  "Should messages be indented according to their depth in a thread?"
> +  :group 'notmuch
> +  :type 'boolean)
> +
>  (defcustom notmuch-show-indent-multipart nil
>    "Should the sub-parts of a multipart/* part be indented?"
>    ;; dme: Not sure which is a good default.
> @@ -237,8 +242,9 @@ unchanged ADDRESS if parsing fails."
>    "Insert a notmuch style headerline based on HEADERS for a
>  message at DEPTH in the current thread."
>    (let ((start (point)))
> -    (insert (notmuch-show-spaces-n depth)
> -	    (notmuch-show-clean-address (plist-get headers :From))
> +    (when notmuch-show-indent-messages-in-thread
> +      (insert (notmuch-show-spaces-n depth)))
> +    (insert (notmuch-show-clean-address (plist-get headers :From))
>  	    " ("
>  	    date
>  	    ") ("
> @@ -733,7 +739,8 @@ current buffer, if possible."
>      (setq content-end (point-marker))
>  
>      ;; Indent according to the depth in the thread.
> -    (indent-rigidly content-start content-end depth)
> +    (when notmuch-show-indent-messages-in-thread
> +      (indent-rigidly content-start content-end depth))
>  
>      (setq message-end (point-max-marker))
>  
> -- 
> 1.7.6
> 
> From 016ee41930eed6b53e10c35c62c40fa6bb35b79e Mon Sep 17 00:00:00 2001
> From: Felix Geller <fgeller at gmail.com>
> Date: Wed, 13 Jul 2011 01:32:14 +0200
> Subject: [PATCH 2/2] Test for toggling message indentation
> 
> ---
>  test/emacs                                         |    7 +
>  ...show-thread-maildir-storage-without-indentation |  215 ++++++++++++++++++++
>  2 files changed, 222 insertions(+), 0 deletions(-)
>  create mode 100644 test/emacs.expected-output/notmuch-show-thread-maildir-storage-without-indentation
> 
> diff --git a/test/emacs b/test/emacs
> index 53f455a..c65d6d8 100755
> --- a/test/emacs
> +++ b/test/emacs
> @@ -55,6 +55,13 @@ test_emacs "(notmuch-show \"$maildir_storage_thread\")
>  	    (test-output)"
>  test_expect_equal_file OUTPUT $EXPECTED/notmuch-show-thread-maildir-storage
>  
> +test_begin_subtest "Basic notmuch-show view in emacs without indentation"
> +maildir_storage_thread=$(notmuch search --output=threads id:20091117190054.GU3165 at dottiness.seas.harvard.edu)
> +test_emacs "(let ((notmuch-show-indent-messages-in-thread nil))
> +	      (notmuch-show \"$maildir_storage_thread\")
> +	      (test-output))"
> +test_expect_equal_file OUTPUT $EXPECTED/notmuch-show-thread-maildir-storage-without-indentation
> +
>  test_begin_subtest "notmuch-show for message with invalid From"
>  add_message "[subject]=\"message-with-invalid-from\"" \
>  	    "[from]=\"\\\"Invalid \\\" From\\\" <test_suite at notmuchmail.org>\""
> diff --git a/test/emacs.expected-output/notmuch-show-thread-maildir-storage-without-indentation b/test/emacs.expected-output/notmuch-show-thread-maildir-storage-without-indentation
> new file mode 100644
> index 0000000..cdc8fbd
> --- /dev/null
> +++ b/test/emacs.expected-output/notmuch-show-thread-maildir-storage-without-indentation
> @@ -0,0 +1,215 @@
> +Lars Kellogg-Stedman <lars at seas.harvard.edu> (2009-11-17) (inbox signed)
> +Subject: [notmuch] Working with Maildir storage?
> +To: notmuch at notmuchmail.org
> +Date: Tue, 17 Nov 2009 14:00:54 -0500
> +
> +[ multipart/mixed ]
> +[ multipart/signed ]
> +[ text/plain ]
> +I saw the LWN article and decided to take a look at notmuch.  I'm
> +currently using mutt and mairix to index and read a collection of
> +Maildir mail folders (around 40,000 messages total).
> +
> +notmuch indexed the messages without complaint, but my attempt at
> +searching bombed out. Running, for example:
> +
> +  notmuch search storage
> +
> +Resulted in 4604 lines of errors along the lines of:
> +
> +  Error opening
> +  /home/lars/Mail/read-messages.2008/cur/1246413773.24928_27334.hostname,U=3026:2,S:
> +  Too many open files
> +
> +I'm curious if this is expected behavior (i.e., notmuch does not work
> +with Maildir) or if something else is going on.
> +
> +Cheers,
> +
> +[ 5-line signature. Click/Enter to show. ]
> +-- 
> +Lars Kellogg-Stedman <lars at seas.harvard.edu>
> +Senior Technologist, Computing and Information Technology
> +Harvard University School of Engineering and Applied Sciences
> +
> +[ application/pgp-signature ]
> +[ text/plain ]
> +[ 4-line signature. Click/Enter to show. ]
> +_______________________________________________
> +notmuch mailing list
> +notmuch at notmuchmail.org
> +http://notmuchmail.org/mailman/listinfo/notmuch
> +Mikhail Gusarov <dottedmag at dottedmag.net> (2009-11-17) (inbox signed unread)
> +Subject: Re: [notmuch] Working with Maildir storage?
> +To: notmuch at notmuchmail.org
> +Date: Wed, 18 Nov 2009 01:02:38 +0600
> +
> +[ multipart/mixed ]
> +[ multipart/signed ]
> +[ text/plain ]
> +
> +Twas brillig at 14:00:54 17.11.2009 UTC-05 when lars at seas.harvard.edu did gyre and gimble:
> +
> + LK> Resulted in 4604 lines of errors along the lines of:
> +
> + LK>   Error opening
> + LK>   /home/lars/Mail/read-messages.2008/cur/1246413773.24928_27334.hostname,U=3026:2,S:
> + LK>   Too many open files
> +
> +See the patch just posted here.
> +
> +[ 2-line signature. Click/Enter to show. ]
> +-- 
> +http://fossarchy.blogspot.com/
> +[ application/pgp-signature ]
> +[ text/plain ]
> +[ 4-line signature. Click/Enter to show. ]
> +_______________________________________________
> +notmuch mailing list
> +notmuch at notmuchmail.org
> +http://notmuchmail.org/mailman/listinfo/notmuch
> +Lars Kellogg-Stedman <lars at seas.harvard.edu> (2009-11-17) (inbox signed unread)
> +Subject: Re: [notmuch] Working with Maildir storage?
> +To: Mikhail Gusarov <dottedmag at dottedmag.net>
> +Cc: notmuch at notmuchmail.org
> +Date: Tue, 17 Nov 2009 15:33:01 -0500
> +
> +[ multipart/mixed ]
> +[ multipart/signed ]
> +[ text/plain ]
> +> See the patch just posted here.
> +
> +Is the list archived anywhere?  The obvious archives
> +(http://notmuchmail.org/pipermail/notmuch/) aren't available, and I
> +think I subscribed too late to get the patch (I only just saw the
> +discussion about it).
> +
> +It doesn't look like the patch is in git yet.
> +
> +-- Lars
> +
> +[ 5-line signature. Click/Enter to show. ]
> +-- 
> +Lars Kellogg-Stedman <lars at seas.harvard.edu>
> +Senior Technologist, Computing and Information Technology
> +Harvard University School of Engineering and Applied Sciences
> +
> +[ application/pgp-signature ]
> +[ text/plain ]
> +[ 4-line signature. Click/Enter to show. ]
> +_______________________________________________
> +notmuch mailing list
> +notmuch at notmuchmail.org
> +http://notmuchmail.org/mailman/listinfo/notmuch
> +ikhail Gusarov <dottedmag at dottedmag.net> (2009-11-17) (inbox unread)
> +ubject: [notmuch] Working with Maildir storage?
> +o: notmuch at notmuchmail.org
> +ate: Wed, 18 Nov 2009 02:50:48 +0600
> +
> +
> +was brillig at 15:33:01 17.11.2009 UTC-05 when lars at seas.harvard.edu did gyre and gimble:
> +
> +LK> Is the list archived anywhere?  The obvious archives
> +LK> (http://notmuchmail.org/pipermail/notmuch/) aren't available, and I
> +LK> think I subscribed too late to get the patch (I only just saw the
> +LK> discussion about it).
> +
> +LK> It doesn't look like the patch is in git yet.
> +
> +ust has been pushed
> +
> + 10-line signature. Click/Enter to show. ]
> +- 
> +ttp://fossarchy.blogspot.com/
> +------------- next part --------------
> + non-text attachment was scrubbed...
> +ame: not available
> +ype: application/pgp-signature
> +ize: 834 bytes
> +esc: not available
> +RL: <http://notmuchmail.org/pipermail/notmuch/attachments/20091118/0e33d964/attachment.pgp>
> +
> +eith Packard <keithp at keithp.com> (2009-11-17) (inbox unread)
> +ubject: [notmuch] Working with Maildir storage?
> +o: notmuch at notmuchmail.org
> +ate: Tue, 17 Nov 2009 13:24:13 -0800
> +
> +n Tue, 17 Nov 2009 15:33:01 -0500, Lars Kellogg-Stedman <lars at seas.harvard.edu> wrote:
> + > See the patch just posted here.
> +
> +'ve also pushed a slightly more complicated (and complete) fix to my
> +rivate notmuch repository
> +
> +it://keithp.com/git/notmuch
> +
> + Is the list archived anywhere?
> +
> +ops. Looks like Carl's mail server is broken. He's traveling to
> +arcelona today and so it won't get fixed for a while.
> +
> +hanks to everyone for trying out notmuch!
> +
> +keith
> +
> +Lars Kellogg-Stedman <lars at seas.harvard.edu> (2009-11-18) (inbox signed unread)
> +Subject: Re: [notmuch] Working with Maildir storage?
> +To: Keith Packard <keithp at keithp.com>
> +Cc: notmuch at notmuchmail.org
> +Date: Tue, 17 Nov 2009 19:50:40 -0500
> +
> +[ multipart/mixed ]
> +[ multipart/signed ]
> +[ text/plain ]
> +> I've also pushed a slightly more complicated (and complete) fix to my
> +> private notmuch repository
> +
> +The version of lib/messages.cc in your repo doesn't build because it's
> +missing "#include <stdint.h>" (for the uint32_t on line 466).
> +
> +[ 5-line signature. Click/Enter to show. ]
> +-- 
> +Lars Kellogg-Stedman <lars at seas.harvard.edu>
> +Senior Technologist, Computing and Information Technology
> +Harvard University School of Engineering and Applied Sciences
> +
> +[ application/pgp-signature ]
> +[ text/plain ]
> +[ 4-line signature. Click/Enter to show. ]
> +_______________________________________________
> +notmuch mailing list
> +notmuch at notmuchmail.org
> +http://notmuchmail.org/mailman/listinfo/notmuch
> +Carl Worth <cworth at cworth.org> (2009-11-18) (inbox unread)
> +Subject: [notmuch] Working with Maildir storage?
> +To: notmuch at notmuchmail.org
> +Date: Wed, 18 Nov 2009 02:08:10 -0800
> +
> +On Tue, 17 Nov 2009 14:00:54 -0500, Lars Kellogg-Stedman <lars at seas.harvard.edu> wrote:
> +> I saw the LWN article and decided to take a look at notmuch.  I'm
> +> currently using mutt and mairix to index and read a collection of
> +> Maildir mail folders (around 40,000 messages total).
> +
> +Welcome, Lars!
> +
> +I hadn't even seen that Keith's blog post had been picked up by lwn.net.
> +That's very interesting. So, thanks for coming and trying out notmuch.
> +
> +>   Error opening
> +>   /home/lars/Mail/read-messages.2008/cur/1246413773.24928_27334.hostname,U=3026:2,S:
> +>   Too many open files
> +
> +Sadly, the lwn article coincided with me having just introduced this
> +bug, and then getting on a Trans-Atlantic flight. So I fixed the bug
> +fairly quickly, but there was quite a bit of latency before I could push
> +the fix out. It should be fixed now.
> +
> +> I'm curious if this is expected behavior (i.e., notmuch does not work
> +> with Maildir) or if something else is going on.
> +
> +Notmuch works just fine with maildir---it's one of the things that it
> +likes the best.
> +
> +Happy hacking,
> +
> +-Carl
> +
> -- 
> 1.7.6
> 
Non-text part: application/pgp-signature
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 202 bytes
Desc: not available
URL: <http://notmuchmail.org/pipermail/notmuch/attachments/20110716/4fd2c2e3/attachment-0001.pgp>


More information about the notmuch mailing list