diff options
Diffstat (limited to 'src')
-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/util.cpp | 9 |
4 files changed, 24 insertions, 10 deletions
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/util.cpp b/src/util.cpp index a1f40af..1b6afa2 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -1895,11 +1895,18 @@ QCString removeRedundantWhiteSpace(const QCString &s) if (g_charAroundSpace.charMap[(uchar)pc].before && g_charAroundSpace.charMap[(uchar)nc].after && !(pc==',' && nc=='.') && - (osp<8 || (osp>=8 && isId(nc))) // e.g. "operator >>" -> "operator>>", but not "operator int" -> operatorint" + (osp<8 || (osp>=8 && pc!='"' && isId(nc)) || (osp>=8 && pc!='"' && nc!='"')) + // e.g. 'operator >>' -> 'operator>>', + // 'operator "" _x' -> 'operator""_x', + // but not 'operator int' -> 'operatorint' ) { // keep space *dst++=' '; } + else if ((pc=='*' || pc=='&' || pc=='.') && nc=='>') + { + *dst++=' '; + } } break; default: |