diff options
Diffstat (limited to 'src/lexscanner.l')
-rw-r--r-- | src/lexscanner.l | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/lexscanner.l b/src/lexscanner.l index 2b6b3a0..44219f3 100644 --- a/src/lexscanner.l +++ b/src/lexscanner.l @@ -709,10 +709,18 @@ NONLopt [^\n]* <DocBlock>{CMD}("f$"|"f["|"f{"|"f(") { yyextra->cCodeBuffer += yytext; yyextra->docBlockName=&yytext[1]; + if (yyextra->docBlockName.at(1)=='[') + { + yyextra->docBlockName.at(1)=']'; + } if (yyextra->docBlockName.at(1)=='{') { yyextra->docBlockName.at(1)='}'; } + if (yyextra->docBlockName.at(1)=='(') + { + yyextra->docBlockName.at(1)=')'; + } yyextra->fencedSize=0; yyextra->nestedComment=FALSE; BEGIN(DocCopyBlock); @@ -777,11 +785,14 @@ NONLopt [^\n]* } <DocCopyBlock>[\\@]("f$"|"f]"|"f}"|"f)") { yyextra->cCodeBuffer += yytext; - BEGIN(DocBlock); + if (yyextra->docBlockName==&yytext[1]) + { + BEGIN(DocBlock); + } } <DocCopyBlock>[\\@]("endverbatim"|"endlatexonly"|"endhtmlonly"|"endxmlonly"|"enddocbookonly"|"endmanonly"|"endrtfonly"|"enddot"|"endcode")/[^a-z_A-Z0-9] { // end of verbatim block yyextra->cCodeBuffer += yytext; - if (&yytext[4]==yyextra->docBlockName) + if (yyextra->docBlockName==&yytext[4]) { BEGIN(DocBlock); } |