Preprocessor: String termination bug

Length one sub-strings do not appear to be properly terminated, which produces strange results when they are concatenated.

Create a file with the following three lines:

@#define Numbers = "123456789" @#define AString = "One " + Numbers[1] + " Two " + Numbers[2] + " Three " + Numbers[3] @#echo AString

(or just clone StringTermination.mod from https://github.com/tholden/DynareBugs/tree/master).

On my PC, its output is different every time. E.g.:

One 16 Two 26 Three 36

Or:

One 1w Two 2w Three 3w