From 8b520502615f8fa68736d3e819c319a7f0594532 Mon Sep 17 00:00:00 2001
From: dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>
Date: Sun, 5 Nov 2000 19:00:55 +0000
Subject: Release-1.2.3-20001105

---
 INSTALL                      |  4 ++--
 README                       |  4 ++--
 VERSION                      |  2 +-
 addon/configgen/Makefile.in  |  4 ++--
 addon/doxywizard/Makefile.in |  4 ++--
 addon/xmlread/Makefile.in    |  4 ++--
 configure                    |  2 --
 doc/external.doc             |  8 ++++----
 doc/index.doc                |  2 +-
 packages/rpm/doxygen.spec    |  2 +-
 qtools/Makefile.in           |  4 ++--
 src/Makefile.in              | 12 ++++++------
 src/diagram.cpp              |  6 ++++--
 src/doxygen.cpp              | 45 +++++++++++++++++++++-----------------------
 src/filedef.h                |  3 ++-
 src/index.cpp                | 32 +++++++++++++++----------------
 src/memberdef.cpp            |  1 +
 src/scanner.l                |  2 +-
 18 files changed, 70 insertions(+), 71 deletions(-)

diff --git a/INSTALL b/INSTALL
index 740a762..198b0ba 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,6 +1,6 @@
-DOXYGEN Version 1.2.3
+DOXYGEN Version 1.2.3-20001105
 
 Please read the installation section of the manual for instructions.
 
 --------
-Dimitri van Heesch (30 October 2000)
+Dimitri van Heesch (05 November 2000)
diff --git a/README b/README
index 21c9314..85f85ee 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-DOXYGEN Version 1.2.3
+DOXYGEN Version 1.2.3-20001105
 
 Please read INSTALL for compilation instructions.
 
@@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at
 
 Enjoy,
 
-Dimitri van Heesch (30 October 2000)
+Dimitri van Heesch (05 November 2000)
diff --git a/VERSION b/VERSION
index 0495c4a..6f864e2 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.2.3
+1.2.3-20001105
diff --git a/addon/configgen/Makefile.in b/addon/configgen/Makefile.in
index aa8dd7a..a58d145 100644
--- a/addon/configgen/Makefile.in
+++ b/addon/configgen/Makefile.in
@@ -16,7 +16,7 @@ all: Makefile.configgen config.h config.l
 	$(MAKE) -f Makefile.configgen $@
 
 Makefile.configgen: configgen.pro 
-	$(PERL) $(TMAKE) configgen.pro >Makefile.configgen
+	export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) configgen.pro >Makefile.configgen
 
 config.h: $(CFGGEN_DIR)/configgen config_templ.h
 	$(CFGGEN_DIR)/configgen config_templ.h >config.h
@@ -28,7 +28,7 @@ $(CFGGEN_DIR)/configgen: Makefile.configgen configgen.cpp
 	$(MAKE) -f Makefile.configgen 
 
 tmake: 
-	$(PERL) $(TMAKE) configgen.pro >Makefile.configgen
+	export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) configgen.pro >Makefile.configgen
 
 install:
 	$(CP) config.l config.h ../../src
diff --git a/addon/doxywizard/Makefile.in b/addon/doxywizard/Makefile.in
index 4e8779b..243d68c 100644
--- a/addon/doxywizard/Makefile.in
+++ b/addon/doxywizard/Makefile.in
@@ -18,7 +18,7 @@ all: $(CFGGENBIN_DIR)/configgen config.h config.l doxywizard.cpp doxywizard.h \
 	$(MAKE) -f Makefile.doxywizard $@
 
 Makefile.doxywizard: doxywizard.pro doxywizard.t
-	$(PERL) $(TMAKE) doxywizard.pro >Makefile.doxywizard
+	export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) doxywizard.pro >Makefile.doxywizard
 
 config.l: $(CFGGENBIN_DIR)/configgen $(CFGGENSRC_DIR)/config_templ.l
 	$(CFGGENBIN_DIR)/configgen $(CFGGENSRC_DIR)/config_templ.l >config.l
@@ -36,7 +36,7 @@ $(CFGGENBIN_DIR)/configgen: $(CFGGENSRC_DIR)/configgen.cpp
 	$(MAKE) -C $(CFGGENSRC_DIR) 
 
 tmake: 
-	$(PERL) $(TMAKE) doxywizard.pro >Makefile.doxywizard
+	export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) doxywizard.pro >Makefile.doxywizard
 
 clean: Makefile.doxywizard 
 	$(MAKE) -f Makefile.doxywizard clean 
