Strings starting with "-" fail to compile if not enclosed in quotes
AddTopic doesn't work with dialogue topics starting with "-".
https://forum.openmw.org/viewtopic.php?f=40&t=4125&start=30
The mod mentioned there uses topics like @-spellcasting@, which aren't added in OpenMW because it only starts parsing for a string if it finds an alphabetical character, an underscore or quotation marks. @"-spellcasting"@ works in OpenMW, but the quotes aren't needed in the original engine.
In scanner.cpp, line 123 we have
@else if (std::isalpha (c) || c=='_' || c=='"')@
as the check for whether to parse a string, and this fails for @-spellcasting@. But if '-' were added here, then commands using it as a minus sign would no longer work.
Probably all kinds of other characters are also accepted in string names, but for some reason TES Construction Set is crashing for me and I'm unable to test.
(RM-3846 from redmine: created on 2017-04-28 by R. D., )