From 3583a7c0bea47665a06d14a64b62376eee21c528 Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Mon, 30 Jul 2012 09:56:54 +0000 Subject: Included missing Fortran patches --- INSTALL | 4 ++-- README | 4 ++-- configure | 2 +- src/fortrancode.l | 14 ++++++++++++-- src/fortranscanner.l | 32 ++++++++++++++++---------------- 5 files changed, 33 insertions(+), 23 deletions(-) diff --git a/INSTALL b/INSTALL index 58975e6..79062f5 100644 --- a/INSTALL +++ b/INSTALL @@ -1,7 +1,7 @@ -DOXYGEN Version 1.8.1.2-20120729 +DOXYGEN Version 1.8.1.2-20120730 Please read the installation section of the manual (http://www.doxygen.org/install.html) for instructions. -------- -Dimitri van Heesch (29 July 2012) +Dimitri van Heesch (30 July 2012) diff --git a/README b/README index 5108969..6d2baeb 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -DOXYGEN Version 1.8.1.2_20120729 +DOXYGEN Version 1.8.1.2_20120730 Please read INSTALL for compilation instructions. @@ -26,4 +26,4 @@ forum. Enjoy, -Dimitri van Heesch (dimitri@stack.nl) (29 July 2012) +Dimitri van Heesch (dimitri@stack.nl) (30 July 2012) diff --git a/configure b/configure index 3dd0baa..d4238d9 100755 --- a/configure +++ b/configure @@ -20,7 +20,7 @@ doxygen_version_minor=8 doxygen_version_revision=1.2 #NOTE: Setting version_mmn to "NO" will omit mmn info from the package. -doxygen_version_mmn=20120729 +doxygen_version_mmn=20120730 bin_dirs=`echo $PATH | sed -e "s/:/ /g"` diff --git a/src/fortrancode.l b/src/fortrancode.l index e9fefea..d7385ff 100644 --- a/src/fortrancode.l +++ b/src/fortrancode.l @@ -770,10 +770,13 @@ PREFIX (RECURSIVE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,2}(RECURSIVE|PURE|ELEMENTA BEGIN(UseOnly); } {BS},{BS} { codifyLines(yytext); } +{BS}&{BS}"\n" { codifyLines(yytext); } {ID} { - codifyLines(yytext); + g_insideBody=TRUE; + generateLink(*g_code, yytext); + g_insideBody=FALSE; useEntry->onlyNames.append(yytext); - } + } "\n" { unput(*yytext); yy_pop_state(); @@ -1015,6 +1018,13 @@ PREFIX (RECURSIVE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,2}(RECURSIVE|PURE|ELEMENTA <*>"\\\\" { str+=yytext; /* ignore \\ */} <*>"\\\""|\\\' { str+=yytext; /* ignore \" */} +\n { // string with \n inside + str+=yytext; + startFontClass("stringliteral"); + codifyLines(str); + endFontClass(); + str = ""; + } \"|\' { // string ends with next quote without previous backspace if(yytext[0]!=stringStartSymbol) REJECT; // single vs double quote str+=yytext; diff --git a/src/fortranscanner.l b/src/fortranscanner.l index 69f6143..884d3bf 100644 --- a/src/fortranscanner.l +++ b/src/fortranscanner.l @@ -1638,84 +1638,84 @@ static QCString applyModifiers(QCString typeName, SymbolModifiers& mdfs) { if (!mdfs.dimension.isNull()) { - typeName += ", "; + if (!typeName.isEmpty()) typeName += ", "; typeName += mdfs.dimension; } if (mdfs.direction!=SymbolModifiers::NONE_D) { - typeName += ", "; + if (!typeName.isEmpty()) typeName += ", "; typeName += directionStrs[mdfs.direction]; } if (mdfs.optional) { - typeName += ", "; + if (!typeName.isEmpty()) typeName += ", "; typeName += "optional"; } if (mdfs.allocatable) { - typeName += ", "; + if (!typeName.isEmpty()) typeName += ", "; typeName += "allocatable"; } if (mdfs.external) { - typeName += ", "; + if (!typeName.isEmpty()) typeName += ", "; typeName += "external"; } if (mdfs.intrinsic) { - typeName += ", "; + if (!typeName.isEmpty()) typeName += ", "; typeName += "intrinsic"; } if (mdfs.parameter) { - typeName += ", "; + if (!typeName.isEmpty()) typeName += ", "; typeName += "parameter"; } if (mdfs.pointer) { - typeName += ", "; + if (!typeName.isEmpty()) typeName += ", "; typeName += "pointer"; } if (mdfs.target) { - typeName += ", "; + if (!typeName.isEmpty()) typeName += ", "; typeName += "target"; } if (mdfs.save) { - typeName += ", "; + if (!typeName.isEmpty()) typeName += ", "; typeName += "save"; } if (mdfs.deferred) { - typeName += ", "; + if (!typeName.isEmpty()) typeName += ", "; typeName += "deferred"; } if (mdfs.nonoverridable) { - typeName += ", "; + if (!typeName.isEmpty()) typeName += ", "; typeName += "non_overridable"; } if (mdfs.nopass) { - typeName += ", "; + if (!typeName.isEmpty()) typeName += ", "; typeName += "nopass"; } if (mdfs.pass) { - typeName += ", "; + if (!typeName.isEmpty()) typeName += ", "; typeName += "pass"; if (!mdfs.passVar.isEmpty()) typeName += "(" + mdfs.passVar + ")"; } if (mdfs.protection == SymbolModifiers::PUBLIC) { - typeName += ", "; + if (!typeName.isEmpty()) typeName += ", "; typeName += "public"; } else if (mdfs.protection == SymbolModifiers::PRIVATE) { - typeName += ", "; + if (!typeName.isEmpty()) typeName += ", "; typeName += "private"; } -- cgit v0.12