From 2ae3ed6594f3e4814b3b351eecc63b5e0be1bd37 Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Wed, 4 Mar 2009 21:11:18 +0000 Subject: Release-1.5.8-20090304 --- INSTALL | 4 +- README | 4 +- addon/doxywizard/expert.cpp | 2 +- addon/doxywizard/inputstring.cpp | 2 +- configure | 4 +- doc/config.doc | 22 +- doc/docblocks.doc | 4 +- doc/language.doc | 30 +- doc/language.tpl | 4 +- doc/maintainers.txt | 5 + doc/translator_report.txt | 84 +- doc/xmlcmds.doc | 2 +- src/classdef.cpp | 139 ++- src/code.l | 41 +- src/config.xml | 28 +- src/configoptions.cpp | 25 +- src/definition.cpp | 74 +- src/definition.h | 2 +- src/doxygen.cpp | 11 +- src/filedef.cpp | 17 +- src/fortranscanner.l | 59 +- src/lang_cfg.h | 3 +- src/language.cpp | 15 +- src/latexdocvisitor.cpp | 23 +- src/latexgen.cpp | 218 ++++- src/latexgen.h | 22 +- src/libdoxycfg.pro.in | 2 +- src/portable.cpp | 29 - src/portable.h | 11 +- src/portable_c.c | 24 + src/scanner.l | 14 +- src/translator_eo.h | 1780 ++++++++++++++++++++++++++++++++++++++ src/translator_es.h | 318 +++---- src/translator_jp.h | 222 ++++- src/translator_se.h | 1437 ------------------------------ src/translator_sv.h | 1662 +++++++++++++++++++++++++++++++++++ src/vhdlscanner.l | 4 + src/xmlgen.cpp | 2 +- 38 files changed, 4415 insertions(+), 1934 deletions(-) create mode 100644 src/portable_c.c create mode 100644 src/translator_eo.h delete mode 100644 src/translator_se.h create mode 100644 src/translator_sv.h diff --git a/INSTALL b/INSTALL index 3ae9eda..3633c8a 100644 --- a/INSTALL +++ b/INSTALL @@ -1,7 +1,7 @@ -DOXYGEN Version 1.5.8-20090129 +DOXYGEN Version 1.5.8-20090304 Please read the installation section of the manual (http://www.doxygen.org/install.html) for instructions. -------- -Dimitri van Heesch (29 January 2009) +Dimitri van Heesch (04 March 2009) diff --git a/README b/README index 3ae756e..d8e2c8c 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -DOXYGEN Version 1.5.8_20090129 +DOXYGEN Version 1.5.8_20090304 Please read INSTALL for compilation instructions. @@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives. Enjoy, -Dimitri van Heesch (dimitri@stack.nl) (29 January 2009) +Dimitri van Heesch (dimitri@stack.nl) (04 March 2009) diff --git a/addon/doxywizard/expert.cpp b/addon/doxywizard/expert.cpp index 1e0adb1..7c16c28 100644 --- a/addon/doxywizard/expert.cpp +++ b/addon/doxywizard/expert.cpp @@ -498,7 +498,7 @@ static QString getStringOption( bool Expert::htmlOutputPresent(const QString &workingDir) const { bool generateHtml = getBoolOption(m_options,QString::fromAscii("GENERATE_HTML")); - if (!generateHtml) return false; + if (!generateHtml || workingDir.isEmpty()) return false; QString indexFile = getHtmlOutputIndex(workingDir); QFileInfo fi(indexFile); return fi.exists() && fi.isFile(); diff --git a/addon/doxywizard/inputstring.cpp b/addon/doxywizard/inputstring.cpp index d3441c1..7b0aea0 100644 --- a/addon/doxywizard/inputstring.cpp +++ b/addon/doxywizard/inputstring.cpp @@ -101,7 +101,7 @@ void InputString::setValue(const QString &s) { m_lab->setText(QString::fromAscii("")+m_id+QString::fromAscii("")); } - if (m_le) m_le->setText( m_str ); + if (m_le && m_le->text()!=m_str) m_le->setText( m_str ); emit changed(); } } diff --git a/configure b/configure index 75e4f0d..618dd39 100755 --- a/configure +++ b/configure @@ -38,7 +38,7 @@ f_app=NO f_thread=NO f_flex=NO f_bison=NO -f_langs=nl,se,cz,fr,id,it,de,jp,je,es,fi,ru,hr,pl,pt,hu,kr,ke,ro,si,cn,no,br,dk,sk,ua,gr,tw,sr,ca,lt,za,ar,fa,vi,tr +f_langs=nl,sv,cz,fr,id,it,de,jp,je,es,fi,ru,hr,pl,pt,hu,kr,ke,ro,si,cn,no,br,dk,sk,ua,gr,tw,sr,ca,lt,za,ar,fa,vi,tr,eo while test -n "$1"; do case $1 in @@ -648,7 +648,7 @@ fi echo -n " Generating src/lang_cfg.h..." echo $f_langs | $f_perl -e '@l=split(/,/,); chomp @l; - @allowed=(split(/,/,"NL,SE,CZ,FR,ID,IT,DE,JP,JE,ES,FI,RU,HR,PL,PT,HU,KR,KE,RO,SI,CN,NO,MK,BR,DK,SK,UA,GR,TW,SR,CA,LT,ZA,AR,FA,SC,VI,TR")); + @allowed=(split(/,/,"NL,SV,CZ,FR,ID,IT,DE,JP,JE,ES,FI,RU,HR,PL,PT,HU,KR,KE,RO,SI,CN,NO,MK,BR,DK,SK,UA,GR,TW,SR,CA,LT,ZA,AR,FA,SC,VI,TR,EO")); foreach my $elem (@l){ $elem =~ tr/a-z/A-Z/; $r=0; diff --git a/doc/config.doc b/doc/config.doc index 6e0958a..8525593 100644 --- a/doc/config.doc +++ b/doc/config.doc @@ -1219,18 +1219,22 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn" If the tag is left blank doxygen will generate a standard header. - The following commands have a special meaning inside the header: - \$title, \$datetime, \$date, - \$doxygenversion, \$projectname, and - \$projectnumber. - Doxygen will replace them by respectively - the title of the page, the current date and time, only the current date, - the version number of doxygen, the project name (see \c PROJECT_NAME), or the - project number (see \c PROJECT_NUMBER). - + The following markers have a special meaning inside the header and footer: +
+
\$title
will be replaced with the title of the page. +
\$datetime
will be replaced with current the date and time. +
\$date
will be replaced with the current date. +
\$year
will be replaces with the current year. +
\$doxygenversion
will be replaced with the version of doxygen +
\$projectname
will be replaced with the name of + the project (see \c PROJECT_NAME) +
\$projectnumber
will be replaced with the project number + (see \c PROJECT_NUMBER) +
\$relpath\$
If \c CREATE_SUBDIRS is enabled, the command \$relpath\$ can be used to produce a relative path to the root of the HTML output directory, e.g. use \$relpath\$doxygen.css, to refer to the standard style sheet. +
See also section \ref doxygen_usage for information on how to generate the default header that doxygen normally uses. diff --git a/doc/docblocks.doc b/doc/docblocks.doc index 8ac55bb..ebbe879 100644 --- a/doc/docblocks.doc +++ b/doc/docblocks.doc @@ -70,7 +70,7 @@ In both cases the intermediate *'s are optional, so is also valid. -
  • A third alternative is to use a block of at least two C++ comment +
  • A third alternative is to use a block of at least two C++ comment lines, where each line starts with an additional slash or an exclamation mark. Here are examples of the two cases: @@ -88,6 +88,8 @@ or //! \endverbatim +Note that a blank line ends a documentation block in this case. +
  • Some people like to make their comment blocks more visible in the diff --git a/doc/language.doc b/doc/language.doc index e5e3774..884fce8 100644 --- a/doc/language.doc +++ b/doc/language.doc @@ -23,14 +23,15 @@ text fragments, generated by doxygen, can be produced in languages other than English (the default). The output language is chosen through the configuration file (with default name and known as Doxyfile). -Currently (version 1.5.7.1), 37 languages +Currently (version 1.5.8), 38 languages are supported (sorted alphabetically): Afrikaans, Arabic, Brazilian Portuguese, Catalan, Chinese, Chinese -Traditional, Croatian, Czech, Danish, Dutch, English, Finnish, French, -German, Greek, Hungarian, Indonesian, Italian, Japanese (+En), Korean -(+En), Lithuanian, Macedonian, Norwegian, Persian, Polish, Portuguese, -Romanian, Russian, Serbian, SerbianCyrilic, Slovak, Slovene, Spanish, -Swedish, Turkish, Ukrainian, and Vietnamese.. +Traditional, Croatian, Czech, Danish, Dutch, English, Esperanto, +Finnish, French, German, Greek, Hungarian, Indonesian, Italian, +Japanese (+En), Korean (+En), Lithuanian, Macedonian, Norwegian, +Persian, Polish, Portuguese, Romanian, Russian, Serbian, +SerbianCyrilic, Slovak, Slovene, Spanish, Swedish, Turkish, Ukrainian, +and Vietnamese.. The table of information related to the supported languages follows. It is sorted by language alphabetically. The Status column @@ -118,6 +119,12 @@ when the translator was updated. up-to-date + Esperanto + Ander Martinez + dwarfnauko at gmail dot com + up-to-date + + Finnish Antti Laine antti.a.laine at tut dot fi @@ -223,7 +230,7 @@ when the translator was updated. Romanian Ionut Dumitrascu
    Alexandru Iosup reddumy at yahoo dot com
    aiosup at yahoo dot com - 1.4.1 + up-to-date Russian @@ -257,8 +264,8 @@ when the translator was updated. Spanish - Bartomeu
    Francisco Oltra Thennet - bartomeu at loteria3cornella dot com
    foltra at puc dot cl + Bartomeu
    Francisco Oltra Thennet
    David Vaquero + bartomeu at loteria3cornella dot com
    foltra at puc dot cl
    david at grupoikusnet dot com up-to-date @@ -325,6 +332,8 @@ when the translator was updated. \hline English & Dimitri van Heesch & {\tt\tiny dimitri@stack.nl} & up-to-date \\ \hline + Esperanto & Ander Martinez & {\tt\tiny dwarfnauko@gmail.com} & up-to-date \\ + \hline Finnish & Antti Laine & {\tt\tiny antti.a.laine@tut.fi} & up-to-date \\ \hline French & Xavier Outhier & {\tt\tiny xouthier@yahoo.fr} & 1.5.4 \\ @@ -368,7 +377,7 @@ when the translator was updated. \hline Portuguese & Rui Godinho Lopes & {\tt\tiny ruiglopes@yahoo.com} & 1.3.3 \\ \hline - Romanian & Ionut Dumitrascu & {\tt\tiny reddumy@yahoo.com} & 1.4.1 \\ + Romanian & Ionut Dumitrascu & {\tt\tiny reddumy@yahoo.com} & up-to-date \\ ~ & Alexandru Iosup & {\tt\tiny aiosup@yahoo.com} & ~ \\ \hline Russian & Alexandr Chelpanov & {\tt\tiny cav@cryptopro.ru} & up-to-date \\ @@ -383,6 +392,7 @@ when the translator was updated. \hline Spanish & Bartomeu & {\tt\tiny bartomeu@loteria3cornella.com} & up-to-date \\ ~ & Francisco Oltra Thennet & {\tt\tiny foltra@puc.cl} & ~ \\ + ~ & David Vaquero & {\tt\tiny david@grupoikusnet.com} & ~ \\ \hline Swedish & Mikael Hallin & {\tt\tiny mikaelhallin@yahoo.se} & 1.4.6 \\ \hline diff --git a/doc/language.tpl b/doc/language.tpl index f15fa00..ca1900e 100644 --- a/doc/language.tpl +++ b/doc/language.tpl @@ -62,10 +62,10 @@ Just follow these steps: at two places in the script:
    1. After the f_langs= is statement, in lower case. -
    2. In the string that following @allowed= in upper case. +
    3. In the string that following \@allowed= in upper case.
    The rerun the configure script such that is generates src/lang_cfg.h. -This file should now contain a #define for your language code. +This file should now contain a \#define for your language code.
  • Edit language.cpp: Add a \verbatim diff --git a/doc/maintainers.txt b/doc/maintainers.txt index 9c61314..c5f9f50 100644 --- a/doc/maintainers.txt +++ b/doc/maintainers.txt @@ -45,6 +45,9 @@ Dimitri van Heesch: dimitri@stack.nl TranslatorEnglish Dimitri van Heesch: dimitri@stack.nl +TranslatorEsperanto +Ander Martinez: dwarfnauko@gmail.com + TranslatorFinnish Antti Laine: antti.a.laine@tut.fi @@ -69,6 +72,7 @@ Alessandro Falappa: alessandro@falappa.net Ahmed Aldo Faisal: aaf23@cam.ac.uk TranslatorJapanese +Hiroki Iseri: goyoki@gmail.com Ryunosuke Satoh: sun594@hotmail.com Kenji Nagamatsu: naga@joyful.club.ne.jp Iwasa Kazmi: iwasa@cosmo-system.jp @@ -121,6 +125,7 @@ Matjaž Ostroveršnik: matjaz.ostroversnik@ostri.org TranslatorSpanish Bartomeu: bartomeu@loteria3cornella.com Francisco Oltra Thennet: foltra@puc.cl +David Vaquero: david@grupoikusnet.com TranslatorSwedish Mikael Hallin: mikaelhallin@yahoo.se diff --git a/doc/translator_report.txt b/doc/translator_report.txt index 9f1f670..771633d 100644 --- a/doc/translator_report.txt +++ b/doc/translator_report.txt @@ -1,15 +1,16 @@ -(1.5.7.1) +(1.5.8) -Doxygen supports the following 37 languages (sorted alphabetically): +Doxygen supports the following 38 languages (sorted alphabetically): Afrikaans, Arabic, Brazilian Portuguese, Catalan, Chinese, Chinese -Traditional, Croatian, Czech, Danish, Dutch, English, Finnish, French, -German, Greek, Hungarian, Indonesian, Italian, Japanese (+En), Korean -(+En), Lithuanian, Macedonian, Norwegian, Persian, Polish, Portuguese, -Romanian, Russian, Serbian, SerbianCyrilic, Slovak, Slovene, Spanish, -Swedish, Turkish, Ukrainian, and Vietnamese. - -Of them, 20 translators are up-to-date, 17 translators are based on +Traditional, Croatian, Czech, Danish, Dutch, English, Esperanto, +Finnish, French, German, Greek, Hungarian, Indonesian, Italian, +Japanese (+En), Korean (+En), Lithuanian, Macedonian, Norwegian, +Persian, Polish, Portuguese, Romanian, Russian, Serbian, +SerbianCyrilic, Slovak, Slovene, Spanish, Swedish, Turkish, Ukrainian, +and Vietnamese. + +Of them, 22 translators are up-to-date, 16 translators are based on some adapter class, and 2 are English based. ---------------------------------------------------------------------- @@ -26,16 +27,18 @@ still may be some details listed even for them: TranslatorCzech TranslatorDutch TranslatorEnglish - TranslatorFinnish -- Change the base class to Translator. + TranslatorEsperanto + TranslatorFinnish TranslatorGerman TranslatorItalian TranslatorKorean TranslatorMacedonian TranslatorPersian + TranslatorRomanian TranslatorRussian TranslatorSerbianCyrilic TranslatorSerbian - TranslatorSpanish -- Change the base class to Translator. + TranslatorSpanish TranslatorTurkish TranslatorVietnamese @@ -59,7 +62,6 @@ must be implemented to become up-to-date: TranslatorArabic 1.4.6 23 methods to implement TranslatorAfrikaans 1.4.6 24 methods to implement TranslatorUkrainian 1.4.1 24 methods to implement - TranslatorRomanian 1.4.1 24 methods to implement TranslatorPortuguese 1.3.3 35 methods to implement TranslatorSlovak 1.2.18 44 methods to implement @@ -79,6 +81,7 @@ The situation should be checked. The .cpp files and .h files excluding the '*translator*' files in doxygen/src directory were simply searched for occurence of the method identifiers: + QCString trDCOPMethods() QCString trFunctionPrototypeDocumentation() @@ -195,12 +198,6 @@ TranslatorDanish (TranslatorAdapter_1_5_4) 22 methods to implement virtual QCString trSubprogramDocumentation() -TranslatorFinnish (TranslatorEnglish) ------------------ - - Implements 216 of the required methods. - - TranslatorFrench (TranslatorAdapter_1_5_4) 22 methods to implement ---------------- @@ -600,51 +597,6 @@ TranslatorPortuguese (TranslatorAdapter_1_3_3) 35 methods to implement QCString trNoDescriptionAvailable() -TranslatorRomanian (TranslatorAdapter_1_4_1) 24 methods to implement ------------------- - - Implements 192 of the required methods. - - Missing methods (should be implemented): - - virtual QCString trCompoundMembersDescriptionFortran(bool extractAll) - virtual QCString trOverloadText() - virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType, bool single) - virtual QCString trSubprograms() - virtual QCString trModulesListDescription(bool extractAll) - virtual QCString trModulesList() - virtual QCString trTypeConstraints() - virtual QCString trMemberFunctionDocumentationFortran() - virtual QCString trCompoundListDescriptionFortran() - virtual QCString trTypeDocumentation() - virtual QCString trModuleReference(const char * namespaceName) - virtual QCString trModulesMemberDescription(bool extractAll) - virtual QCString trModulesMembers() - virtual QCString trModulesIndex() - virtual QCString trCompoundListFortran() - virtual QCString trDataTypes() - virtual QCString trCompoundIndexFortran() - virtual QCString trSubprogram(bool first_capital, bool singular) - virtual QCString trCallerGraph() - virtual QCString trCompoundReferenceFortran(const char * clName, ClassDef::CompoundType compType, bool isTemplate) - virtual QCString trType(bool first_capital, bool singular) - virtual QCString trModule(bool first_capital, bool singular) - virtual QCString trCompoundMembersFortran() - virtual QCString trSubprogramDocumentation() - - Obsolete methods (should be removed, never used): - - virtual QCString trHeaderFilesDescription() - virtual QCString trField(bool first_capital, bool singular) - virtual QCString trPackageDocumentation() - virtual QCString trSources() - virtual QCString trReimplementedForInternalReasons() - virtual QCString trInterfaces() - virtual QCString trHeaderFiles() - virtual QCString trBugsAndLimitations() - virtual QCString trNoDescriptionAvailable() - - TranslatorSlovak (TranslatorAdapter_1_2_18) 44 methods to implement ---------------- @@ -743,12 +695,6 @@ TranslatorSlovene (TranslatorAdapter_1_4_6) 24 methods to implement virtual QCString trSubprogramDocumentation() -TranslatorSpanish (TranslatorAdapter_1_5_4) ------------------ - - Implements 216 of the required methods. - - TranslatorSwedish (TranslatorAdapter_1_4_6) 24 methods to implement ----------------- diff --git a/doc/xmlcmds.doc b/doc/xmlcmds.doc index 7fdf034..40c1f30 100644 --- a/doc/xmlcmds.doc +++ b/doc/xmlcmds.doc @@ -51,7 +51,7 @@ Here is the list of tags supported by doxygen:
  • \ Refers to a parameter with name "paramName". Similar to using \ref cmda "\\a".
  • \ Identifies the security accessibility of a member. - Ignored by doygen. + Ignored by doxygen.
  • \ Identifies the detailed description.
  • \ Marks a piece of text as the return value of a function or method. Similar to using \ref cmdreturn "\\return". diff --git a/src/classdef.cpp b/src/classdef.cpp index b20a222..7bd4b48 100644 --- a/src/classdef.cpp +++ b/src/classdef.cpp @@ -942,89 +942,86 @@ void ClassDef::showUsedFiles(OutputList &ol) ol.pushGeneratorState(); ol.disable(OutputGenerator::Man); bool fortranOpt = Config_getBool("OPTIMIZE_FOR_FORTRAN"); - //if (Config_getBool("SHOW_USED_FILES")) - //{ - ol.writeRuler(); - if (fortranOpt) - { - ol.parseText(theTranslator->trGeneratedFromFilesFortran( + + ol.writeRuler(); + if (fortranOpt) + { + ol.parseText(theTranslator->trGeneratedFromFilesFortran( m_impl->isObjC && m_impl->compType==Interface ? Class : m_impl->compType, m_impl->files.count()==1)); - } - else - { - ol.parseText(theTranslator->trGeneratedFromFiles( + } + else + { + ol.parseText(theTranslator->trGeneratedFromFiles( m_impl->isObjC && m_impl->compType==Interface ? Class : m_impl->compType, m_impl->files.count()==1)); - } - + } - bool first=TRUE; - const char *file = m_impl->files.first(); - while (file) + + bool first=TRUE; + const char *file = m_impl->files.first(); + while (file) + { + bool ambig; + FileDef *fd=findFileDef(Doxygen::inputNameDict,file,ambig); + if (fd) { - bool ambig; - FileDef *fd=findFileDef(Doxygen::inputNameDict,file,ambig); - if (fd) + if (first) { - if (first) - { - first=FALSE; - ol.startItemList(); - } - - ol.writeListItem(); - QCString path=fd->getPath(); - if (Config_getBool("FULL_PATH_NAMES")) - { - ol.docify(stripFromPath(path)); - } - - QCString fname = fd->name(); - if (!fd->getVersion().isEmpty()) // append version if available - { - fname += " (" + fd->getVersion() + ")"; - } + first=FALSE; + ol.startItemList(); + } - // for HTML - ol.pushGeneratorState(); - ol.disableAllBut(OutputGenerator::Html); - if (fd->generateSourceFile()) - { - ol.writeObjectLink(0,fd->getSourceFileBase(),0,fname); - } - else if (fd->isLinkable()) - { - ol.writeObjectLink(fd->getReference(),fd->getOutputFileBase(),0, - fname); - } - else - { - ol.docify(fname); - } - ol.popGeneratorState(); + ol.writeListItem(); + QCString path=fd->getPath(); + if (Config_getBool("FULL_PATH_NAMES")) + { + ol.docify(stripFromPath(path)); + } - // for other output formats - ol.pushGeneratorState(); - ol.disable(OutputGenerator::Html); - if (fd->isLinkable()) - { - ol.writeObjectLink(fd->getReference(),fd->getOutputFileBase(),0, - fname); - } - else - { - ol.docify(fname); - } + QCString fname = fd->name(); + if (!fd->getVersion().isEmpty()) // append version if available + { + fname += " (" + fd->getVersion() + ")"; + } - ol.popGeneratorState(); + // for HTML + ol.pushGeneratorState(); + ol.disableAllBut(OutputGenerator::Html); + if (fd->generateSourceFile()) + { + ol.writeObjectLink(0,fd->getSourceFileBase(),0,fname); + } + else if (fd->isLinkable()) + { + ol.writeObjectLink(fd->getReference(),fd->getOutputFileBase(),0, + fname); + } + else + { + ol.docify(fname); + } + ol.popGeneratorState(); - + // for other output formats + ol.pushGeneratorState(); + ol.disable(OutputGenerator::Html); + if (fd->isLinkable()) + { + ol.writeObjectLink(fd->getReference(),fd->getOutputFileBase(),0, + fname); } - file=m_impl->files.next(); + else + { + ol.docify(fname); + } + + ol.popGeneratorState(); } - if (!first) ol.endItemList(); - //} + file=m_impl->files.next(); + } + if (!first) ol.endItemList(); + ol.popGeneratorState(); } @@ -2752,7 +2749,7 @@ QCString ClassDef::getSourceFileBase() const } else { - return convertNameToFile(m_impl->fileName+"-source"); + return convertNameToFile(m_impl->fileName)+"_source"; } } diff --git a/src/code.l b/src/code.l index 69e01c4..c4a1a29 100644 --- a/src/code.l +++ b/src/code.l @@ -842,7 +842,7 @@ static bool getLinkInScope(const QCString &c, // scope FileDef *fd; NamespaceDef *nd; GroupDef *gd; - //printf("getLinkInScope: trying `%s'::`%s'\n",c.data(),m.data()); + //fprintf(stderr,"getLinkInScope: trying `%s'::`%s'\n",c.data(),m.data()); if (getDefs(c,m,"()",md,cd,fd,nd,gd,FALSE,g_sourceFileDef) && md->isLinkable()) { @@ -862,7 +862,7 @@ static bool getLinkInScope(const QCString &c, // scope Definition *d = md->getOuterScope()==Doxygen::globalScope ? md->getBodyDef() : md->getOuterScope(); if (md->getGroupDef()) d = md->getGroupDef(); - //printf("d=%p linkable=%d\n",d,d?d->isLinkable():0); + //fprintf(stderr,"d=%p linkable=%d\n",d,d?d->isLinkable():0); if (d && d->isLinkable()) { g_theCallContext.setClass(stripClassName(md->typeString())); @@ -1009,7 +1009,7 @@ static void generateClassOrGlobalLink(CodeOutputInterface &ol,char *clName, } else // not a class, maybe a global member { - //printf("class %s not linkable! cd=%p md=%p typeOnly=%d\n",clName,cd,md,typeOnly); + //fprintf(stderr,"class %s not linkable! cd=%p md=%p typeOnly=%d\n",clName,cd,md,typeOnly); if (!isLocal && (md!=0 || (cd==0 && !typeOnly))) // not a class, see if it is a global enum/variable/typedef. { if (md==0) // not found as a typedef @@ -1032,7 +1032,7 @@ static void generateClassOrGlobalLink(CodeOutputInterface &ol,char *clName, } if (md) { - //printf("is a global md=%p g_currentDefinition=%s\n",md,g_currentDefinition?g_currentDefinition->name().data():""); + //fprintf(stderr,"is a global md=%p g_currentDefinition=%s linkable=%d\n",md,g_currentDefinition?g_currentDefinition->name().data():"",md->isLinkable()); if (md->isLinkable()) { ol.linkableSymbol(g_yyLineNr,md->name(),md, @@ -1049,6 +1049,7 @@ static void generateClassOrGlobalLink(CodeOutputInterface &ol,char *clName, } // nothing found, just write out the word + //fprintf(stderr,"not found!\n"); ol.linkableSymbol(g_yyLineNr,clName,0, g_currentMemberDef?g_currentMemberDef:g_currentDefinition); codifyLines(clName); @@ -1085,27 +1086,30 @@ static bool generateClassMemberLink(CodeOutputInterface &ol,MemberDef *xmd,const Definition *xd = xmd->getOuterScope()==Doxygen::globalScope ? xmd->getBodyDef() : xmd->getOuterScope(); if (xmd->getGroupDef()) xd = xmd->getGroupDef(); - if (xd) + if (xd && xd->isLinkable()) { //printf("g_currentDefiniton=%p g_currentMemberDef=%p xmd=%p g_insideBody=%d\n",g_currentDefinition,g_currentMemberDef,xmd,g_insideBody); if (xmd->templateMaster()) xmd = xmd->templateMaster(); - // add usage reference - if (g_currentDefinition && g_currentMemberDef && - /*xmd!=g_currentMemberDef &&*/ g_insideBody) + if (xmd->isLinkable()) { - addDocCrossReference(g_currentMemberDef,xmd); - } + // add usage reference + if (g_currentDefinition && g_currentMemberDef && + /*xmd!=g_currentMemberDef &&*/ g_insideBody) + { + addDocCrossReference(g_currentMemberDef,xmd); + } - // write the actual link - ol.linkableSymbol(g_yyLineNr,xmd->name(),xmd, - g_currentMemberDef ? g_currentMemberDef : g_currentDefinition); - writeMultiLineCodeLink(ol,xmd->getReference(), - xmd->getOutputFileBase(),xmd->anchor(),memName,xmd->briefDescriptionAsTooltip()); - addToSearchIndex(memName); - return TRUE; + // write the actual link + ol.linkableSymbol(g_yyLineNr,xmd->name(),xmd, + g_currentMemberDef ? g_currentMemberDef : g_currentDefinition); + writeMultiLineCodeLink(ol,xmd->getReference(), + xmd->getOutputFileBase(),xmd->anchor(),memName,xmd->briefDescriptionAsTooltip()); + addToSearchIndex(memName); + return TRUE; + } } return FALSE; @@ -2993,6 +2997,9 @@ OPERATOR {ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP} endFontClass(); BEGIN( g_lastCContext ) ; } +[^\r\n]*"\\"[\r]?\n { // line continuation + codifyLines(yytext); + } [^\r\n]+ { g_code->codify(yytext); } diff --git a/src/config.xml b/src/config.xml index 83a3701..9d6e144 100644 --- a/src/config.xml +++ b/src/config.xml @@ -35,11 +35,11 @@ documentation generated by doxygen is written. Doxygen will use this information to generate all constant output in the proper language. The default language is English, other supported languages are: Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, -Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), -Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, -Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene, -Spanish, Swedish, and Ukrainian. +Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, +Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English +messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, +Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, +Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. '> @@ -52,6 +52,8 @@ Spanish, Swedish, and Ukrainian. + + @@ -63,7 +65,7 @@ Spanish, Swedish, and Ukrainian. - + @@ -74,7 +76,9 @@ Spanish, Swedish, and Ukrainian. + +