summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2018-12-26 11:01:10 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2018-12-26 11:01:10 (GMT)
commit3a1ba056b360ff784704e7d2cb594bf820cc28b0 (patch)
tree0ef12d83b79bfe1a4fedf555db21103724b33635
parentb6662b61dd83be32481a1c83e092082e9d797f0a (diff)
parent5c4d10eb3ec7a33a92658f191cfb29d52431ed13 (diff)
downloadDoxygen-3a1ba056b360ff784704e7d2cb594bf820cc28b0.zip
Doxygen-3a1ba056b360ff784704e7d2cb594bf820cc28b0.tar.gz
Doxygen-3a1ba056b360ff784704e7d2cb594bf820cc28b0.tar.bz2
Merge branch 'albert-github-feature/bug_escaped_equal_sign'
-rw-r--r--doc/commands.doc9
-rw-r--r--src/cmdmapper.cpp1
-rw-r--r--src/cmdmapper.h3
-rw-r--r--src/docparser.cpp10
-rw-r--r--src/docparser.h2
-rw-r--r--src/doctokenizer.l2
-rw-r--r--src/htmlentity.cpp3
7 files changed, 26 insertions, 4 deletions
diff --git a/doc/commands.doc b/doc/commands.doc
index c569e6c..3711e29 100644
--- a/doc/commands.doc
+++ b/doc/commands.doc
@@ -214,6 +214,7 @@ documentation:
\refitem cmdamp \\\&
\refitem cmdtilde \\~
\refitem cmdlt \\\<
+\refitem cmdeq \\=
\refitem cmdgt \\\>
\refitem cmdhash \\\#
\refitem cmdperc \\\%
@@ -3462,6 +3463,14 @@ class Receiver
the start of a line.
<hr>
+\section cmdeq \\=
+
+ \addindex \\=
+ This command writes an equal sign (`=`) to the output. This
+ character sequence has to be escaped in some cases, because it is used
+ in Markdown header processing.
+
+<hr>
\section cmddcolon \\::
\addindex \\::
diff --git a/src/cmdmapper.cpp b/src/cmdmapper.cpp
index 16ed0d7..55f8214 100644
--- a/src/cmdmapper.cpp
+++ b/src/cmdmapper.cpp
@@ -111,6 +111,7 @@ CommandMap cmdMap[] =
{ "\\", CMD_BSLASH },
{ "@", CMD_AT },
{ "<", CMD_LESS },
+ { "=", CMD_EQUAL },
{ ">", CMD_GREATER },
{ "&", CMD_AMP },
{ "$", CMD_DOLLAR },
diff --git a/src/cmdmapper.h b/src/cmdmapper.h
index a033a0f..8c49b3f 100644
--- a/src/cmdmapper.h
+++ b/src/cmdmapper.h
@@ -137,7 +137,8 @@ enum CommandType
CMD_INCLUDEDOC = 107,
CMD_SNIPPETDOC = 108,
CMD_SNIPWITHLINES= 109,
- CMD_EMOJI = 110
+ CMD_EMOJI = 110,
+ CMD_EQUAL = 111
};
enum HtmlTagType
diff --git a/src/docparser.cpp b/src/docparser.cpp
index d804a46..a5c0cc7 100644
--- a/src/docparser.cpp
+++ b/src/docparser.cpp
@@ -1439,6 +1439,9 @@ reparsetoken:
case CMD_MINUS:
children.append(new DocSymbol(parent,DocSymbol::Sym_Minus));
break;
+ case CMD_EQUAL:
+ children.append(new DocSymbol(parent,DocSymbol::Sym_Equal));
+ break;
case CMD_EMPHASIS:
{
children.append(new DocStyleChange(parent,g_nodeStack.count(),DocStyleChange::Italic,TRUE));
@@ -3278,6 +3281,7 @@ int DocIndexEntry::parse()
case CMD_PUNT: m_entry+='.'; break;
case CMD_PLUS: m_entry+='+'; break;
case CMD_MINUS: m_entry+='-'; break;
+ case CMD_EQUAL: m_entry+='='; break;
default:
warn_doc_error(g_fileName,doctokenizerYYlineno,"Unexpected command %s found as argument of \\addindex",
qPrint(g_token->name));
@@ -5517,6 +5521,9 @@ int DocPara::handleCommand(const QCString &cmdName, const int tok)
case CMD_MINUS:
m_children.append(new DocSymbol(this,DocSymbol::Sym_Minus));
break;
+ case CMD_EQUAL:
+ m_children.append(new DocSymbol(this,DocSymbol::Sym_Equal));
+ break;
case CMD_SA:
g_inSeeBlock=TRUE;
retval = handleSimpleSection(DocSimpleSect::See);
@@ -7075,6 +7082,9 @@ void DocText::parse()
case CMD_MINUS:
m_children.append(new DocSymbol(this,DocSymbol::Sym_Minus));
break;
+ case CMD_EQUAL:
+ m_children.append(new DocSymbol(this,DocSymbol::Sym_Equal));
+ break;
default:
warn_doc_error(g_fileName,doctokenizerYYlineno,"Unexpected command `%s' found",
qPrint(g_token->name));
diff --git a/src/docparser.h b/src/docparser.h
index a465f20..ca32b20 100644
--- a/src/docparser.h
+++ b/src/docparser.h
@@ -455,7 +455,7 @@ class DocSymbol : public DocNode
/* doxygen commands mapped */
Sym_BSlash, Sym_At, Sym_Less, Sym_Greater, Sym_Amp,
Sym_Dollar, Sym_Hash, Sym_DoubleColon, Sym_Percent, Sym_Pipe,
- Sym_Quot, Sym_Minus, Sym_Plus, Sym_Dot, Sym_Colon
+ Sym_Quot, Sym_Minus, Sym_Plus, Sym_Dot, Sym_Colon, Sym_Equal
};
enum PerlType { Perl_unknown = 0, Perl_string, Perl_char, Perl_symbol, Perl_umlaut,
Perl_acute, Perl_grave, Perl_circ, Perl_slash, Perl_tilde,
diff --git a/src/doctokenizer.l b/src/doctokenizer.l
index bd1242d..eb14470 100644
--- a/src/doctokenizer.l
+++ b/src/doctokenizer.l
@@ -365,7 +365,7 @@ FILEMASK ({FILESCHAR}*{FILEECHAR}+("."{FILESCHAR}*{FILEECHAR}+)*)|{HFILEMASK}
LINKMASK [^ \t\n\r\\@<&${}]+("("[^\n)]*")")?({BLANK}*("const"|"volatile"){BLANK}+)?
VERBATIM "verbatim"{BLANK}*
SPCMD1 {CMD}([a-z_A-Z][a-z_A-Z0-9]*|{VERBATIM}|"--"|"---")
-SPCMD2 {CMD}[\\@<>&$#%~".+|-]
+SPCMD2 {CMD}[\\@<>&$#%~".+=|-]
SPCMD3 {CMD}form#[0-9]+
SPCMD4 {CMD}"::"
SPCMD5 {CMD}":"
diff --git a/src/htmlentity.cpp b/src/htmlentity.cpp
index e95b817..543f86b 100644
--- a/src/htmlentity.cpp
+++ b/src/htmlentity.cpp
@@ -315,7 +315,8 @@ static struct htmlEntityInfo
{ SYM(Minus), "-", "-", "-", "-", "-\\/", "-", "-", { "-", DocSymbol::Perl_char }},
{ SYM(Plus), "+", "+", "+", "+", "+", "+", "+", { "+", DocSymbol::Perl_char }},
{ SYM(Dot), ".", ".", ".", ".", ".", ".", ".", { ".", DocSymbol::Perl_char }},
- { SYM(Colon), ":", ":", ":", ":", ":", ":", ":", { ":", DocSymbol::Perl_char }}
+ { SYM(Colon), ":", ":", ":", ":", ":", ":", ":", { ":", DocSymbol::Perl_char }},
+ { SYM(Equal), "=", "=", "=", "=", "=", "=", "=", { "=", DocSymbol::Perl_char }}
};
static const int g_numHtmlEntities = (int)(sizeof(g_htmlEntities)/ sizeof(*g_htmlEntities));