
2008/7/1 John Maddock <john@johnmaddock.co.uk>:
Daniel James wrote:
If you can get your text editor to help you, this is a lot easier to fix. If it doesn't have explicit support or a plugin, you could just try opening it with the wrong encoding and seeing what looks weird. I suppose running Visual C++ with full warnings would also help.
Nope no level 4 warnings from VC++.
Well, whatever the issue is with Visual C++. But it's not just Visual C++ that has problems. For example, our doxygen setup chokes on any non UTF-8 characters.
I found some more by searching for [^a-zA-Z0-9_{}\[\]#()<>%\:;.?*+-/^&|~!\\"'= ] but they were within string literals that were regular expressions: for example use of the "$" sign in a regex seems to trigger the new checking code? If so there's no way to "fix" that :-(
$ is allowed, you've missed some of the characters: static const string gPunct ( "$_{}[]#()<>%:;.?*+-/^&|~!=,\\\"'@^`" ); If there are any other characters that are reasonable in strings, they should be added, or a separate check for strings implemented. But, sadly, currency symbols (apart from the dollar, obviously) and accented characters really do cause problems. Daniel