From e13bdc2c0e10dfa2786f65ee185e8a6563feb2db Mon Sep 17 00:00:00 2001
From: Bart Trojanowski <bart@jukie.net>
Date: Fri, 27 Nov 2009 14:05:13 -0500
Subject: [PATCH] vim: don't remove headers until after parsing them

---
 vim/plugin/notmuch.vim | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/vim/plugin/notmuch.vim b/vim/plugin/notmuch.vim
index a4d04e26..f32a134f 100644
--- a/vim/plugin/notmuch.vim
+++ b/vim/plugin/notmuch.vim
@@ -939,8 +939,6 @@ function! s:NM_compose_send()
                 let line = getline(lnum)
         endwhile
         let body_starts = lnum
-        exec printf('0,%dd', body_starts)
-        write
 
         "[-a header] [-b bcc-addr] [-c cc-addr] [-s subject] to-addr
         let cmd = ['mail']
@@ -972,6 +970,12 @@ function! s:NM_compose_send()
         endfor
         call extend(cmd, tos)
 
+        " TODO: make sure we have at least one target
+        " TODO: ask about empty jubject, etc
+
+        exec printf('0,%dd', body_starts)
+        write
+
         call map(cmd, 's:NM_shell_escape(v:val)')
         let cmdtxt = join(cmd) . '< ' . fname
         let out = system(cmdtxt)
-- 
2.45.2