diff --git a/addon/xmlread/Makefile.in b/addon/xmlread/Makefile.in
index ae31a26..723887e 100644
--- a/addon/xmlread/Makefile.in
+++ b/addon/xmlread/Makefile.in
@@ -5,8 +5,8 @@ distclean: clean
 	$(RM) -f Makefile.xmlread
 
 tmake:
-	$(PERL) $(TMAKE) xmlread.pro >Makefile.xmlread
+	export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) xmlread.pro >Makefile.xmlread
 
 Makefile.xmlread: xmlread.pro
-	$(PERL) $(TMAKE) xmlread.pro >Makefile.xmlread
+	export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) xmlread.pro >Makefile.xmlread
 
diff --git a/configure b/configure
index 7105cfb..9a4fb65 100755
--- a/configure
+++ b/configure
@@ -337,8 +337,6 @@ VERSION   = `cat VERSION`
 INSTALL   = $f_prefix
 INSTTOOL  = $f_insttool
 DOXYDOCS  = ..
-
-export TMAKEPATH
 EOF
 
 if test "$f_dot" != NO; then
diff --git a/doc/external.doc b/doc/external.doc
index 01c275f..640768a 100644
--- a/doc/external.doc
+++ b/doc/external.doc
@@ -25,7 +25,7 @@ reasons to not include all sources for these with every run of doxygen:
     You may want to link to these pages instead of generating the documentation 
     in your local output directory.
 <dt>Compilation speed:<dd> External projects typically have a different update 
-    frequency form your own project. It does not make much sense to let doxygen 
+    frequency from your own project. It does not make much sense to let doxygen 
     parse the sources for these external project over and over again, even if 
     nothing has changed.
 <dt>Memory:<dd> For very large source trees, letting doxygen parse all sources 
@@ -50,7 +50,7 @@ you should specify the name of the tag files after
 the \ref cfg_tagfiles "TAGFILES" option in the configuration file.
 
 A tag file does not contain information about where the external documentation
-is located. This could be a directory or URL. So when you include a tag 
+is located. This could be a directory or an URL. So when you include a tag 
 file you have to specify where the external documentation is located. 
 There are two ways to do this:
 <dl>
@@ -89,7 +89,7 @@ The directory structure looks as follows:
 \endverbatim
 
 \par
-Then relevate parts of the configuration files look as follows:
+Then the relevant parts of the configuration files look as follows:
 \par
 proj.cfg:
 \verbatim
@@ -115,7 +115,7 @@ can use the \ref doxytag_usage "doxytag" tool to extract a tag file from
 the generated HTML sources. This tool depends on the particular structure
 of the generated output and on some special markers that are generated by
 doxygen. Since this type of extraction is brittle and error prone I
-suggest to only use this approach if there is no alternative. The
+suggest you to only use this approach if there is no alternative. The
 doxytag tool may even become obsolete in the future.
 
 \htmlonly
diff --git a/doc/index.doc b/doc/index.doc
index 682d921..621efa0 100644
--- a/doc/index.doc
+++ b/doc/index.doc
@@ -68,7 +68,7 @@ It can help you in three ways:
      for this manual).
 </ol>
 
-Doxygen is developed on <a href="http://www.linux.org">Linux</a>, 
+Doxygen is developed under <a href="http://www.linux.org">Linux</a>, 
 but is set-up to be highly portable. As a result, it runs on most 
 other UNIX flavors as well. Furthermore, an executable for 
 Windows 9x/NT is also available.
diff --git a/packages/rpm/doxygen.spec b/packages/rpm/doxygen.spec
index 1410ae0..f218c99 100644
--- a/packages/rpm/doxygen.spec
+++ b/packages/rpm/doxygen.spec
@@ -1,5 +1,5 @@
 Name: doxygen
-Version: 1.2.3
+Version: 1.2.3-20001105
 Summary: documentation system for C, C++ and IDL
 Release: 1
 Source0: doxygen-%{version}.src.tar.gz
diff --git a/qtools/Makefile.in b/qtools/Makefile.in
index 730d6b2..ae5bec9 100644
--- a/qtools/Makefile.in
+++ b/qtools/Makefile.in
@@ -17,10 +17,10 @@ all: Makefile.qtools Makefile
 	$(MAKE) -f Makefile.qtools    $@
 
 Makefile.qtools: qtools.pro 
