Commit 39bdafef authored by Petr Prikryl's avatar Petr Prikryl

Merge branch 'master' of https://github.com/doxygen/doxygen.git

parents 6d969cab 84064ac4
...@@ -32,8 +32,6 @@ of a HTML tag are passed on to the HTML output only ...@@ -32,8 +32,6 @@ of a HTML tag are passed on to the HTML output only
<li><tt>\</B\></tt> Ends a <tt>\<B\></tt> section. <li><tt>\</B\></tt> Ends a <tt>\<B\></tt> section.
<li><tt>\<BLOCKQUOTE\></tt> Starts a quotation block. <li><tt>\<BLOCKQUOTE\></tt> Starts a quotation block.
<li><tt>\</BLOCKQUOTE\></tt> Ends the quotation block. <li><tt>\</BLOCKQUOTE\></tt> Ends the quotation block.
<li><tt>\<BODY\></tt> Does not generate any output.
<li><tt>\</BODY\></tt> Does not generate any output.
<li><tt>\<BR\></tt> Forces a line break. <li><tt>\<BR\></tt> Forces a line break.
<li><tt>\<CENTER\></tt> starts a section of centered text. <li><tt>\<CENTER\></tt> starts a section of centered text.
<li><tt>\</CENTER\></tt> ends a section of centered text. <li><tt>\</CENTER\></tt> ends a section of centered text.
...@@ -57,8 +55,6 @@ of a HTML tag are passed on to the HTML output only ...@@ -57,8 +55,6 @@ of a HTML tag are passed on to the HTML output only
<li><tt>\</DT\></tt> Ends an item title. <li><tt>\</DT\></tt> Ends an item title.
<li><tt>\<EM\></tt> Starts a piece of text displayed in an italic font. <li><tt>\<EM\></tt> Starts a piece of text displayed in an italic font.
<li><tt>\</EM\></tt> Ends a <tt>\<EM\></tt> section. <li><tt>\</EM\></tt> Ends a <tt>\<EM\></tt> section.
<li><tt>\<FORM\></tt> Does not generate any output.
<li><tt>\</FORM\></tt> Does not generate any output.
<li><tt>\<HR\></tt> Writes a horizontal ruler. <li><tt>\<HR\></tt> Writes a horizontal ruler.
<li><tt>\<H1\></tt> Starts an unnumbered section. <li><tt>\<H1\></tt> Starts an unnumbered section.
<li><tt>\</H1\></tt> Ends an unnumbered section. <li><tt>\</H1\></tt> Ends an unnumbered section.
...@@ -66,15 +62,17 @@ of a HTML tag are passed on to the HTML output only ...@@ -66,15 +62,17 @@ of a HTML tag are passed on to the HTML output only
<li><tt>\</H2\></tt> Ends an unnumbered subsection. <li><tt>\</H2\></tt> Ends an unnumbered subsection.
<li><tt>\<H3\></tt> Starts an unnumbered subsubsection. <li><tt>\<H3\></tt> Starts an unnumbered subsubsection.
<li><tt>\</H3\></tt> Ends an unnumbered subsubsection. <li><tt>\</H3\></tt> Ends an unnumbered subsubsection.
<li><tt>\<H4\></tt> Starts an unnumbered subsubsection.
<li><tt>\</H4\></tt> Ends an unnumbered subsubsection.
<li><tt>\<H5\></tt> Starts an unnumbered subsubsection.
<li><tt>\</H5\></tt> Ends an unnumbered subsubsection.
<li><tt>\<H6\></tt> Starts an unnumbered subsubsection.
<li><tt>\</H6\></tt> Ends an unnumbered subsubsection.
<li><tt>\<I\></tt> Starts a piece of text displayed in an italic font. <li><tt>\<I\></tt> Starts a piece of text displayed in an italic font.
<li><tt>\<INPUT\></tt> Does not generate any output.
<li><tt>\</I\></tt> Ends a <tt>\<I\></tt> section. <li><tt>\</I\></tt> Ends a <tt>\<I\></tt> section.
<li><tt>\<IMG\></tt> This command is written with attributes to the HTML output only. <li><tt>\<IMG SRC="..." ...\></tt> This command is written with its attributes to the HTML output only. The SRC attribute is mandatory.
<li><tt>\<LI\></tt> Starts a new list item. <li><tt>\<LI\></tt> Starts a new list item.
<li><tt>\</LI\></tt> Ends a list item. <li><tt>\</LI\></tt> Ends a list item.
<li><tt>\<META\></tt> Does not generate any output.
<li><tt>\<MULTICOL\></tt> ignored by doxygen.
<li><tt>\</MUTLICOL\></tt> ignored by doxygen.
<li><tt>\<OL\></tt> Starts a numbered item list. <li><tt>\<OL\></tt> Starts a numbered item list.
<li><tt>\</OL\></tt> Ends a numbered item list. <li><tt>\</OL\></tt> Ends a numbered item list.
<li><tt>\<P\></tt> Starts a new paragraph. <li><tt>\<P\></tt> Starts a new paragraph.
......
...@@ -11492,8 +11492,6 @@ int QLigature::match(QString & str, unsigned int index) ...@@ -11492,8 +11492,6 @@ int QLigature::match(QString & str, unsigned int index)
return 0; return 0;
} }
#endif
// this function is just used in QString::compose() // this function is just used in QString::compose()
static inline bool format(QChar::Decomposition tag, QString & str, static inline bool format(QChar::Decomposition tag, QString & str,
int index, int len) int index, int len)
...@@ -11515,7 +11513,7 @@ static inline bool format(QChar::Decomposition tag, QString & str, ...@@ -11515,7 +11513,7 @@ static inline bool format(QChar::Decomposition tag, QString & str,
switch (tag) { switch (tag) {
case QChar::Medial: case QChar::Medial:
return (left & right); return (left && right);
case QChar::Initial: case QChar::Initial:
return (left && !right); return (left && !right);
case QChar::Final: case QChar::Final:
...@@ -11525,6 +11523,7 @@ static inline bool format(QChar::Decomposition tag, QString & str, ...@@ -11525,6 +11523,7 @@ static inline bool format(QChar::Decomposition tag, QString & str,
return (!right && !left); return (!right && !left);
} }
} // format() } // format()
#endif
/* /*
QString::compose() and visual() were developed by Gordon Tisher QString::compose() and visual() were developed by Gordon Tisher
...@@ -11602,7 +11601,6 @@ static inline bool is_arabic(unsigned short x) { ...@@ -11602,7 +11601,6 @@ static inline bool is_arabic(unsigned short x) {
((x >= 0xfb50) && (x <= 0xfdff)) || ((x >= 0xfb50) && (x <= 0xfdff)) ||
((x >= 0xfe70) && (x <= 0xfeff))); ((x >= 0xfe70) && (x <= 0xfeff)));
} }
#endif
static inline bool is_neutral(unsigned short dir) { static inline bool is_neutral(unsigned short dir) {
return ((dir == QChar::DirB) || return ((dir == QChar::DirB) ||
...@@ -11611,6 +11609,7 @@ static inline bool is_neutral(unsigned short dir) { ...@@ -11611,6 +11609,7 @@ static inline bool is_neutral(unsigned short dir) {
(dir == QChar::DirON) || (dir == QChar::DirON) ||
(dir == QChar::DirNSM)); (dir == QChar::DirNSM));
} }
#endif
/*! /*!
This function returns the basic directionality of the string (QChar::DirR for This function returns the basic directionality of the string (QChar::DirR for
......
...@@ -2553,7 +2553,7 @@ EXTRA_PACKAGES=times ...@@ -2553,7 +2553,7 @@ EXTRA_PACKAGES=times
<option type='bool' id='USE_PDFLATEX' defval='1' depends='GENERATE_LATEX'> <option type='bool' id='USE_PDFLATEX' defval='1' depends='GENERATE_LATEX'>
<docs> <docs>
<![CDATA[ <![CDATA[
If the \c LATEX_PDFLATEX tag is set to \c YES, doxygen will use If the \c USE_PDFLATEX tag is set to \c YES, doxygen will use
\c pdflatex to generate the PDF file directly from the \f$\mbox{\LaTeX}\f$ \c pdflatex to generate the PDF file directly from the \f$\mbox{\LaTeX}\f$
files. Set this option to \c YES to get a higher quality PDF documentation. files. Set this option to \c YES to get a higher quality PDF documentation.
]]> ]]>
......
...@@ -152,6 +152,8 @@ static char stringStartSymbol; // single or double quote ...@@ -152,6 +152,8 @@ static char stringStartSymbol; // single or double quote
// declared from referenced names // declared from referenced names
static int bracketCount = 0; static int bracketCount = 0;
static bool g_endComment;
// simplified way to know if this is fixed form // simplified way to know if this is fixed form
// duplicate in fortranscanner.l // duplicate in fortranscanner.l
static bool recognizeFixedForm(const char* contents, FortranFormat format) static bool recognizeFixedForm(const char* contents, FortranFormat format)
...@@ -255,6 +257,7 @@ static void startCodeLine() ...@@ -255,6 +257,7 @@ static void startCodeLine()
g_currentDefinition = d; g_currentDefinition = d;
g_currentMemberDef = g_sourceFileDef->getSourceMember(g_yyLineNr); g_currentMemberDef = g_sourceFileDef->getSourceMember(g_yyLineNr);
g_insideBody = FALSE; g_insideBody = FALSE;
g_endComment = FALSE;
g_parmType.resize(0); g_parmType.resize(0);
g_parmName.resize(0); g_parmName.resize(0);
QCString lineAnchor; QCString lineAnchor;
...@@ -688,8 +691,7 @@ NUM_TYPE (complex|integer|logical|real) ...@@ -688,8 +691,7 @@ NUM_TYPE (complex|integer|logical|real)
LOG_OPER (\.and\.|\.eq\.|\.eqv\.|\.ge\.|\.gt\.|\.le\.|\.lt\.|\.ne\.|\.neqv\.|\.or\.|\.not\.) LOG_OPER (\.and\.|\.eq\.|\.eqv\.|\.ge\.|\.gt\.|\.le\.|\.lt\.|\.ne\.|\.neqv\.|\.or\.|\.not\.)
KIND {ARGS} KIND {ARGS}
CHAR (CHARACTER{ARGS}?|CHARACTER{BS}"*"({BS}[0-9]+|{ARGS})) CHAR (CHARACTER{ARGS}?|CHARACTER{BS}"*"({BS}[0-9]+|{ARGS}))
TYPE_SPEC (({NUM_TYPE}({BS}"*"{BS}[0-9]+)?)|({NUM_TYPE}{KIND})|DOUBLE{BS}COMPLEX|DOUBLE{BS}PRECISION|{CHAR}|PROCEDURE) TYPE_SPEC (({NUM_TYPE}({BS}"*"{BS}[0-9]+)?)|({NUM_TYPE}{KIND})|DOUBLE{BS}COMPLEX|DOUBLE{BS}PRECISION|{CHAR}|TYPE|CLASS|PROCEDURE)
TYPE_PREFIX ((TYPE|CLASS|PROCEDURE){BS}"(")
INTENT_SPEC intent{BS}"("{BS}(in|out|in{BS}out){BS}")" INTENT_SPEC intent{BS}"("{BS}(in|out|in{BS}out){BS}")"
ATTR_SPEC (IMPLICIT|ALLOCATABLE|DIMENSION{ARGS}|EXTERNAL|{INTENT_SPEC}|INTRINSIC|OPTIONAL|PARAMETER|POINTER|PROTECTED|PRIVATE|PUBLIC|SAVE|TARGET|RECURSIVE|PURE|IMPURE|ELEMENTAL|VALUE|NOPASS|DEFERRED) ATTR_SPEC (IMPLICIT|ALLOCATABLE|DIMENSION{ARGS}|EXTERNAL|{INTENT_SPEC}|INTRINSIC|OPTIONAL|PARAMETER|POINTER|PROTECTED|PRIVATE|PUBLIC|SAVE|TARGET|RECURSIVE|PURE|IMPURE|ELEMENTAL|VALUE|NOPASS|DEFERRED)
...@@ -718,7 +720,6 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I ...@@ -718,7 +720,6 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I
%x Use %x Use
%x UseOnly %x UseOnly
%x Import %x Import
%x TypeDecl
%x Declaration %x Declaration
%x DeclContLine %x DeclContLine
%x Parameterlist %x Parameterlist
...@@ -828,7 +829,7 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I ...@@ -828,7 +829,7 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I
g_insideBody=FALSE; g_insideBody=FALSE;
} }
/*-------- fortran module -----------------------------------------*/ /*-------- fortran module -----------------------------------------*/
<Start>("block"{BS}"data"|"program"|"module"|"type"|"interface")/{BS_}|({COMMA}({ACCESS_SPEC}|ABSTRACT|EXTENDS))|\n { // <Start>("block"{BS}"data"|"program"|"module"|"interface")/{BS_}|({COMMA}{ACCESS_SPEC})|\n { //
startScope(); startScope();
startFontClass("keyword"); startFontClass("keyword");
codifyLines(yytext); codifyLines(yytext);
...@@ -837,6 +838,14 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I ...@@ -837,6 +838,14 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I
BEGIN(ClassName); BEGIN(ClassName);
if (!qstricmp(yytext,"module")) currentModule="module"; if (!qstricmp(yytext,"module")) currentModule="module";
} }
<Start>("type")/{BS_}|({COMMA}({ACCESS_SPEC}|ABSTRACT|EXTENDS))|\n { //
startScope();
startFontClass("keyword");
codifyLines(yytext);
endFontClass();
yy_push_state(YY_START);
BEGIN(ClassName);
}
<ClassName>{ID} { <ClassName>{ID} {
if (currentModule == "module") if (currentModule == "module")
{ {
...@@ -905,24 +914,6 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I ...@@ -905,24 +914,6 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I
endFontClass(); endFontClass();
} }
/*-------- variable declaration ----------------------------------*/ /*-------- variable declaration ----------------------------------*/
<Start>^{BS}{TYPE_PREFIX}/{ID} {
yy_push_state(YY_START);
BEGIN(TypeDecl);
startFontClass("keywordtype");
g_code->codify(yytext);
endFontClass();
}
<TypeDecl>{ID} { // link type
g_insideBody=TRUE;
generateLink(*g_code,yytext);
g_insideBody=FALSE;
}
<TypeDecl>")" {
BEGIN(Declaration);
startFontClass("keywordtype");
g_code->codify(yytext);
endFontClass();
}
<Start>{TYPE_SPEC}/[,:( ] { <Start>{TYPE_SPEC}/[,:( ] {
yy_push_state(YY_START); yy_push_state(YY_START);
BEGIN(Declaration); BEGIN(Declaration);
...@@ -941,7 +932,7 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I ...@@ -941,7 +932,7 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I
endFontClass(); endFontClass();
} }
<Declaration>{ID} { // local var <Declaration>{ID} { // local var
if (g_currentMemberDef && !g_currentMemberDef->isFunction()) if (g_currentMemberDef && g_currentMemberDef->isFunction() && bracketCount==0)
{ {
g_code->codify(yytext); g_code->codify(yytext);
addLocalVar(yytext); addLocalVar(yytext);
...@@ -973,7 +964,14 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I ...@@ -973,7 +964,14 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I
YY_FTN_RESET YY_FTN_RESET
} }
<Declaration>"\n" { // end declaration line <Declaration>"\n" { // end declaration line
if (g_endComment)
{
g_endComment=FALSE;
}
else
{
codifyLines(yytext); codifyLines(yytext);
}
bracketCount = 0; bracketCount = 0;
yy_pop_state(); yy_pop_state();
YY_FTN_RESET YY_FTN_RESET
...@@ -1030,16 +1028,17 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I ...@@ -1030,16 +1028,17 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I
docBlock+=yytext; docBlock+=yytext;
} }
<DocBlock>"\n" { // comment block ends at the end of this line <DocBlock>"\n" { // comment block ends at the end of this line
docBlock+=yytext;
// remove special comment (default config) // remove special comment (default config)
if (Config_getBool("STRIP_CODE_COMMENTS")) if (Config_getBool("STRIP_CODE_COMMENTS"))
{ {
g_yyLineNr+=((QCString)docBlock).contains('\n'); g_yyLineNr+=((QCString)docBlock).contains('\n');
g_yyLineNr+=1;
endCodeLine(); endCodeLine();
if (g_yyLineNr<g_inputLines) if (g_yyLineNr<g_inputLines)
{ {
startCodeLine(); startCodeLine();
} }
g_endComment=TRUE;
} }
else // do not remove comment else // do not remove comment
{ {
...@@ -1047,6 +1046,7 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I ...@@ -1047,6 +1046,7 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I
codifyLines(docBlock); codifyLines(docBlock);
endFontClass(); endFontClass();
} }
unput(*yytext);
yy_pop_state(); yy_pop_state();
YY_FTN_RESET YY_FTN_RESET
} }
...@@ -1118,7 +1118,14 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I ...@@ -1118,7 +1118,14 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I
/*-----------------------------------------------------------------------------*/ /*-----------------------------------------------------------------------------*/
<*>\n { <*>\n {
if (g_endComment)
{
g_endComment=FALSE;
}
else
{
codifyLines(yytext); codifyLines(yytext);
}
YY_FTN_RESET YY_FTN_RESET
} }
<*>. { <*>. {
......
...@@ -186,6 +186,8 @@ static void writeMakeBat() ...@@ -186,6 +186,8 @@ static void writeMakeBat()
exit(1); exit(1);
} }
FTextStream t(&file); FTextStream t(&file);
t << "set Dir_Old=%cd%\n";
t << "cd /D %~dp0\n\n";
t << "del /s /f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf\n\n"; t << "del /s /f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf\n\n";
if (!Config_getBool("USE_PDFLATEX")) // use plain old latex if (!Config_getBool("USE_PDFLATEX")) // use plain old latex
{ {
...@@ -246,6 +248,8 @@ static void writeMakeBat() ...@@ -246,6 +248,8 @@ static void writeMakeBat()
t << "endlocal\n"; t << "endlocal\n";
t << mkidx_command << " refman.idx\n"; t << mkidx_command << " refman.idx\n";
t << "pdflatex refman\n"; t << "pdflatex refman\n";
t << "cd /D %Dir_Old%\n";
t << "set Dir_Old=\n";
} }
#endif #endif
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment