I don't think punctuation before -M should be tolerated at all; this can be as simple as `(m_pos == buf || isspace(m_pos[-1]))` I think.