-	$(PERL) $(TMAKE) qtools.pro >Makefile.qtools
+	export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) qtools.pro >Makefile.qtools
 
 tmake: 
-	$(PERL) $(TMAKE) qtools.pro >Makefile.qtools
+	export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) qtools.pro >Makefile.qtools
 
 clean: Makefile.qtools 
 	$(MAKE) -f Makefile.qtools    clean 
diff --git a/src/Makefile.in b/src/Makefile.in
index cd4138d..586b439 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -20,18 +20,18 @@ all: Makefile.doxygen Makefile.doxytag Makefile.doxysearch Makefile
 	$(MAKE) -f Makefile.doxysearch $@
 
 Makefile.doxygen: doxygen.pro doxygen.t 
-	$(PERL) $(TMAKE) doxygen.pro >Makefile.doxygen
+	export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) doxygen.pro >Makefile.doxygen
 
 Makefile.doxytag: doxytag.pro doxytag.t 
-	$(PERL) $(TMAKE) doxytag.pro >Makefile.doxytag
+	export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) doxytag.pro >Makefile.doxytag
 
 Makefile.doxysearch: doxysearch.pro
-	$(PERL) $(TMAKE) doxysearch.pro >Makefile.doxysearch
+	export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) doxysearch.pro >Makefile.doxysearch
 
 tmake: 
-	$(PERL) $(TMAKE) doxygen.pro >Makefile.doxygen
-	$(PERL) $(TMAKE) doxytag.pro >Makefile.doxytag
-	$(PERL) $(TMAKE) doxysearch.pro >Makefile.doxysearch
+	export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) doxygen.pro >Makefile.doxygen
+	export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) doxytag.pro >Makefile.doxytag
+	export TMAKEPATH=$(TMAKEPATH) ; $(PERL) $(TMAKE) doxysearch.pro >Makefile.doxysearch
 
 clean: Makefile.doxygen Makefile.doxytag Makefile.doxysearch
 	$(MAKE) -f Makefile.doxygen    clean 
