\ 'o': ':call <SID>NM_search_toggle_order()<CR>',
\ 'r': ':call <SID>NM_search_reply_to_thread()<CR>',
\ 's': ':call <SID>NM_search_prompt()<CR>',
- \ 'S': ':call <SID>NM_search_edit()<CR>',
+ \ ',s': ':call <SID>NM_search_edit()<CR>',
\ 't': ':call <SID>NM_search_filter_by_tag()<CR>',
\ 'q': ':call <SID>NM_kill_this_buffer()<CR>',
\ '+': ':call <SID>NM_search_add_tags([])<CR>',
else
let tags = s:notmuch_initial_search_words_defaults
endif
+ let prev_bufnr = bufnr('%')
if b:nm_type == 'search'
" TODO: we intend to replace the current buffer,
" ... maybe we could just clear it
let prev_bufnr = b:nm_prev_bufnr
setlocal bufhidden=delete
else
- let prev_bufnr = bufnr('%')
setlocal bufhidden=hide
endif
call <SID>NM_cmd_search(tags)
let tags = split(text)
map(tags, 'and a:prefix . v:val')
let tags = b:nm_search_words + tags
- echo tags
let prev_bufnr = bufnr('%')
setlocal bufhidden=hide
let info = b:nm_raw_info
let lnum = line('.')
for msg in info['msgs']
- if lnum < msg['start']
+ if lnum >= msg['start']
continue
endif
setlocal bufhidden=delete
exec printf(":buffer %d", b:nm_prev_bufnr)
else
- echo "Nothing to kill."
+ echo "This is the last buffer; use :q<CR> to quit."
endif
endfunction