diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2010-05-07 19:37:33 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2010-05-07 19:37:33 (GMT) |
commit | a3b06c4fd310fdeda48a4730139cee09b5302072 (patch) | |
tree | 58636054e8f52c5851109b908053cc4da26b060a /src/commentcnv.l | |
parent | 368c93a05bf38e440dba3f033f6e2e1cbeb2f379 (diff) | |
download | Doxygen-a3b06c4fd310fdeda48a4730139cee09b5302072.zip Doxygen-a3b06c4fd310fdeda48a4730139cee09b5302072.tar.gz Doxygen-a3b06c4fd310fdeda48a4730139cee09b5302072.tar.bz2 |
Release-1.6.3-20100507
Diffstat (limited to 'src/commentcnv.l')
-rw-r--r-- | src/commentcnv.l | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/commentcnv.l b/src/commentcnv.l index a38228f..e508221 100644 --- a/src/commentcnv.l +++ b/src/commentcnv.l @@ -67,6 +67,7 @@ static bool g_specialComment; static QCString g_aliasString; static int g_blockCount; +static bool g_lastEscaped; static int g_lastBlockContext; static bool g_pythonDocString; @@ -696,30 +697,41 @@ void replaceComment(int offset); g_lastBlockContext=YY_START; g_blockCount=1; g_aliasString=yytext; + g_lastEscaped=0; BEGIN( ReadAliasArgs ); } -<ReadAliasArgs>[^{}\n\*]+ { +<ReadAliasArgs>[^{}\n\\\*]+ { g_aliasString+=yytext; + g_lastEscaped=FALSE; } +<ReadAliasArgs>"\\" { + if (g_lastEscaped) g_lastEscaped=FALSE; + else g_lastEscaped=TRUE; + g_aliasString+=yytext; + } <ReadAliasArgs>\n { g_aliasString+=yytext; g_lineNr++; + g_lastEscaped=FALSE; } <ReadAliasArgs>"{" { g_aliasString+=yytext; - g_blockCount++; + if (!g_lastEscaped) g_blockCount++; + g_lastEscaped=FALSE; } <ReadAliasArgs>"}" { g_aliasString+=yytext; - g_blockCount--; + if (!g_lastEscaped) g_blockCount--; if (g_blockCount==0) { replaceAliases(g_aliasString); BEGIN( g_lastBlockContext ); } + g_lastEscaped=FALSE; } <ReadAliasArgs>. { g_aliasString+=yytext; + g_lastEscaped=FALSE; } <ReadLine>. { copyToOutput(yytext,yyleng); |