summaryrefslogtreecommitdiffstats
path: root/src/commentscan.l
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2019-06-12 17:08:51 (GMT)
committeralbert-github <albert.tests@gmail.com>2019-06-12 17:08:51 (GMT)
commit2934e3cb1d32cda1950d809a210c787475fd41ba (patch)
tree742514ebaf19dae0889f72c7c1762dc4cf67d8ba /src/commentscan.l
parent527fa741a67b9bc34ef315ff0ff6f96bae726497 (diff)
downloadDoxygen-2934e3cb1d32cda1950d809a210c787475fd41ba.zip
Doxygen-2934e3cb1d32cda1950d809a210c787475fd41ba.tar.gz
Doxygen-2934e3cb1d32cda1950d809a210c787475fd41ba.tar.bz2
issue #7050 Physical newlines (^^) not working in group names and without spaces in 1.8.15
Handling of `\_linebr` with defgroup and also with the `\page` command. Adding a missing linecount.
Diffstat (limited to 'src/commentscan.l')
-rw-r--r--src/commentscan.l25
1 files changed, 18 insertions, 7 deletions
diff --git a/src/commentscan.l b/src/commentscan.l
index e75d023..a6098c0 100644
--- a/src/commentscan.l
+++ b/src/commentscan.l
@@ -1576,7 +1576,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
yyLineNr++;
addOutput('\n');
}
-<GroupDocArg2>[^\n\*]+ { // title (stored in type)
+<GroupDocArg2>[^\n\\]+ { // title (stored in type)
current->type += yytext;
current->type = current->type.stripWhiteSpace();
}
@@ -1594,11 +1594,16 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
addOutput('\n');
BEGIN( Comment );
}
+<GroupDocArg2>. { // title (stored in type)
+ current->type += yytext;
+ current->type = current->type.stripWhiteSpace();
+ }
/* --------- handle arguments of page/mainpage command ------------------- */
<PageDocArg1>{FILE} { // first argument; page name
current->name = stripQuotes(yytext);
+ current->args = "";
BEGIN( PageDocArg2 );
}
<PageDocArg1>{LC} { yyLineNr++;
@@ -1615,17 +1620,21 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
}
<PageDocArg1>. { // ignore other stuff
}
-<PageDocArg2>.*"\n" { // second argument; page title
- yyLineNr++;
+<PageDocArg2>{DOCNL} { // second argument; page title
+ if (*yytext=='\n') yyLineNr++;
+ addOutput('\n');
+ BEGIN( Comment );
+ }
+<PageDocArg2>{CMD}[<>] {
// bug 748927
QCString tmp = yytext;
tmp = substitute(substitute(tmp,"@<","&lt;"),"@>","&gt;");
tmp = substitute(substitute(tmp,"\\<","&lt;"),"\\>","&gt;");
- current->args = tmp;
- addOutput('\n');
- BEGIN( Comment );
+ current->args += tmp;
}
-
+<PageDocArg2>. {
+ current->args += yytext;
+ }
/* --------- handle arguments of the param command ------------ */
<ParamArg1>{ID}/{B}*"," {
addOutput(yytext);
@@ -1965,6 +1974,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
addOutput(*yytext);
}
<GuardParamEnd>{B}*{DOCNL} {
+ if (yytext[strlen(yytext)-1]=='\n') yyLineNr++;
g_spaceBeforeIf.resize(0);
BEGIN(Comment);
}
@@ -2462,6 +2472,7 @@ static bool handleMainpage(const QCString &, const QCStringList &)
{
current->name = "mainpage";
}
+ current->name = "";
BEGIN( PageDocArg2 );
return stop;
}