diff options
-rw-r--r-- | INSTALL | 4 | ||||
-rw-r--r-- | README | 4 | ||||
-rw-r--r-- | VERSION | 2 | ||||
-rw-r--r-- | packages/rpm/doxygen.spec | 2 | ||||
-rw-r--r-- | src/Makefile.in | 10 | ||||
-rw-r--r-- | src/classdef.cpp | 21 | ||||
-rw-r--r-- | src/classdef.h | 3 | ||||
-rw-r--r-- | src/classlist.cpp | 4 | ||||
-rw-r--r-- | src/config.h | 4 | ||||
-rw-r--r-- | src/config.l | 7 | ||||
-rw-r--r-- | src/definition.cpp | 6 | ||||
-rw-r--r-- | src/doxygen.cpp | 2 | ||||
-rw-r--r-- | src/ftvhelp.cpp | 192 | ||||
-rwxr-xr-x | src/increasebuffer.pl | 8 | ||||
-rw-r--r-- | src/index.cpp | 124 | ||||
-rw-r--r-- | src/latexgen.cpp | 56 | ||||
-rw-r--r-- | src/libdoxygen.t | 3 | ||||
-rw-r--r-- | src/memberdef.cpp | 19 | ||||
-rw-r--r-- | src/scanner.l | 24 | ||||
-rw-r--r-- | src/translator_cz.h | 4 | ||||
-rw-r--r-- | src/translator_jp.h | 6 | ||||
-rw-r--r-- | src/util.cpp | 36 |
22 files changed, 199 insertions, 342 deletions
@@ -1,7 +1,7 @@ -DOXYGEN Version 1.3-rc3-20030308 +DOXYGEN Version 1.3-rc3-20030317 Please read the installation section of the manual (http://www.doxygen.org/install.html) for instructions. -------- -Dimitri van Heesch (08 March 2003) +Dimitri van Heesch (17 March 2003) @@ -1,4 +1,4 @@ -DOXYGEN Version 1.3_rc3_20030308 +DOXYGEN Version 1.3_rc3_20030317 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) (08 March 2003) +Dimitri van Heesch (dimitri@stack.nl) (17 March 2003) @@ -1 +1 @@ -1.3-rc3-20030308 +1.3-rc3-20030317 diff --git a/packages/rpm/doxygen.spec b/packages/rpm/doxygen.spec index 570e5e2..aa1b72d 100644 --- a/packages/rpm/doxygen.spec +++ b/packages/rpm/doxygen.spec @@ -1,6 +1,6 @@ Summary: A documentation system for C/C++. Name: doxygen -Version: 1.3_rc3_20030308 +Version: 1.3_rc3_20030317 Release: 1 Epoch: 1 Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz diff --git a/src/Makefile.in b/src/Makefile.in index 689efb7..226d891 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -15,11 +15,11 @@ # all: Makefile.libdoxygen Makefile.libdoxycfg Makefile.doxygen Makefile.doxytag Makefile.doxysearch Makefile - $(MAKE) -f Makefile.libdoxycfg $@ - $(MAKE) -f Makefile.libdoxygen $@ - $(MAKE) -f Makefile.doxygen $@ - $(MAKE) -f Makefile.doxytag $@ - $(MAKE) -f Makefile.doxysearch $@ + $(MAKE) -f Makefile.libdoxycfg PERL=$(PERL) $@ + $(MAKE) -f Makefile.libdoxygen PERL=$(PERL) $@ + $(MAKE) -f Makefile.doxygen PERL=$(PERL) $@ + $(MAKE) -f Makefile.doxytag PERL=$(PERL) $@ + $(MAKE) -f Makefile.doxysearch PERL=$(PERL) $@ Makefile.libdoxygen: libdoxygen.pro libdoxygen.t $(ENV) $(PERL) $(TMAKE) libdoxygen.pro >Makefile.libdoxygen diff --git a/src/classdef.cpp b/src/classdef.cpp index 5fd5254..39e37f5 100644 --- a/src/classdef.cpp +++ b/src/classdef.cpp @@ -98,6 +98,8 @@ ClassDef::ClassDef( m_isAbstract = FALSE; m_isStatic = FALSE; m_membersMerged = FALSE; + QCString ns; + extractNamespaceName(m_name,m_className,ns); if (((QCString)defFileName).right(5)!=".java" && guessSection(defFileName)==Entry::SOURCE_SEC) @@ -132,7 +134,7 @@ QCString ClassDef::displayName() const QCString n; if (Config_getBool("HIDE_SCOPE_NAMES")) { - n=localName(); + n=m_className; } else { @@ -2519,14 +2521,15 @@ QCString ClassDef::qualifiedNameWithTemplateParameters( QCString ClassDef::className() const { - QCString className=m_localName; - Definition *p=getOuterScope(); - while (p && p->definitionType()==TypeClass) - { - className.prepend(p->localName()+"::"); - p=p->getOuterScope(); - } - return className; + //QCString className=m_localName; + //Definition *p=getOuterScope(); + //while (p && p->definitionType()==TypeClass) + //{ + // className.prepend(p->localName()+"::"); + // p=p->getOuterScope(); + //} + //return className; + return m_className; }; void ClassDef::addListReferences() diff --git a/src/classdef.h b/src/classdef.h index 2292e2d..5049d11 100644 --- a/src/classdef.h +++ b/src/classdef.h @@ -414,6 +414,9 @@ class ClassDef : public Definition /*! TRUE if the class is defined in a source file rather than a header file. */ bool m_isLocal; + + /*! class name with outer class scope, but without namespace scope. */ + QCString m_className; }; /*! \brief Class that contains information about a usage relation. diff --git a/src/classlist.cpp b/src/classlist.cpp index 06614b8..d234312 100644 --- a/src/classlist.cpp +++ b/src/classlist.cpp @@ -103,13 +103,13 @@ void ClassSDict::writeDeclaration(OutputList &ol,const ClassDef::CompoundType *f ol.writeObjectLink(cd->getReference(), cd->getOutputFileBase(), 0, - cd->localName() + cd->className() ); } else { ol.startBold(); - ol.docify(cd->localName()); + ol.docify(cd->className()); ol.endBold(); } ol.endMemberItem(); diff --git a/src/config.h b/src/config.h index 4780c95..5869add 100644 --- a/src/config.h +++ b/src/config.h @@ -125,6 +125,7 @@ class ConfigList : public ConfigOption t << "\n"; } void substEnvVars(); + void init() { m_value.clear(); } private: QStrList m_value; WidgetType m_widgetType; @@ -244,7 +245,7 @@ class ConfigInt : public ConfigOption t << endl; } t << m_name << m_spaces.left(MAX_OPTION_LENGTH-m_name.length()) << "= "; - if (upd) + if (upd && !m_valueString.isEmpty()) { writeStringValue(t,m_valueString); } @@ -281,6 +282,7 @@ class ConfigBool : public ConfigOption bool *valueRef() { return &m_value; } void convertStrToVal(); void substEnvVars(); + void setValueString(const QCString &v) { m_valueString = v; } void writeTemplate(QTextStream &t,bool sl,bool upd) { if (!sl) diff --git a/src/config.l b/src/config.l index 67b1f62..7823412 100644 --- a/src/config.l +++ b/src/config.l @@ -1218,6 +1218,13 @@ void Config::check() PUTENV(buf); } + if (Config_getBool("OPTIMIZE_OUTPUT_JAVA") && Config_getBool("INLINE_INFO")) + { + // don't show inline info for Java output, since Java has no inline + // concept. + Config_getBool("INLINE_INFO")=FALSE; + } + } void Config::init() diff --git a/src/definition.cpp b/src/definition.cpp index 583b55d..5d64a00 100644 --- a/src/definition.cpp +++ b/src/definition.cpp @@ -31,13 +31,19 @@ Definition::Definition(const char *df,int dl, const char *name,const char *b,const char *d) { + //QCString ns; m_defFileName = df; m_defLine = dl; m_name=name; if (m_name!="<globalScope>") + { + //extractNamespaceName(m_name,m_localName,ns); m_localName=stripScope(name); + } else + { m_localName=name; + } //printf("m_localName=%s\n",m_localName.data()); m_brief=b; m_doc=d; diff --git a/src/doxygen.cpp b/src/doxygen.cpp index f25adf4..c72fe21 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -7521,6 +7521,8 @@ void parseInput() int sp;for (sp=0;sp<tabSize;sp++) spaces.at(sp)=' '; spaces.at(tabSize)='\0'; + compoundKeywordDict.insert("template class",(void *)8); + compoundKeywordDict.insert("template struct",(void *)8); compoundKeywordDict.insert("class",(void *)8); compoundKeywordDict.insert("struct",(void *)8); compoundKeywordDict.insert("union",(void *)8); diff --git a/src/ftvhelp.cpp b/src/ftvhelp.cpp index c010692..605181b 100644 --- a/src/ftvhelp.cpp +++ b/src/ftvhelp.cpp @@ -23,12 +23,6 @@ #define MAX_INDENT 1024 -#if 0 -const char treeview_data[]= -#include "treeview.h" -; -#endif - unsigned char ftv2blank_png[] = { 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x16, @@ -348,116 +342,6 @@ struct FTVNode FTVNode *parent; }; -#if 0 -static void generateFolderTreeViewData() -{ - // Generate tree view script - QCString fileName=Config_getString("HTML_OUTPUT")+"/treeview.js"; - QFile f(fileName); - if (!f.open(IO_WriteOnly)) - { - err("Cannot open file %s for writing!\n",fileName.data()); - return; - } - else - { - QTextStream t(&f); - t << treeview_data; - f.close(); - } - - // Generate alternative index.html as a frame - fileName=Config_getString("HTML_OUTPUT")+"/index"+Doxygen::htmlFileExtension; - f.setName(fileName); - if (!f.open(IO_WriteOnly)) - { - err("Cannot open file %s for writing!\n",fileName.data()); - return; - } - else - { - QTextStream t(&f); -#if QT_VERSION >= 200 - t.setEncoding(QTextStream::Latin1); -#endif - t << "<html><head>"; - t << "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=" - << theTranslator->idLanguageCharset() << "\">\n"; - t << "<title>"; - if (Config_getString("PROJECT_NAME").isEmpty()) - { - t << "Doxygen Documentation"; - } - else - { - t << Config_getString("PROJECT_NAME"); - } - t << "</title></head>" << endl; - t << "<frameset cols=\"" << Config_getInt("TREEVIEW_WIDTH") << ",*\">" << endl; - t << " <frame src=\"tree" << Doxygen::htmlFileExtension << "\" name=\"treefrm\">" << endl; - t << " <frame src=\"main" << Doxygen::htmlFileExtension << "\" name=\"basefrm\">" << endl; - t << "</frameset>" << endl; - t << "</html>" << endl; - f.close(); - } - - // Generate tree view frame - fileName=Config_getString("HTML_OUTPUT")+"/tree"+Doxygen::htmlFileExtension; - f.setName(fileName); - if (!f.open(IO_WriteOnly)) - { - err("Cannot open file %s for writing!\n",fileName.data()); - return; - } - else - { - QTextStream t(&f); - t << "<html><head>" << endl; - t << "<link rel=\"stylesheet\" href=\""; - QCString cssname=Config_getString("HTML_STYLESHEET"); - if (cssname.isEmpty()) - { - t << "doxygen.css"; - } - else - { - QFileInfo cssfi(cssname); - if (!cssfi.exists()) - { - err("Error: user specified HTML style sheet file does not exist!\n"); - } - t << cssfi.fileName(); - } - t << "\">" << endl; - t << "<script src=\"treeview.js\"></script>" << endl; - t << "<script src=\"tree.js\"></script>" << endl; - t << "<script>" << endl; - t << "initializeDocument()" << endl; - t << "</script>" << endl; - t << "</head>" << endl; - t << "<body bgcolor=\"#ffffff\">" << endl; - t << "</body>" << endl; - t << "</html>" << endl; - f.close(); - } - - // Generate tree view images - ImageInfo *p = image_info; - while (p->name) - { - QCString fileName=Config_getString("HTML_OUTPUT")+"/"+p->name; - QFile f(fileName); - if (f.open(IO_WriteOnly)) - f.writeBlock((char *)p->data,p->len); - else - { - fprintf(stderr,"Warning: Cannot open file %s for writing\n",fileName.data()); - } - f.close(); - p++; - } -} -#endif //---------------------------------------------------------------------------- @@ -495,32 +379,6 @@ FTVHelp *FTVHelp::getInstance() */ void FTVHelp::initialize() { -#if 0 - /* open the contents file */ - QCString fName = Config_getString("HTML_OUTPUT") + "/tree.js"; - m_cf = new QFile(fName); - if (!m_cf->open(IO_WriteOnly)) - { - err("Could not open file %s for writing\n",fName.data()); - exit(1); - } - /* Write the header of the contents file */ - m_cts.setDevice(m_cf); -#if QT_VERSION >= 200 - m_cts.setEncoding(QTextStream::Latin1); -#endif - - m_cts << "foldersTree = gFld(\"<b>"; - if (Config_getString("PROJECT_NAME").isEmpty()) - { - m_cts << "Root"; - } - else - { - m_cts << Config_getString("PROJECT_NAME"); - } - m_cts << "</b>\", \"\", \"\")\n"; -#endif } /*! Finalizes the FTV help. This will finish and close the @@ -594,52 +452,6 @@ void FTVHelp::addContentsItem(bool isDir, newNode->parent = pnl->getLast(); } -#if 0 - int i; for (i=0;i<m_dc;i++) m_cts << " "; - QCString parent; - QCString tagName = ref; - QCString tagDir; - if (ref) - { - tagName += ":"; - QCString *s = Doxygen::tagDestinationDict[ref]; - if (s) - { - tagDir = *s + "/"; - tagName += tagDir; - } - } - if (m_dc==0) parent="foldersTree"; else parent.sprintf("aux%d",m_dc); - if (isDir) // directory entry - { - m_cts << "aux" << m_dc+1 << " = insFld(" << parent << ", gFld(\"" - << name << "\", \"" << tagName << "\", "; - if (file) // file optional param - { - m_cts << "\"" << tagDir << file << Doxygen::htmlFileExtension << "\"))"; - } - else - { - m_cts << "\"\"))"; - } - } - else // text entry - { - m_cts << " insDoc(" << parent << ", gLnk(\"" - << name << "\", \"" << tagName << "\", "; - if (file) // ref optional param - { - m_cts << "\"" << tagDir << file << Doxygen::htmlFileExtension; - if (anchor) m_cts << "#" << anchor; - m_cts << "\"))"; - } - else - { - m_cts << "\"\"))"; - } - } - m_cts << "\n"; -#endif } static int folderId=1; @@ -767,6 +579,7 @@ void FTVHelp::generateTreeView() #if QT_VERSION >= 200 t.setEncoding(QTextStream::Latin1); #endif + t << "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n"; t << "<html><head>"; t << "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=" << theTranslator->idLanguageCharset() << "\">\n"; @@ -801,7 +614,8 @@ void FTVHelp::generateTreeView() QTextStream t(&f); t << "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\n"; t << " <head>\n"; - t << " <meta http-equiv=\"Content-Type\" content=\"text/xhtml; charset=ISO-8859-1\" />\n"; + t << " <meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=\"" + << theTranslator->idLanguageCharset() << "\" />\n"; t << " <meta http-equiv=\"Content-Style-Type\" content=\"text/css\" />\n"; t << " <meta http-equiv=\"Content-Language\" content=\"en\" />\n"; t << " <link rel=\"stylesheet\" href=\""; diff --git a/src/increasebuffer.pl b/src/increasebuffer.pl new file mode 100755 index 0000000..056a6b5 --- /dev/null +++ b/src/increasebuffer.pl @@ -0,0 +1,8 @@ +# Since the internal token buffer of a generated flex file is hardcoded +# to 16K, this script is used to increase the buffer size of a flex +# generated scanner to 256K. +while (<>) +{ + s/YY_BUF_SIZE 16384/YY_BUF_SIZE 262144/g; + print $_; +} diff --git a/src/index.cpp b/src/index.cpp index eac41e1..95698b6 100644 --- a/src/index.cpp +++ b/src/index.cpp @@ -1397,9 +1397,10 @@ void writeAlphabeticalClassList(OutputList &ol) } else if (cd) // a real class, insert a link { - QCString namesp; - if (cd->getNamespaceDef()) namesp=cd->getNamespaceDef()->displayName(); - QCString cname=cd->className(); + QCString namesp,cname; + //if (cd->getNamespaceDef()) namesp=cd->getNamespaceDef()->displayName(); + //QCString cname=cd->className(); + extractNamespaceName(cd->name(),cname,namesp); ol.writeObjectLink(cd->getReference(), cd->getOutputFileBase(),0,cname); @@ -2401,30 +2402,36 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd,int level) { if (members->count()>0) { - if(htmlHelp) - { - htmlHelp->addContentsItem(TRUE, convertToHtml(pMemInfo->name), gd->getOutputFileBase(),0); - htmlHelp->incContentsDepth(); - } - - if(ftvHelp) - { - - ftvHelp->addContentsItem(TRUE, gd->getReference(), gd->getOutputFileBase(), 0, pMemInfo->name); - ftvHelp->incContentsDepth(); - } - + bool first=TRUE; MemberDef *md=members->first(); while (md) { - GroupDef *gd=md->getGroupDef(); - if(htmlHelp) - { - htmlHelp->addContentsItem(FALSE,md->name(),gd->getOutputFileBase(),md->anchor()); - } - if(ftvHelp) + if (md->isDetailedSectionVisible(TRUE)) { - ftvHelp->addContentsItem(FALSE,gd->getReference(),gd->getOutputFileBase(),md->anchor(),md->name()); + if (first) + { + first=FALSE; + if(htmlHelp) + { + htmlHelp->addContentsItem(TRUE, convertToHtml(pMemInfo->name), gd->getOutputFileBase(),0); + htmlHelp->incContentsDepth(); + } + if(ftvHelp) + { + + ftvHelp->addContentsItem(TRUE, gd->getReference(), gd->getOutputFileBase(), 0, pMemInfo->name); + ftvHelp->incContentsDepth(); + } + } + GroupDef *gd=md->getGroupDef(); + if(htmlHelp) + { + htmlHelp->addContentsItem(FALSE,md->name(),gd->getOutputFileBase(),md->anchor()); + } + if(ftvHelp) + { + ftvHelp->addContentsItem(FALSE,gd->getReference(),gd->getOutputFileBase(),md->anchor(),md->name()); + } } md=members->next(); } @@ -2830,41 +2837,44 @@ void writeIndex(OutputList &ol) // parseText(ol,projPrefix+theTranslator->trPackageList()); // ol.endIndexSection(isPackageIndex); //} - if (documentedGroups>0) - { - ol.startIndexSection(isModuleIndex); - ol.parseText(projPrefix+theTranslator->trModuleIndex()); - ol.endIndexSection(isModuleIndex); - } - if (documentedNamespaces>0) + if (!Config_getBool("LATEX_HIDE_INDICES")) { - ol.startIndexSection(isNamespaceIndex); - ol.parseText(projPrefix+theTranslator->trNamespaceIndex()); - ol.endIndexSection(isNamespaceIndex); - } - if (hierarchyClasses>0) - { - ol.startIndexSection(isClassHierarchyIndex); - ol.parseText(projPrefix+theTranslator->trHierarchicalIndex()); - ol.endIndexSection(isClassHierarchyIndex); - } - if (annotatedClasses>0) - { - ol.startIndexSection(isCompoundIndex); - ol.parseText(projPrefix+theTranslator->trCompoundIndex()); - ol.endIndexSection(isCompoundIndex); - } - if (documentedFiles>0) - { - ol.startIndexSection(isFileIndex); - ol.parseText(projPrefix+theTranslator->trFileIndex()); - ol.endIndexSection(isFileIndex); - } - if (indexedPages>0) - { - ol.startIndexSection(isPageIndex); - ol.parseText(projPrefix+theTranslator->trPageIndex()); - ol.endIndexSection(isPageIndex); + if (documentedGroups>0) + { + ol.startIndexSection(isModuleIndex); + ol.parseText(projPrefix+theTranslator->trModuleIndex()); + ol.endIndexSection(isModuleIndex); + } + if (documentedNamespaces>0) + { + ol.startIndexSection(isNamespaceIndex); + ol.parseText(projPrefix+theTranslator->trNamespaceIndex()); + ol.endIndexSection(isNamespaceIndex); + } + if (hierarchyClasses>0) + { + ol.startIndexSection(isClassHierarchyIndex); + ol.parseText(projPrefix+theTranslator->trHierarchicalIndex()); + ol.endIndexSection(isClassHierarchyIndex); + } + if (annotatedClasses>0) + { + ol.startIndexSection(isCompoundIndex); + ol.parseText(projPrefix+theTranslator->trCompoundIndex()); + ol.endIndexSection(isCompoundIndex); + } + if (documentedFiles>0) + { + ol.startIndexSection(isFileIndex); + ol.parseText(projPrefix+theTranslator->trFileIndex()); + ol.endIndexSection(isFileIndex); + } + if (indexedPages>0) + { + ol.startIndexSection(isPageIndex); + ol.parseText(projPrefix+theTranslator->trPageIndex()); + ol.endIndexSection(isPageIndex); + } } ol.lastIndexPage(); //if (documentedPackages>0) diff --git a/src/latexgen.cpp b/src/latexgen.cpp index 5bb5784..4fddb41 100644 --- a/src/latexgen.cpp +++ b/src/latexgen.cpp @@ -460,7 +460,6 @@ void LatexGenerator::startProjectNumber() void LatexGenerator::startIndexSection(IndexSections is) { bool &compactLatex = Config_getBool("COMPACT_LATEX"); - bool &hideIndex = Config_getBool("LATEX_HIDE_INDICES"); QCString &latexHeader = Config_getString("LATEX_HEADER"); switch (is) { @@ -492,46 +491,28 @@ void LatexGenerator::startIndexSection(IndexSections is) // t << "{"; //Package Index}\n" // break; case isModuleIndex: - if (!hideIndex) - { - if (compactLatex) t << "\\section"; else t << "\\chapter"; - t << "{"; //Module Index}\n" - } + if (compactLatex) t << "\\section"; else t << "\\chapter"; + t << "{"; //Module Index}\n" break; case isNamespaceIndex: - if (!hideIndex) - { - if (compactLatex) t << "\\section"; else t << "\\chapter"; - t << "{"; //Namespace Index}\" - } + if (compactLatex) t << "\\section"; else t << "\\chapter"; + t << "{"; //Namespace Index}\" break; case isClassHierarchyIndex: - if (!hideIndex) - { - if (compactLatex) t << "\\section"; else t << "\\chapter"; - t << "{"; //Hierarchical Index}\n" - } + if (compactLatex) t << "\\section"; else t << "\\chapter"; + t << "{"; //Hierarchical Index}\n" break; case isCompoundIndex: - if (!hideIndex) - { - if (compactLatex) t << "\\section"; else t << "\\chapter"; - t << "{"; //Annotated Compound Index}\n" - } + if (compactLatex) t << "\\section"; else t << "\\chapter"; + t << "{"; //Annotated Compound Index}\n" break; case isFileIndex: - if (!hideIndex) - { - if (compactLatex) t << "\\section"; else t << "\\chapter"; - t << "{"; //Annotated File Index}\n" - } + if (compactLatex) t << "\\section"; else t << "\\chapter"; + t << "{"; //Annotated File Index}\n" break; case isPageIndex: - if (!hideIndex) - { - if (compactLatex) t << "\\section"; else t << "\\chapter"; - t << "{"; //Annotated Page Index}\n" - } + if (compactLatex) t << "\\section"; else t << "\\chapter"; + t << "{"; //Annotated Page Index}\n" break; case isModuleDocumentation: { @@ -626,7 +607,6 @@ void LatexGenerator::startIndexSection(IndexSections is) void LatexGenerator::endIndexSection(IndexSections is) { bool &compactLatex = Config_getBool("COMPACT_LATEX"); - bool &hideIndex = Config_getBool("LATEX_HIDE_INDICES"); QCString &latexHeader = Config_getString("LATEX_HEADER"); switch (is) { @@ -648,22 +628,22 @@ void LatexGenerator::endIndexSection(IndexSections is) } break; case isModuleIndex: - if (!hideIndex) t << "}\n\\input{modules}\n"; + t << "}\n\\input{modules}\n"; break; case isNamespaceIndex: - if (!hideIndex) t << "}\n\\input{namespaces}\n"; + t << "}\n\\input{namespaces}\n"; break; case isClassHierarchyIndex: - if (!hideIndex) t << "}\n\\input{hierarchy}\n"; + t << "}\n\\input{hierarchy}\n"; break; case isCompoundIndex: - if (!hideIndex) t << "}\n\\input{annotated}\n"; + t << "}\n\\input{annotated}\n"; break; case isFileIndex: - if (!hideIndex) t << "}\n\\input{files}\n"; + t << "}\n\\input{files}\n"; break; case isPageIndex: - if (!hideIndex) t << "}\n\\input{pages}\n"; + t << "}\n\\input{pages}\n"; break; case isModuleDocumentation: { diff --git a/src/libdoxygen.t b/src/libdoxygen.t index 237c5dd..6aec6ba 100644 --- a/src/libdoxygen.t +++ b/src/libdoxygen.t @@ -18,8 +18,7 @@ LEX = flex YACC = bison -PERL = perl -INCBUFSIZE = $(PERL) -n -e 's/YY_BUF_SIZE 16384/YY_BUF_SIZE 262144/g; print $$_;' +INCBUFSIZE = $(PERL) increasebuffer.pl #${ sub GenerateDep { diff --git a/src/memberdef.cpp b/src/memberdef.cpp index 6cb6e71..93262c1 100644 --- a/src/memberdef.cpp +++ b/src/memberdef.cpp @@ -735,13 +735,6 @@ void MemberDef::writeDeclaration(OutputList &ol, if (!cname.isEmpty()) doxyName.prepend(cname+"::"); ol.startDoxyAnchor(cfname,cname,anchor(),doxyName); - ol.addIndexItem(name(),cname); - ol.addIndexItem(cname,name()); - - if (hasHtmlHelp) - { - htmlHelp->addIndexItem(cname,name(),cfname,anchor()); - } ol.pushGeneratorState(); ol.disable(OutputGenerator::Man); ol.docify("\n"); @@ -1035,10 +1028,18 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol, else if (getFileDef()) scopeName=getFileDef()->name(); } - // get definition. QCString cname = container->name(); QCString cfname = container->getOutputFileBase(); + ol.addIndexItem(name(),cname); + ol.addIndexItem(cname,name()); + + if (Config_getBool("GENERATE_HTML") && Config_getBool("GENERATE_HTMLHELP")) + { + HtmlHelp *htmlHelp = HtmlHelp::getInstance(); + htmlHelp->addIndexItem(cname,name(),cfname,anchor()); + } + // get member name QCString doxyName=name().copy(); // prepend scope if there is any. TODO: make this optional for C only docs @@ -1909,7 +1910,9 @@ void MemberDef::writeEnumDeclaration(OutputList &typeDecl, { typeDecl.pushGeneratorState(); typeDecl.disableAllBut(OutputGenerator::Html); + typeDecl.enable(OutputGenerator::Latex); typeDecl.lineBreak(); + typeDecl.disable(OutputGenerator::Latex); typeDecl.writeString(" "); typeDecl.popGeneratorState(); } diff --git a/src/scanner.l b/src/scanner.l index d829cfd..c3da219 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -3217,24 +3217,34 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;] else { if ((insideJava || insideCS) && - current->stat && + /*current->stat && */ current->name.isEmpty() && current->type.isEmpty() ) { // static Java initializer needsSemi = FALSE; + if (current->stat) + { + current->name="[static initializer]"; + } + else + { + current->name="[instance initializer]"; + } + unput(*yytext); + BEGIN( Function ); } else { needsSemi = TRUE; + current->type.resize(0); + current->name.resize(0); + current->args.resize(0); + current->argList->clear(); + curlyCount=0; + BEGIN( SkipCurlyBlock ); } - current->type.resize(0); - current->name.resize(0); - current->args.resize(0); - current->argList->clear(); - curlyCount=0; - BEGIN( SkipCurlyBlock ); } } <CSAccessorDecl>"{" { curlyCount++; } diff --git a/src/translator_cz.h b/src/translator_cz.h index d843e84..e3b0205 100644 --- a/src/translator_cz.h +++ b/src/translator_cz.h @@ -174,7 +174,7 @@ class TranslatorCzech : public Translator */ inline QCString decode(const QCString & sInput) { - if (Config_getBool("USE_WINDOWS_ENCONDING")) + if (Config_getBool("USE_WINDOWS_ENCODING")) { return sInput; } @@ -196,7 +196,7 @@ class TranslatorCzech : public Translator /*! return the language charset. This will be used for the HTML output */ virtual QCString idLanguageCharset() { - if (Config_getBool("USE_WINDOWS_ENCONDING")) + if (Config_getBool("USE_WINDOWS_ENCODING")) { return "windows-1250"; } diff --git a/src/translator_jp.h b/src/translator_jp.h index 33b4a60..8348f50 100644 --- a/src/translator_jp.h +++ b/src/translator_jp.h @@ -41,7 +41,7 @@ class TranslatorJapaneseEn : public TranslatorEnglish /*! returns the name of the package that is included by LaTeX */ virtual QCString idLanguageCharset() { - if (Config_getBool("USE_WINDOWS_ENCONDING")) + if (Config_getBool("USE_WINDOWS_ENCODING")) { return "Shift_JIS"; } @@ -70,7 +70,7 @@ class TranslatorJapanese : public Translator /*! The decode() can change euc into sjis */ inline QCString decode(const QCString & sInput) { - if (Config_getBool("USE_WINDOWS_ENCONDING")) + if (Config_getBool("USE_WINDOWS_ENCODING")) { return JapaneseEucToSjis(sInput); } @@ -89,7 +89,7 @@ class TranslatorJapanese : public Translator /*! returns the name of the package that is included by LaTeX */ virtual QCString idLanguageCharset() { - if (Config_getBool("USE_WINDOWS_ENCONDING")) + if (Config_getBool("USE_WINDOWS_ENCODING")) { return "Shift_JIS"; } diff --git a/src/util.cpp b/src/util.cpp index de34491..75ca37f 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -1674,7 +1674,9 @@ static bool matchArgument(const Argument *srcA,const Argument *dstA, equal=srcAType.at(srcPos)==dstAType.at(dstPos); if (equal) srcPos++,dstPos++; } - if (srcPos<srcAType.length() && dstPos<dstAType.length()) + uint srcATypeLen=srcAType.length(); + uint dstATypeLen=dstAType.length(); + if (srcPos<srcATypeLen && dstPos<dstATypeLen) { // if nothing matches or the match ends in the middle or at the // end of a string then there is no match @@ -1685,15 +1687,20 @@ static bool matchArgument(const Argument *srcA,const Argument *dstA, } if (isId(srcAType.at(srcPos)) && isId(dstAType.at(dstPos))) { + //printf("partial match srcPos=%d dstPos=%d!\n",srcPos,dstPos); // check if a name if already found -> if no then there is no match if (!srcA->name.isEmpty() || !dstA->name.isEmpty()) { NOMATCH return FALSE; } - while (srcPos<srcAType.length() && isId(srcAType.at(srcPos))) srcPos++; - while (dstPos<dstAType.length() && isId(dstAType.at(dstPos))) dstPos++; - if (srcPos<srcAType.length() || dstPos<dstAType.length()) + // types only + while (srcPos<srcATypeLen && isId(srcAType.at(srcPos))) srcPos++; + while (dstPos<dstATypeLen && isId(dstAType.at(dstPos))) dstPos++; + if (srcPos<srcATypeLen || + dstPos<dstATypeLen || + (srcPos==srcATypeLen && dstPos==dstATypeLen) + ) { NOMATCH return FALSE; @@ -1702,15 +1709,15 @@ static bool matchArgument(const Argument *srcA,const Argument *dstA, else { // otherwise we assume that a name starts at the current position. - while (srcPos<srcAType.length() && isId(srcAType.at(srcPos))) srcPos++; - while (dstPos<dstAType.length() && isId(dstAType.at(dstPos))) dstPos++; + while (srcPos<srcATypeLen && isId(srcAType.at(srcPos))) srcPos++; + while (dstPos<dstATypeLen && isId(dstAType.at(dstPos))) dstPos++; // if nothing more follows for both types then we assume we have // found a match. Note that now `signed int' and `signed' match, but // seeing that int is not a name can only be done by looking at the // semantics. - if (srcPos!=srcAType.length() || dstPos!=dstAType.length()) + if (srcPos!=srcATypeLen || dstPos!=dstATypeLen) { NOMATCH return FALSE; @@ -3065,14 +3072,17 @@ void extractNamespaceName(const QCString &scopeName, while (p>=0 && (i=clName.findRev("::",p))!=-1) // see if the first part is a namespace (and not a class) { + //printf("Trying %s\n",clName.left(i).data()); if (i>0 && (nd=getResolvedNamespace(clName.left(i))) && getClass(clName.left(i))==0) { + //printf("found!\n"); namespaceName=nd->name().copy(); className=clName.right(clName.length()-i-2); goto done; } p=i-2; // try a smaller piece of the scope } + //printf("not found!\n"); // not found, so we just have to guess. className=scopeName.copy(); @@ -3814,9 +3824,9 @@ static void latin2ToLatex(QTextStream &t,unsigned char c) { switch (c) { - case 0xA1: t << c; break; + case 0xA1: t << "\\k{A}"; break; case 0xA2: t << c; break; - case 0xA3: t << c; break; + case 0xA3: t << "\\L{}"; break; case 0xA4: t << c; break; case 0xA5: t << c; break; case 0xA6: t << "\\'{S}"; break; @@ -3831,9 +3841,9 @@ static void latin2ToLatex(QTextStream &t,unsigned char c) case 0xAF: t << "\\.{Z}"; break; case 0xB0: t << c; break; - case 0xB1: t << c; break; + case 0xB1: t << "\\k{a}"; break; case 0xB2: t << c; break; - case 0xB3: t << c; break; + case 0xB3: t << "\\l{}"; break; case 0xB4: t << c; break; case 0xB5: t << c; break; case 0xB6: t << "\\'{s}"; break; @@ -3857,7 +3867,7 @@ static void latin2ToLatex(QTextStream &t,unsigned char c) case 0xC7: t << "\\c{C}"; break; case 0xC8: t << "\\v{C}"; break; case 0xC9: t << "\\'{E}"; break; - case 0xCA: t << "\\c{E}"; break; + case 0xCA: t << "\\k{E}"; break; case 0xCB: t << "\\\"{E}"; break; case 0xCC: t << "\\v{E}"; break; case 0xCD: t << "\\'{I}"; break; @@ -3891,7 +3901,7 @@ static void latin2ToLatex(QTextStream &t,unsigned char c) case 0xE7: t << "\\c{c}"; break; case 0xE8: t << "\\v{c}"; break; case 0xE9: t << "\\'{e}"; break; - case 0xEA: t << c; break; + case 0xEA: t << "\\k{e}"; break; case 0xEB: t << "\\\"{e}"; break; case 0xEC: t << "\\v{e}"; break; case 0xED: t << "\\'{\\i}"; break; |