This was reported on the mailing list and I agree it is confusing:
'darcs replace --help' says:
"However if the old and/or new token contains either a hyphen or period,
BOTH hyphen and period are treated as valid (i.e. `[A-Za-z0-9_.-]`)."
However, these two differ:
$ darcs replace bar M.bar text
$ darcs replace --token-chars="[A-Za-z0-9_.-]" foo M.foo text
$ darcs whatsnew
replace ./text [A-Za-z_0-9\-\.] bar M.bar
replace ./text [A-Za-z0-9_.-] foo M.foo
I guess these are only two different representations of the same
character set. I was confused, though.