}
// These should be treated differently when not in text mode:
- if (currentMode() != InsetMath::TEXT_MODE) {
+ if (cur.inRegexped()) {
+ switch (c) {
+ case '\\':
+ cur.niceInsert(createInsetMath("backslash", buf));
+ break;
+ case '^':
+ cur.niceInsert(createInsetMath("mathcircumflex", buf));
+ break;
+ case '{':
+ case '}':
+ case '#':
+ case '%':
+ case '_':
+ cur.niceInsert(createInsetMath(docstring(1, c), buf));
+ break;
+ case '~':
+ cur.niceInsert(createInsetMath("sim", buf));
+ break;
+ default:
+ cur.insert(c);
+ }
+ return true;
+ } else if (currentMode() != InsetMath::TEXT_MODE) {
if (c == '_') {
script(cur, false, save_selection);
return true;