a14aa908c5
See http://en.cppreference.com/w/cpp/language/string_literal Closes #877. --- This contains a pretty ugly hack to fetch the previous character, in order not to get fooled by string concatenation hidden behind a macro, like in `FOUR"five"`, which is not a raw string literal but simply the identifier `FOUR` followed by the string `"five"`. While this may sound uncommon, it is not and lead to complaints [2][3] when Scintilla [1] broke this when they introduced C++11 raw string literal support themselves. The implementation here still contains a bug with line continuations: a raw literal of the form: ```c const char *str = R\ "xxx(...)xxx"; ``` is not properly recognized as such, although it's perfectly valid (yet probably very uncommon). For the record, Scintilla has also suffers from this but nobody complained about it yet. [1] http://scintilla.org/ [2] https://sourceforge.net/p/scintilla/bugs/1207/ [3] https://sourceforge.net/p/scintilla/bugs/1454/