stricter: specifically, "--" must be preceded by a limited set of
characters, not by any non-whitespace character.
# (after stripping out empty strings).
wordsep_re = re.compile(r'(\s+|' # any whitespace
r'-*\w{2,}-(?=\w{2,})|' # hyphenated words
- r'(?<=\S)-{2,}(?=\w))') # em-dash
+ r'(?<=[\w\!\"\'\&\.\,\?])-{2,}(?=\w))') # em-dash
# XXX will there be a locale-or-charset-aware version of
# string.lowercase in 2.3?