Loading src/docparser.cpp +2 −0 Original line number Original line Diff line number Diff line Loading @@ -4447,6 +4447,7 @@ int DocAutoList::parse() int retval = RetVal_OK; int retval = RetVal_OK; int num=1; int num=1; g_nodeStack.push(this); g_nodeStack.push(this); doctokenizerYYstartAutoList(); // first item or sub list => create new list // first item or sub list => create new list do do { { Loading @@ -4469,6 +4470,7 @@ int DocAutoList::parse() (g_token->id==-1 || g_token->id>=num) // increasing number (or no number) (g_token->id==-1 || g_token->id>=num) // increasing number (or no number) ); ); doctokenizerYYendAutoList(); DocNode *n=g_nodeStack.pop(); DocNode *n=g_nodeStack.pop(); ASSERT(n==this); ASSERT(n==this); return retval; return retval; Loading src/doctokenizer.h +3 −1 Original line number Original line Diff line number Diff line /****************************************************************************** /****************************************************************************** * * * * $Id: $ * * * * * Copyright (C) 1997-2013 by Dimitri van Heesch. * Copyright (C) 1997-2013 by Dimitri van Heesch. Loading Loading @@ -156,5 +156,7 @@ void doctokenizerYYsetStateAnchor(); void doctokenizerYYsetInsidePre(bool b); void doctokenizerYYsetInsidePre(bool b); void doctokenizerYYpushBackHtmlTag(const char *tag); void doctokenizerYYpushBackHtmlTag(const char *tag); void doctokenizerYYsetStateSnippet(); void doctokenizerYYsetStateSnippet(); void doctokenizerYYstartAutoList(); void doctokenizerYYendAutoList(); #endif #endif src/doctokenizer.l +19 −4 Original line number Original line Diff line number Diff line /****************************************************************************** /****************************************************************************** * * * * $Id: $ * * * * * Copyright (C) 1997-2013 by Dimitri van Heesch. * Copyright (C) 1997-2013 by Dimitri van Heesch. Loading Loading @@ -57,11 +57,13 @@ static QCString g_secLabel; static QCString g_secTitle; static QCString g_secTitle; static SectionInfo::SectionType g_secType; static SectionInfo::SectionType g_secType; static QCString g_endMarker; static QCString g_endMarker; static int g_autoListLevel; struct DocLexerContext struct DocLexerContext { { TokenInfo *token; TokenInfo *token; int rule; int rule; int autoListLevel; int inputPos; int inputPos; const char *inputString; const char *inputString; YY_BUFFER_STATE state; YY_BUFFER_STATE state; Loading @@ -75,6 +77,7 @@ void doctokenizerYYpushContext() { { DocLexerContext *ctx = new DocLexerContext; DocLexerContext *ctx = new DocLexerContext; ctx->rule = YY_START; ctx->rule = YY_START; ctx->autoListLevel = g_autoListLevel; ctx->token = g_token; ctx->token = g_token; ctx->inputPos = g_inputPos; ctx->inputPos = g_inputPos; ctx->inputString = g_inputString; ctx->inputString = g_inputString; Loading @@ -87,6 +90,7 @@ bool doctokenizerYYpopContext() { { if (g_lexerStack.isEmpty()) return FALSE; if (g_lexerStack.isEmpty()) return FALSE; DocLexerContext *ctx = g_lexerStack.pop(); DocLexerContext *ctx = g_lexerStack.pop(); g_autoListLevel = ctx->autoListLevel; g_inputPos = ctx->inputPos; g_inputPos = ctx->inputPos; g_inputString = ctx->inputString; g_inputString = ctx->inputString; yy_delete_buffer(YY_CURRENT_BUFFER); yy_delete_buffer(YY_CURRENT_BUFFER); Loading Loading @@ -691,19 +695,19 @@ REFWORD {LABELID}|{REFWORD2}|{REFWORD3} return TK_COMMAND; return TK_COMMAND; } } <St_Para>({BLANK}*\n)+{BLANK}*\n/{LISTITEM} { /* skip trailing paragraph followed by new list item */ <St_Para>({BLANK}*\n)+{BLANK}*\n/{LISTITEM} { /* skip trailing paragraph followed by new list item */ if (g_insidePre) if (g_insidePre || g_autoListLevel==0) { { REJECT; REJECT; } } } } <St_Para>({BLANK}*\n)+{BLANK}*\n/{MLISTITEM} { /* skip trailing paragraph followed by new list item */ <St_Para>({BLANK}*\n)+{BLANK}*\n/{MLISTITEM} { /* skip trailing paragraph followed by new list item */ if (!Doxygen::markdownSupport || g_insidePre) if (!Doxygen::markdownSupport || g_insidePre || g_autoListLevel==0) { { REJECT; REJECT; } } } } <St_Para>({BLANK}*\n)+{BLANK}*\n/{OLISTITEM} { /* skip trailing paragraph followed by new list item */ <St_Para>({BLANK}*\n)+{BLANK}*\n/{OLISTITEM} { /* skip trailing paragraph followed by new list item */ if (!Doxygen::markdownSupport || g_insidePre) if (!Doxygen::markdownSupport || g_insidePre || g_autoListLevel==0) { { REJECT; REJECT; } } Loading Loading @@ -1182,6 +1186,7 @@ void doctokenizerYYFindSections(const char *input,Definition *d, void doctokenizerYYinit(const char *input,const char *fileName) void doctokenizerYYinit(const char *input,const char *fileName) { { g_autoListLevel = 0; g_inputString = input; g_inputString = input; g_inputPos = 0; g_inputPos = 0; g_fileName = fileName; g_fileName = fileName; Loading Loading @@ -1354,6 +1359,16 @@ void doctokenizerYYpushBackHtmlTag(const char *tag) unput('<'); unput('<'); } } void doctokenizerYYstartAutoList() { g_autoListLevel++; } void doctokenizerYYendAutoList() { g_autoListLevel--; } #if !defined(YY_FLEX_SUBMINOR_VERSION) #if !defined(YY_FLEX_SUBMINOR_VERSION) extern "C" { // some bogus code to keep the compiler happy extern "C" { // some bogus code to keep the compiler happy void doctokenizerYYdummy() { yy_flex_realloc(0,0); } void doctokenizerYYdummy() { yy_flex_realloc(0,0); } Loading Loading
src/docparser.cpp +2 −0 Original line number Original line Diff line number Diff line Loading @@ -4447,6 +4447,7 @@ int DocAutoList::parse() int retval = RetVal_OK; int retval = RetVal_OK; int num=1; int num=1; g_nodeStack.push(this); g_nodeStack.push(this); doctokenizerYYstartAutoList(); // first item or sub list => create new list // first item or sub list => create new list do do { { Loading @@ -4469,6 +4470,7 @@ int DocAutoList::parse() (g_token->id==-1 || g_token->id>=num) // increasing number (or no number) (g_token->id==-1 || g_token->id>=num) // increasing number (or no number) ); ); doctokenizerYYendAutoList(); DocNode *n=g_nodeStack.pop(); DocNode *n=g_nodeStack.pop(); ASSERT(n==this); ASSERT(n==this); return retval; return retval; Loading
src/doctokenizer.h +3 −1 Original line number Original line Diff line number Diff line /****************************************************************************** /****************************************************************************** * * * * $Id: $ * * * * * Copyright (C) 1997-2013 by Dimitri van Heesch. * Copyright (C) 1997-2013 by Dimitri van Heesch. Loading Loading @@ -156,5 +156,7 @@ void doctokenizerYYsetStateAnchor(); void doctokenizerYYsetInsidePre(bool b); void doctokenizerYYsetInsidePre(bool b); void doctokenizerYYpushBackHtmlTag(const char *tag); void doctokenizerYYpushBackHtmlTag(const char *tag); void doctokenizerYYsetStateSnippet(); void doctokenizerYYsetStateSnippet(); void doctokenizerYYstartAutoList(); void doctokenizerYYendAutoList(); #endif #endif
src/doctokenizer.l +19 −4 Original line number Original line Diff line number Diff line /****************************************************************************** /****************************************************************************** * * * * $Id: $ * * * * * Copyright (C) 1997-2013 by Dimitri van Heesch. * Copyright (C) 1997-2013 by Dimitri van Heesch. Loading Loading @@ -57,11 +57,13 @@ static QCString g_secLabel; static QCString g_secTitle; static QCString g_secTitle; static SectionInfo::SectionType g_secType; static SectionInfo::SectionType g_secType; static QCString g_endMarker; static QCString g_endMarker; static int g_autoListLevel; struct DocLexerContext struct DocLexerContext { { TokenInfo *token; TokenInfo *token; int rule; int rule; int autoListLevel; int inputPos; int inputPos; const char *inputString; const char *inputString; YY_BUFFER_STATE state; YY_BUFFER_STATE state; Loading @@ -75,6 +77,7 @@ void doctokenizerYYpushContext() { { DocLexerContext *ctx = new DocLexerContext; DocLexerContext *ctx = new DocLexerContext; ctx->rule = YY_START; ctx->rule = YY_START; ctx->autoListLevel = g_autoListLevel; ctx->token = g_token; ctx->token = g_token; ctx->inputPos = g_inputPos; ctx->inputPos = g_inputPos; ctx->inputString = g_inputString; ctx->inputString = g_inputString; Loading @@ -87,6 +90,7 @@ bool doctokenizerYYpopContext() { { if (g_lexerStack.isEmpty()) return FALSE; if (g_lexerStack.isEmpty()) return FALSE; DocLexerContext *ctx = g_lexerStack.pop(); DocLexerContext *ctx = g_lexerStack.pop(); g_autoListLevel = ctx->autoListLevel; g_inputPos = ctx->inputPos; g_inputPos = ctx->inputPos; g_inputString = ctx->inputString; g_inputString = ctx->inputString; yy_delete_buffer(YY_CURRENT_BUFFER); yy_delete_buffer(YY_CURRENT_BUFFER); Loading Loading @@ -691,19 +695,19 @@ REFWORD {LABELID}|{REFWORD2}|{REFWORD3} return TK_COMMAND; return TK_COMMAND; } } <St_Para>({BLANK}*\n)+{BLANK}*\n/{LISTITEM} { /* skip trailing paragraph followed by new list item */ <St_Para>({BLANK}*\n)+{BLANK}*\n/{LISTITEM} { /* skip trailing paragraph followed by new list item */ if (g_insidePre) if (g_insidePre || g_autoListLevel==0) { { REJECT; REJECT; } } } } <St_Para>({BLANK}*\n)+{BLANK}*\n/{MLISTITEM} { /* skip trailing paragraph followed by new list item */ <St_Para>({BLANK}*\n)+{BLANK}*\n/{MLISTITEM} { /* skip trailing paragraph followed by new list item */ if (!Doxygen::markdownSupport || g_insidePre) if (!Doxygen::markdownSupport || g_insidePre || g_autoListLevel==0) { { REJECT; REJECT; } } } } <St_Para>({BLANK}*\n)+{BLANK}*\n/{OLISTITEM} { /* skip trailing paragraph followed by new list item */ <St_Para>({BLANK}*\n)+{BLANK}*\n/{OLISTITEM} { /* skip trailing paragraph followed by new list item */ if (!Doxygen::markdownSupport || g_insidePre) if (!Doxygen::markdownSupport || g_insidePre || g_autoListLevel==0) { { REJECT; REJECT; } } Loading Loading @@ -1182,6 +1186,7 @@ void doctokenizerYYFindSections(const char *input,Definition *d, void doctokenizerYYinit(const char *input,const char *fileName) void doctokenizerYYinit(const char *input,const char *fileName) { { g_autoListLevel = 0; g_inputString = input; g_inputString = input; g_inputPos = 0; g_inputPos = 0; g_fileName = fileName; g_fileName = fileName; Loading Loading @@ -1354,6 +1359,16 @@ void doctokenizerYYpushBackHtmlTag(const char *tag) unput('<'); unput('<'); } } void doctokenizerYYstartAutoList() { g_autoListLevel++; } void doctokenizerYYendAutoList() { g_autoListLevel--; } #if !defined(YY_FLEX_SUBMINOR_VERSION) #if !defined(YY_FLEX_SUBMINOR_VERSION) extern "C" { // some bogus code to keep the compiler happy extern "C" { // some bogus code to keep the compiler happy void doctokenizerYYdummy() { yy_flex_realloc(0,0); } void doctokenizerYYdummy() { yy_flex_realloc(0,0); } Loading