if (c != left) {
putback();
return make_pair(false, string());
- } else
+ } else {
+ // a single '\' is only allowed within \verb, no matter what the delimiter is,
+ // for example "\verb+\+" (reported as bug #4468)
+ // To support this, we allow single '\' if it is the only character
+ // within equal delimiters
+ if (next_token().cat() == catEscape)
+ if (next_token().character() == right && right == left)
+ result += '\\';
while ((c = getChar()) != right && good()) {
// Ignore comments
if (curr_token().cat() == catComment) {
else
result += curr_token().asInput();
}
-
+ }
return make_pair(true, result);
}
{
if (!good())
return string();
- // ceck if first token is really the start character
+ // check if first token is really the start character
Token tok = get_token();
if (tok.character() != left) {
cerr << "first character does not match start character of command \\" << name << endl;