diff options
-rw-r--r-- | src/definition.cpp | 9 | ||||
-rw-r--r-- | src/docparser.cpp | 4 | ||||
-rw-r--r-- | src/doctokenizer.l | 10 | ||||
-rw-r--r-- | src/ftvhelp.cpp | 11 | ||||
-rw-r--r-- | src/index.cpp | 6 |
5 files changed, 28 insertions, 12 deletions
diff --git a/src/definition.cpp b/src/definition.cpp index 936565d..0a1c7c7 100644 --- a/src/definition.cpp +++ b/src/definition.cpp @@ -1837,6 +1837,7 @@ void Definition::writeToc(OutputList &ol, const LocalToc &localToc) level = nextLevel; } } + if (level > maxLevel) level = maxLevel; while (level>1 && level <= maxLevel) { if (inLi[level]) ol.writeString("</li>\n"); @@ -1896,6 +1897,14 @@ void Definition::writeToc(OutputList &ol, const LocalToc &localToc) level = nextLevel; } } + if (level > maxLevel) level = maxLevel; + while (level>1 && level <= maxLevel) + { + inLi[level]=FALSE; + ol.writeString("</tocdiv>\n"); + level--; + } + inLi[level]=FALSE; ol.writeString(" </toc>\n"); ol.popGeneratorState(); } diff --git a/src/docparser.cpp b/src/docparser.cpp index ec018b9..100842b 100644 --- a/src/docparser.cpp +++ b/src/docparser.cpp @@ -2779,6 +2779,7 @@ QCString DocLink::parse(bool isJavaLink,bool isXmlLink) case TK_EMOJI: warn_doc_error(g_fileName,doctokenizerYYlineno,"Unsupported emoji '%s' found", qPrint(g_token->name)); + m_children.append(new DocWord(this,g_token->name)); break; case TK_HTMLTAG: if (g_token->name!="see" || !isXmlLink) @@ -3984,6 +3985,7 @@ int DocHtmlDescTitle::parse() case TK_EMOJI: warn_doc_error(g_fileName,doctokenizerYYlineno,"Unsupported emoji '%s' found", qPrint(g_token->name)); + m_children.append(new DocWord(this,g_token->name)); break; case TK_HTMLTAG: { @@ -6817,6 +6819,7 @@ reparsetoken: { warn_doc_error(g_fileName,doctokenizerYYlineno,"Unsupported emoji '%s' found", qPrint(g_token->name)); + m_children.append(new DocWord(this,g_token->name)); } break; } @@ -7045,6 +7048,7 @@ void DocText::parse() { warn_doc_error(g_fileName,doctokenizerYYlineno,"Unsupported emoji '%s' found", qPrint(g_token->name)); + m_children.append(new DocWord(this,g_token->name)); } } break; diff --git a/src/doctokenizer.l b/src/doctokenizer.l index deac51c..4dc5fad 100644 --- a/src/doctokenizer.l +++ b/src/doctokenizer.l @@ -362,7 +362,7 @@ URLCHAR [a-z_A-Z0-9\!\~\,\:\;\'\$\?\@\&\%\#\.\-\+\/\=] URLMASK ({URLCHAR}+([({]{URLCHAR}*[)}])?)+ FILESCHAR [a-z_A-Z0-9\\:\\\/\-\+@&#] FILEECHAR [a-z_A-Z0-9\-\+@&#] -HFILEMASK ("."{FILESCHAR}*{FILEECHAR}+)* +HFILEMASK ("."{FILESCHAR}*{FILEECHAR}+)+ FILEMASK ({FILESCHAR}*{FILEECHAR}+("."{FILESCHAR}*{FILEECHAR}+)*)|{HFILEMASK} LINKMASK [^ \t\n\r\\@<&${}]+("("[^\n)]*")")?({BLANK}*("const"|"volatile"){BLANK}+)? VERBATIM "verbatim"{BLANK}* @@ -689,7 +689,7 @@ REFWORD_NOCV {FILEMASK}|{LABELID}|{REFWORD2_NOCV}|{REFWORD3}|{REFWORD4_NOCV} g_token->name = yytext; return TK_SYMBOL; } -<St_Para,St_Text>{EMOJI} { /* emoji symbol */ +<St_Para,St_Text>{EMOJI}/[^:] { /* emoji symbol */ if (g_fileName == CiteConsts::fileName) { REJECT; @@ -946,7 +946,7 @@ REFWORD_NOCV {FILEMASK}|{LABELID}|{REFWORD2_NOCV}|{REFWORD3}|{REFWORD4_NOCV} g_token->name = yytext; return TK_SYMBOL; } -<St_TitleN>{EMOJI} { /* emoji */ +<St_TitleN>{EMOJI}/[^:] { /* emoji */ if (g_fileName == CiteConsts::fileName) { REJECT; @@ -993,7 +993,7 @@ REFWORD_NOCV {FILEMASK}|{LABELID}|{REFWORD2_NOCV}|{REFWORD3}|{REFWORD4_NOCV} g_token->name = yytext; return TK_SYMBOL; } -<St_TitleQ>{EMOJI} { /* emoji */ +<St_TitleQ>{EMOJI}/[^:] { /* emoji */ if (g_fileName == CiteConsts::fileName) { REJECT; @@ -1143,7 +1143,7 @@ REFWORD_NOCV {FILEMASK}|{LABELID}|{REFWORD2_NOCV}|{REFWORD3}|{REFWORD4_NOCV} g_token->name = yytext; return TK_SYMBOL; } -<St_Ref2>{EMOJI} { /* emoji */ +<St_Ref2>{EMOJI}/[^:] { /* emoji */ if (g_fileName == CiteConsts::fileName) { REJECT; diff --git a/src/ftvhelp.cpp b/src/ftvhelp.cpp index 73ac775..ea57eb7 100644 --- a/src/ftvhelp.cpp +++ b/src/ftvhelp.cpp @@ -828,10 +828,13 @@ void FTVHelp::generateTreeViewInline(FTextStream &t) } //printf("preferred depth=%d\n",preferredDepth); - t << "<table class=\"directory\">\n"; - int index=0; - generateTree(t,m_indentNodes[0],0,preferredDepth,index); - t << "</table>\n"; + if (m_indentNodes[0].count()) + { + t << "<table class=\"directory\">\n"; + int index=0; + generateTree(t,m_indentNodes[0],0,preferredDepth,index); + t << "</table>\n"; + } t << "</div><!-- directory -->\n"; } diff --git a/src/index.cpp b/src/index.cpp index 5439987..7bb9574 100644 --- a/src/index.cpp +++ b/src/index.cpp @@ -2832,7 +2832,7 @@ static void writeMemberList(OutputList &ol,bool useSections,int page, if (!firstSection) ol.endItemList(); QCString cs = letterToLabel(ml->letter()); QCString cl = QString(QChar(ml->letter())).utf8(); - QCString anchor=(QCString)"index_"+cs; + QCString anchor=(QCString)"index_"+convertToId(cs); QCString title=(QCString)"- "+cl+" -"; ol.startSection(anchor,title,SectionInfo::Subsection); ol.docify(title); @@ -3123,7 +3123,7 @@ static void writeQuickMemberIndex(OutputList &ol, anchor=fullName+extension+"#index_"; else anchor=fullName+"_"+letterToLabel(i)+extension+"#index_"; - startQuickIndexItem(ol,anchor+is,i==page,TRUE,first); + startQuickIndexItem(ol,anchor+convertToId(is),i==page,TRUE,first); ol.writeString(ci); endQuickIndexItem(ol); first=FALSE; @@ -5201,7 +5201,7 @@ void renderMemberIndicesAsJs(FTextStream &t, else // other pages of multi page index anchor=fullName+"_"+is+extension+"#index_"; t << "{text:\"" << convertToJSString(ci) << "\",url:\"" - << convertToJSString(anchor+is, false) << "\"}"; + << convertToJSString(anchor+convertToId(is), false) << "\"}"; firstLetter=FALSE; } t << "]"; |