diff --git a/src/diagram.cpp b/src/diagram.cpp
index 4808565..517433a 100644
--- a/src/diagram.cpp
+++ b/src/diagram.cpp
@@ -1235,13 +1235,15 @@ void ClassDiagram::writeFigure(QTextStream &output,const char *path,
   if (Config::usePDFLatexFlag)
   {
     QCString epstopdfCmd(4096);
-    epstopdfCmd.sprintf("epstopdf \"%s.eps\" -outfile=\"%s.pdf\"",
-                   epsBaseName.data(),epsBaseName.data());
+    //epstopdfCmd.sprintf("epstopdf \"%s.eps\" -outfile=\"%s.pdf\"",
+    //               epsBaseName.data(),epsBaseName.data());
+    //printf("Converting eps using `%s'\n",epstopdfCmd.data());
     if (iSystem(epstopdfCmd)!=0)
     {
        err("Error: Problems running epstopdf. Check your TeX installation!\n");
        return;
     }
+    printf("done\n");
   }
 }
 
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 6d390b5..6c268cf 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -1717,14 +1717,16 @@ static void buildMemberList(Entry *root)
                )
             {
               // see if we need to create a new member
-              found=nsName==rnsName || // members are in the same namespace
-                    ((fd!=0 && // no external reference
+              found=(nd && rnd && nsName==rnsName) ||   // members are in the same namespace
+                    ((fd!=0 &&                          // no external reference and
                       fd->absFilePath()==root->fileName // prototype in the same file
                      ) || 
-                     md->getGroupDef()!=0 // member is part of a group
+                     md->getGroupDef()!=0               // member is part of a group
                     ); 
               // otherwise, allow a duplicate global member with the same argument list
               
+              //printf("combining function with prototype found=%d `%s'<->`%s'!\n",
+              //    found,fd->absFilePath().data(),root->fileName.data());
               // merge members documentation and properties
               mergeArguments(root->argList,md->argumentList());
               if (!md->documentation() && !root->doc.isEmpty())
@@ -1963,12 +1965,16 @@ static void transferFunctionDocumentation()
       if (md->isPrototype()) mdec=md;
       if (md->isFunction() && !md->isStatic() && !md->isPrototype()) mdef=md;
     }
+    //printf("mdef=(%p,%s) mdec=(%p,%s)\n",
+    //    mdef, mdef ? mdef->name().data() : "",
+    //    mdec, mdec ? mdec->name().data() : "");
     if (mdef && mdec && 
         matchArguments(mdef->argumentList(),mdec->argumentList())
        ) /* match found */
     {
       //printf("Found member %s: def in %s and dec in %s\n",
-      //    mn->memberName(),mdef->getFileDef()->name(),mdec->getFileDef()->name());
+      //    mn->memberName(),mdef->getFileDef()->name().data(),
+      //    mdec->getFileDef()->name().data());
       
       /* copy documentation between function definition and declaration */
       if (mdec->briefDescription())
@@ -2520,6 +2526,8 @@ static void addMemberDocs(Entry *root,
   }
   else  
   {
+    //printf("Adding docs md->docs=`%s' root->docs=`%s'!\n",
+    //     md->documentation().data(),root->doc.data());
     // documentation outside a compound overrides the documentation inside it
     if ( /* !md->isStatic() && !root->stat &&   do not replace doc of a static */
         (
@@ -5118,29 +5126,19 @@ static void copyStyleSheet()
 static void readFiles(BufStr &output)
 {
   QCString *s=inputFiles.first();
-//  char *p=output.data();
   while (s)
   {
     QCString fileName=*s;
 
-    //int fileSize=fi->fileInfo()->size();
     int fileNameSize=fileName.length();
-    //int streamLength=fileSize+fileNameSize+4; 
-
-    //QCString fileText(streamLength);
 
     // add begin filename marker
-//    *p++=0x06; 
     output.addChar(0x06);
     // copy filename
-//    memcpy(p,fileName.data(),fileNameSize);
-//    p+=fileNameSize;
     output.addArray(fileName.data(),fileNameSize);
     
     // add end filename marker
-//    *p++=0x06;
     output.addChar(0x06);
-//    *p++='\n'; // to make ^ work while scanning the first line of a file!
     output.addChar('\n');
     if (Config::preprocessingFlag)
     {
@@ -5158,10 +5156,7 @@ static void readFiles(BufStr &output)
     s=inputFiles.next();
     //printf("-------> adding new line\n");
   }
-//  *p++='\0';
   output.addChar(0);
-  //printf("Output after preprocessing:\n---------\n%s\n----------\n",output.data());
-  //printf("Final length = %d\n",p-output.data());
 }
 
 //----------------------------------------------------------------------------
@@ -5177,7 +5172,8 @@ static int readDir(QFileInfo *fi,
             QStrList *patList,
             QStrList *exclPatList,
             StringList *resultList,
-            StringDict *resultDict
+            StringDict *resultDict,
+            bool errorIfNotExist
            )
 {
   QDir dir((const char *)fi->absFilePath());
@@ -5193,7 +5189,7 @@ static int readDir(QFileInfo *fi,
   {
     if (exclDict==0 || exclDict->find(cfi->absFilePath())==0) 
     { // file should not be excluded
-      if (!cfi->exists() || !cfi->isReadable())
+      if ((!cfi->exists() || !cfi->isReadable()) && errorIfNotExist)
       {
          err("Error: source %s is not a readable file or directory... skipping.\n",cfi->absFilePath().data());
       }
@@ -5233,7 +5229,7 @@ static int readDir(QFileInfo *fi,
       {
         cfi->setFile(cfi->absFilePath());
         totalSize+=readDir(cfi,fnList,fnDict,exclDict,
-            patList,exclPatList,resultList,resultDict);
+            patList,exclPatList,resultList,resultDict,errorIfNotExist);
       }
     }
     ++it;
@@ -5288,7 +5284,8 @@ static int readFileOrDirectory(const char *s,
                         QStrList *patList,
                         QStrList *exclPatList,
                         StringList *resultList,
-                        StringDict *resultDict
+                        StringDict *resultDict,
+                        bool errorIfNotExist=TRUE
                        )
 {
   QFileInfo fi(s);
@@ -5297,7 +5294,7 @@ static int readFileOrDirectory(const char *s,
   {
     if (exclDict==0 || exclDict->find(fi.absFilePath())==0)
     {
-      if (!fi.exists() || !fi.isReadable())
+      if ((!fi.exists() || !fi.isReadable()) && errorIfNotExist)
       {
         err("Error: source %s is not a readable file or directory... skipping.\n",s);
       }
@@ -5333,7 +5330,7 @@ static int readFileOrDirectory(const char *s,
       }
       else if (fi.isDir()) // readable dir
         totalSize+=readDir(&fi,fnList,fnDict,exclDict,patList,
-            exclPatList,resultList,resultDict);
+            exclPatList,resultList,resultDict,errorIfNotExist);
     }
   }
   return totalSize;
@@ -5725,7 +5722,7 @@ int main(int argc,char **argv)
   while (s)
   {
     readFileOrDirectory(s,0,0,0,&Config::filePatternList,
-                        0,0,&excludeNameDict);
+                        0,0,&excludeNameDict,FALSE);
     s=Config::excludeSources.next();
   }
 
diff --git a/src/filedef.h b/src/filedef.h
index dea9e73..fe3a761 100644
--- a/src/filedef.h
+++ b/src/filedef.h
@@ -124,7 +124,8 @@ class FileDef : public Definition
     //void setGenerateSource(bool b) { isSource=b; }
     bool generateSourceFile() const 
     { return !isReference() && 
-              (Config::sourceBrowseFlag || Config::verbatimHeaderFlag); 
+              (Config::sourceBrowseFlag || Config::verbatimHeaderFlag) &&
+              name().right(4)!=".doc" && name().right(4)!=".txt"; 
     }
 
     void addIncludeDependency(FileDef *fd,const char *incName,bool local);
diff --git a/src/index.cpp b/src/index.cpp
index 383b41f..41f8636 100644
--- a/src/index.cpp
+++ b/src/index.cpp
@@ -631,23 +631,23 @@ void writeNamespaceIndex(OutputList &ol)
     if (nd->isLinkableInProject())
     {
       ol.writeStartAnnoItem("namespace",nd->getOutputFileBase(),0,nd->name());
-      ol.docify(" (");
       if (!nd->briefDescription().isEmpty())
       {
+        ol.docify(" (");
         OutputList briefOutput(&ol);
         parseDoc(briefOutput,
                  nd->getDefFileName(),nd->getDefLine(),
                  nd->name(),0,
                  abbreviate(nd->briefDescription(),nd->name()));
         ol+=briefOutput;
+        ol.docify(")");
       }
-      else
-      {
-        ol.startEmphasis();
-        parseText(ol,theTranslator->trNoDescriptionAvailable());
-        ol.endEmphasis();
-      }
-      ol.docify(")");
+      //else
+      //{
+      //  ol.startEmphasis();
+      //  parseText(ol,theTranslator->trNoDescriptionAvailable());
+      //  ol.endEmphasis();
+      //}
       ol.writeEndAnnoItem(nd->getOutputFileBase());
       if (hasHtmlHelp)
       {
@@ -707,23 +707,23 @@ void writeAnnotatedClassList(OutputList &ol)
         default:                   type="interface"; break;
       }
       ol.writeStartAnnoItem(type,cd->getOutputFileBase(),0,cd->displayName());
-      ol.docify(" (");
       if (!cd->briefDescription().isEmpty())
       {
+        ol.docify(" (");
         OutputList briefOutput(&ol);
         parseDoc(briefOutput,
                  cd->getDefFileName(),cd->getDefLine(),
                  cd->name(),0,
                  abbreviate(cd->briefDescription(),cd->name()));
         ol+=briefOutput;
+        ol.docify(")");
       }
-      else
-      {
-        ol.startEmphasis();
-        parseText(ol,theTranslator->trNoDescriptionAvailable());
-        ol.endEmphasis();
-      }
-      ol.docify(")");
+      //else
+      //{
+      //  ol.startEmphasis();
+      //  parseText(ol,theTranslator->trNoDescriptionAvailable());
+      //  ol.endEmphasis();
+      //}
       ol.writeEndAnnoItem(cd->getOutputFileBase());
       if (Config::generateHtml && Config::htmlHelpFlag)
       {
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index 7a20e12..662a8f3 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -189,6 +189,7 @@ static void writeTemplatePrefix(OutputList &ol,ArgumentList *al,bool br=TRUE)
   while (a)
   {
     ol.docify(a->type);
+    ol.docify(" ");
     ol.docify(a->name);
     if (a->defval.length()!=0)
     {
diff --git a/src/scanner.l b/src/scanner.l
index 5d8484e..abf1b26 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -1309,7 +1309,7 @@ TITLE     [tT][iI][tT][lL][eE]
 					  if ( *yytext == ',' )
 					  {
 					    int i=oldType.length(); 
-					    while (i>0 && (oldType[i-1]=='*' || oldType[i-1]==' ')) i--;
+					    while (i>0 && (oldType[i-1]=='*' || oldType[i-1]=='&' || oldType[i-1]==' ')) i--;
 					    current->type = oldType.left(i);
 					    current->doc  = oldDocs;
 					  }
-- 
cgit v0.12