]> git.notmuchmail.org Git - notmuch/blobdiff - vim/notmuch.vim
vim: trivial cleanup
[notmuch] / vim / notmuch.vim
index aa1b7ef6677b7543728b180a08f3e635f190e77e..9a45300f2683e210cbd21bf0446585819d74492d 100644 (file)
@@ -208,6 +208,9 @@ endfunction
 
 function! s:search_search_prompt()
        let text = input('Search: ')
+       if text == ""
+         return
+       endif
        setlocal modifiable
 ruby << EOF
        $cur_search = VIM::evaluate('text')
@@ -421,13 +424,14 @@ ruby << EOF
        require 'notmuch'
        require 'rubygems'
        require 'tempfile'
+       require 'socket'
        begin
                require 'mail'
        rescue LoadError
        end
 
        $db_name = nil
-       $email_address = nil
+       $email = $email_name = $email_address = nil
        $searches = []
        $buf_queue = []
        $threads = []
@@ -452,7 +456,9 @@ ruby << EOF
                end
 
                $db_name = $config['database.path']
-               $email_address = "%s <%s>" % [$config['user.name'], $config['user.primary_email']]
+               $email_name = $config['user.name']
+               $email_address = $config['user.primary_email']
+               $email = "%s <%s>" % [$email_name, $email_address]
        end
 
        def vim_puts(s)
@@ -490,6 +496,14 @@ ruby << EOF
                end
        end
 
+       def generate_message_id
+               t = Time.now
+               random_tag = sprintf('%x%x_%x%x%x',
+                       t.to_i, t.tv_usec,
+                       $$, Thread.current.object_id.abs, rand(255))
+               return "<#{random_tag}@#{Socket.gethostname}.notmuch>"
+       end
+
        def open_reply(orig)
                help_lines = [
                        'Notmuch-Help: Type in your message here; to help you use these bindings:',
@@ -502,7 +516,8 @@ ruby << EOF
                                m.to = [orig[:from].to_s, orig[:to].to_s]
                        end
                        m.cc = orig[:cc]
-                       m.from = $email_address
+                       m.from = $email
+                       m.message_id = generate_message_id
                        m.charset = 'utf-8'
                        m.content_transfer_encoding = '7bit'
                end
@@ -551,7 +566,7 @@ ruby << EOF
 
                        f.flush
 
-                       VIM::command("let s:reply_from='%s'" % reply.from.first.to_s)
+                       VIM::command("let s:reply_from='%s'" % $email_address)
                        VIM::command("call s:new_file_buffer('compose', '#{f.path}')")
                        VIM::command("call cursor(#{old_count}, 0)")
                end