unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* [PATCH 0/4] emacs: show: lazy handling of hidden parts
@ 2013-05-04 13:01 Mark Walters
  2013-05-04 13:01 ` [PATCH 1/4] emacs:show: separate out handling of application/octet-stream Mark Walters
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Mark Walters @ 2013-05-04 13:01 UTC (permalink / raw)
  To: notmuch

This is a much better version of the WIP patch at
id:1367628568-11656-1-git-send-email-markwalters1009@gmail.com

There was some discussion on irc about the new invisibility handling
making large threads of messages with html parts slow to appear. This
is caused by the new code rendering all of these parts and then hiding
them. (I think this is exacerbated by the text/html having to fetch
the part as a separate request: it is not in the notmuch show output).

This code makes the rendering of all hidden parts lazy (ie it occurs
when the part is shown). This should make the common case of hidden
parts which are never viewed much faster.

The code is relatively simple: we store all the arguments to the part
insertion handler on the part button and then give them to the part
handler when needed. This is not very memory efficient (we already
store the whole message so we could extract it all again) but I think
it is unlikely to be a problem in practice.

The patch series looks very large but almost everything of interest
happens in the final patch: the rest is code rearrangement. In
particular patch 3/4 is entirely code rearrangement (and since it
changes some indentation looks like it changes much more than it
actually does).

Testing is always helpful but there are two particular things that
would be very useful: first, if anyone who has found it slow can see
if this fixes it and secondly if anyone with encryption setup could
test that the encryption buttons all work and look correct (I don't
have encryption set up).

In my small amount of testing it seems to work and all tests pass.

Best wishes

Mark


Mark Walters (4):
  emacs:show: separate out handling of application/octet-stream
  emacs: show: handle inline patch fake parts at top level
  emacs: show: move the insertion of the header button to the top level
  emacs: show: implement lazy hidden part handling

 emacs/notmuch-show.el |  136 ++++++++++++++++++++++++++++++-------------------
 emacs/notmuch-wash.el |    2 +-
 2 files changed, 84 insertions(+), 54 deletions(-)

-- 
1.7.9.1


*** BLURB HERE ***

Mark Walters (4):
  emacs:show: separate out handling of application/octet-stream
  emacs: show: handle inline patch fake parts at top level
  emacs: show: move the insertion of the header button to the top level
  emacs: show: implement lazy hidden part handling

 emacs/notmuch-show.el |  136 ++++++++++++++++++++++++++++++-------------------
 emacs/notmuch-wash.el |    2 +-
 2 files changed, 84 insertions(+), 54 deletions(-)

-- 
1.7.9.1

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-05-20 18:43 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-04 13:01 [PATCH 0/4] emacs: show: lazy handling of hidden parts Mark Walters
2013-05-04 13:01 ` [PATCH 1/4] emacs:show: separate out handling of application/octet-stream Mark Walters
2013-05-04 13:01 ` [PATCH 2/4] emacs: show: handle inline patch fake parts at top level Mark Walters
2013-05-20 18:43   ` David Bremner
2013-05-04 13:01 ` [PATCH 3/4] emacs: show: move the insertion of the header button to the " Mark Walters
2013-05-04 13:01 ` [PATCH 4/4] emacs: show: implement lazy hidden part handling Mark Walters

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).