Commit 8fc08533 authored by Dimitri van Heesch's avatar Dimitri van Heesch
Browse files

Paragraph inbetween @warning like section and autolist no longer ended section

parent 79099187
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -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
  {
  {
@@ -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;
+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.
@@ -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
+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.
@@ -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;
@@ -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;
@@ -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);
@@ -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;
                         }
                         }
@@ -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;
@@ -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); }