split matchadd() loop into separate function
drop no-op substitution (submatch(0) is needed! doh)