summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--INSTALL4
-rw-r--r--README4
-rw-r--r--VERSION2
-rw-r--r--packages/rpm/doxygen.spec2
-rw-r--r--src/Makefile.in10
-rw-r--r--src/classdef.cpp21
-rw-r--r--src/classdef.h3
-rw-r--r--src/classlist.cpp4
-rw-r--r--src/config.h4
-rw-r--r--src/config.l7
-rw-r--r--src/definition.cpp6
-rw-r--r--src/doxygen.cpp2
-rw-r--r--src/ftvhelp.cpp192
-rwxr-xr-xsrc/increasebuffer.pl8
-rw-r--r--src/index.cpp124
-rw-r--r--src/latexgen.cpp56
-rw-r--r--src/libdoxygen.t3
-rw-r--r--src/memberdef.cpp19
-rw-r--r--src/scanner.l24
-rw-r--r--src/translator_cz.h4
-rw-r--r--src/translator_jp.h6
-rw-r--r--src/util.cpp36
22 files changed, 199 insertions, 342 deletions
diff --git a/INSTALL b/INSTALL
index d180f72..7c2bf39 100644
--- a/INSTALL
+++ b/INSTALL
@@ -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)
diff --git a/README b/README
index 61794a9..a161c18 100644
--- a/README
+++ b/README
@@ -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)
diff --git a/VERSION b/VERSION
index 93f4cc2..96be0cb 100644
--- a/VERSION
+++ b/VERSION
@@ -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("&nbsp;&nbsp;");
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;