On Thu, 01 Apr 2010, nstraz@redhat.com wrote: > I ran into this while looking at the vim plugin. Vim's system() call > redirects output to a file and it was missing many of the part{ lines. > > If stream_stdout is setup too early, it will overwrite the part start > when notmuch is redirected to a file. Hi, thanks for the patch. After some investigation, it seems that you are right. What I missed in your commit message is the reason for such behaviour i.e. GMimeStream fseek()s in its write method to the position recorded when the stream was created, so that in case there is somebody else writing to the stream, the writes may overlap. -Michal