summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/definition.cpp9
-rw-r--r--src/docparser.cpp4
-rw-r--r--src/doctokenizer.l10
-rw-r--r--src/ftvhelp.cpp11
-rw-r--r--src/index.cpp6
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 << "]";