- if match(line, '^Notmuch-Help:') != -1
- " skip it
- elseif strlen(lst_hdr) && match(line, '^\s') != -1
- let hdrs[lst_hdr][-1] = hdrs[lst_hdr][-1] . substitute(line, '^\s*', ' ', '')
- else
- let m = matchlist(line, '^\(\w[^:]*\):\s*\(.*\)\s*$')
- if !len(m)
- cursor(lnum, 0)
- throw printf('Eeek! invalid header on line %d', lnum)
- endif
- let key = substitute(m[1], '\<\w', '\U&', 'g')
- if strlen(m[2])
- if !has_key(hdrs, key)
- let hdrs[key] = []
- endif
- call add(hdrs[key], m[2])
- endif
- let lst_hdr = key
+ if match(line, '^Notmuch-Help:') == -1
+ let hdr_starts = lnum - 1
+ break