From 29348f280d674693e74e30ae55ca63ab3b97372e Mon Sep 17 00:00:00 2001
From: dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>
Date: Mon, 5 Jan 2004 19:00:26 +0000
Subject: Release-1.3.5-20040105

---
 INSTALL                                     |   4 +-
 README                                      |   4 +-
 VERSION                                     |   2 +-
 addon/doxmlparser/include/doxmlintf.h       |   2 +-
 addon/doxmlparser/src/basehandler.h         |   9 +-
 addon/doxmlparser/src/baseiterator.h        |   2 +-
 addon/doxmlparser/src/compoundhandler.cpp   |   2 +-
 addon/doxmlparser/src/compoundhandler.h     |   2 +-
 addon/doxmlparser/src/dochandler.cpp        |   2 +-
 addon/doxmlparser/src/dochandler.h          |   2 +-
 addon/doxmlparser/src/doxmlintf.h           |   2 +-
 addon/doxmlparser/src/graphhandler.h        |   2 +-
 addon/doxmlparser/src/linkedtexthandler.cpp |   2 +-
 addon/doxmlparser/src/linkedtexthandler.h   |   2 +-
 addon/doxmlparser/src/loamhandler.h         |   2 +-
 addon/doxmlparser/src/mainhandler.cpp       |   2 +-
 addon/doxmlparser/src/mainhandler.h         |   2 +-
 addon/doxmlparser/src/memberhandler.cpp     |   2 +-
 addon/doxmlparser/src/memberhandler.h       |   2 +-
 addon/doxmlparser/src/paramhandler.cpp      |   2 +-
 addon/doxmlparser/src/paramhandler.h        |   2 +-
 addon/doxmlparser/src/sectionhandler.cpp    |   2 +-
 addon/doxmlparser/src/sectionhandler.h      |   2 +-
 addon/doxywizard/Makefile.in                |   2 +-
 addon/doxywizard/Makefile.win_nmake.in      |   2 +-
 addon/doxywizard/doxywizard.cpp             |   2 +-
 addon/doxywizard/doxywizard.h               |   2 +-
 addon/doxywizard/doxywizard.pro.in          |   2 +-
 addon/doxywizard/doxywizard.t               |   2 +-
 addon/doxywizard/inputbool.cpp              |   2 +-
 addon/doxywizard/inputbool.h                |   2 +-
 addon/doxywizard/inputint.cpp               |   2 +-
 addon/doxywizard/inputint.h                 |   2 +-
 addon/doxywizard/inputstring.cpp            |   2 +-
 addon/doxywizard/inputstring.h              |   2 +-
 addon/doxywizard/inputstrlist.cpp           |   2 +-
 addon/doxywizard/inputstrlist.h             |   2 +-
 addon/doxywizard/pagewidget.cpp             |   2 +-
 addon/doxywizard/pagewidget.h               |   2 +-
 addon/doxywizard/pixmaps.cpp                |   2 +-
 addon/doxywizard/pixmaps.h                  |   2 +-
 addon/doxywizard/qtbc.h                     |   2 +-
 doc/Makefile.in                             |   2 +-
 doc/Makefile.latex                          |   2 +-
 doc/Makefile.win_make.in                    |   2 +-
 doc/Makefile.win_nmake.in                   |   2 +-
 doc/arch.doc                                |   2 +-
 doc/autolink.doc                            |   2 +-
 doc/commands.doc                            |   2 +-
 doc/config.doc                              |  11 +-
 doc/diagrams.doc                            |   2 +-
 doc/docblocks.doc                           |   2 +-
 doc/doxygen.sty                             |   6 +-
 doc/doxygen_manual.tex                      |   4 +-
 doc/doxygen_usage.doc                       |   2 +-
 doc/doxytag_usage.doc                       |   2 +-
 doc/doxywizard_usage.doc                    |   2 +-
 doc/external.doc                            |   2 +-
 doc/faq.doc                                 |   2 +-
 doc/features.doc                            |   2 +-
 doc/formulas.doc                            |   2 +-
 doc/grouping.doc                            |   2 +-
 doc/history.doc                             |   2 +-
 doc/htmlcmds.doc                            |   2 +-
 doc/index.doc                               |   6 +-
 doc/install.doc                             |   2 +-
 doc/installdox_usage.doc                    |   2 +-
 doc/language.doc                            |  35 +-
 doc/language.tpl                            |   2 +-
 doc/maintainers.txt                         |  11 +-
 doc/output.doc                              |   2 +-
 doc/preprocessing.doc                       |   2 +-
 doc/starting.doc                            |   2 +-
 doc/translator.pl                           |  16 +-
 doc/trouble.doc                             |   2 +-
 examples/define.h                           |   3 +-
 src/Makefile.in                             |   2 +-
 src/bufstr.h                                |   2 +-
 src/classdef.cpp                            | 159 ++++--
 src/classdef.h                              |   5 +-
 src/classlist.cpp                           |   2 +-
 src/classlist.h                             |   2 +-
 src/cmdmapper.cpp                           |   2 +-
 src/cmdmapper.h                             |   2 +-
 src/code.h                                  |   2 +-
 src/code.l                                  |   6 +-
 src/commentcnv.h                            |   2 +-
 src/commentcnv.l                            |   2 +-
 src/compound.xsd                            |   1 +
 src/compound_xsd.h                          |   1 +
 src/config.l                                |  30 +-
 src/constexp.h                              |   2 +-
 src/constexp.l                              |   2 +-
 src/constexp.y                              |   2 +-
 src/cppvalue.cpp                            |   2 +-
 src/cppvalue.h                              |   2 +-
 src/debug.cpp                               |   2 +-
 src/debug.h                                 |   2 +-
 src/declinfo.h                              |   2 +-
 src/declinfo.l                              |   2 +-
 src/defargs.h                               |   2 +-
 src/defargs.l                               |   2 +-
 src/defgen.cpp                              |   2 +-
 src/defgen.h                                |   2 +-
 src/define.cpp                              |   2 +-
 src/define.h                                |   2 +-
 src/definition.cpp                          |  10 +-
 src/definition.h                            |   6 +-
 src/diagram.cpp                             |   2 +-
 src/diagram.h                               |   2 +-
 src/docparser.cpp                           |   2 +-
 src/docparser.h                             |   2 +-
 src/doctokenizer.h                          |   2 +-
 src/doctokenizer.l                          |   2 +-
 src/docvisitor.h                            |   2 +-
 src/dot.cpp                                 |   2 +-
 src/dot.h                                   |   2 +-
 src/doxygen.cpp                             |  11 +-
 src/doxygen.h                               |   2 +-
 src/doxygen.pro.in                          |   2 +-
 src/doxytag.l                               |   4 +-
 src/doxytag.pro.in                          |   2 +-
 src/doxytag.t                               |   2 +-
 src/entry.cpp                               |   2 +-
 src/entry.h                                 |   2 +-
 src/example.h                               |   2 +-
 src/filedef.cpp                             |  37 +-
 src/filedef.h                               |   2 +-
 src/filename.cpp                            |   2 +-
 src/filename.h                              |   2 +-
 src/formula.cpp                             |   2 +-
 src/formula.h                               |   2 +-
 src/groupdef.cpp                            |  59 ++-
 src/groupdef.h                              |   2 +-
 src/htmlattrib.h                            |   2 +-
 src/htmldocvisitor.cpp                      |   2 +-
 src/htmldocvisitor.h                        |   2 +-
 src/htmlgen.cpp                             |   2 +-
 src/htmlgen.h                               |   2 +-
 src/htmlhelp.cpp                            |   2 +-
 src/htmlhelp.h                              |   2 +-
 src/image.cpp                               |   2 +-
 src/image.h                                 |   2 +-
 src/index.cpp                               |  18 +-
 src/index.h                                 |   2 +-
 src/index.xsd                               |   1 +
 src/index_xsd.h                             |   1 +
 src/instdox.cpp                             |   2 +-
 src/instdox.h                               |   2 +-
 src/language.cpp                            |   2 +-
 src/language.h                              |   2 +-
 src/latexdocvisitor.cpp                     |   2 +-
 src/latexdocvisitor.h                       |   2 +-
 src/latexgen.cpp                            |  10 +-
 src/latexgen.h                              |   2 +-
 src/libdoxycfg.pro.in                       |   2 +-
 src/libdoxycfg.t                            |   2 +-
 src/libdoxygen.pro.in                       |   2 +-
 src/libdoxygen.t                            |   2 +-
 src/logos.cpp                               |   2 +-
 src/logos.h                                 |   2 +-
 src/main.cpp                                |   2 +-
 src/mandocvisitor.cpp                       |   2 +-
 src/mandocvisitor.h                         |   2 +-
 src/mangen.cpp                              |   2 +-
 src/mangen.h                                |   2 +-
 src/memberdef.cpp                           |  14 +-
 src/memberdef.h                             |   2 +-
 src/membergroup.cpp                         |   2 +-
 src/membergroup.h                           |   2 +-
 src/memberlist.cpp                          |   2 +-
 src/memberlist.h                            |   2 +-
 src/membername.cpp                          |   2 +-
 src/membername.h                            |   2 +-
 src/message.cpp                             |   2 +-
 src/message.h                               |   2 +-
 src/namespacedef.cpp                        |  34 +-
 src/namespacedef.h                          |   2 +-
 src/outputgen.cpp                           |   2 +-
 src/outputgen.h                             |   2 +-
 src/outputlist.cpp                          |   2 +-
 src/outputlist.h                            |   2 +-
 src/pagedef.h                               |   2 +-
 src/perlmodgen.cpp                          |   2 +-
 src/perlmodgen.h                            |   2 +-
 src/pngenc.cpp                              |   2 +-
 src/pngenc.h                                |   2 +-
 src/pre.h                                   |   2 +-
 src/pre.l                                   |  45 +-
 src/printdocvisitor.h                       |   2 +-
 src/qtbc.h                                  |   2 +-
 src/reflist.cpp                             |   2 +-
 src/reflist.h                               |   2 +-
 src/rtfdocvisitor.cpp                       |   2 +-
 src/rtfdocvisitor.h                         |   2 +-
 src/rtfgen.cpp                              |   2 +-
 src/rtfgen.h                                |   2 +-
 src/rtfstyle.cpp                            |   2 +-
 src/rtfstyle.h                              |   2 +-
 src/scanner.h                               |   2 +-
 src/scanner.l                               |  69 ++-
 src/searchindex.cpp                         |   2 +-
 src/searchindex.h                           |   2 +-
 src/section.h                               |   2 +-
 src/sortdict.h                              |   2 +-
 src/tagreader.cpp                           |   2 +-
 src/tagreader.h                             |   2 +-
 src/translator.h                            |   2 +-
 src/translator_br.h                         |   2 +-
 src/translator_ca.h                         |   2 +-
 src/translator_cn.h                         |   2 +-
 src/translator_cz.h                         |   2 +-
 src/translator_de.h                         |   2 +-
 src/translator_dk.h                         |   2 +-
 src/translator_en.h                         |   2 +-
 src/translator_es.h                         |   2 +-
 src/translator_fi.h                         |   2 +-
 src/translator_fr.h                         |   2 +-
 src/translator_gr.h                         |   2 +-
 src/translator_hr.h                         |   2 +-
 src/translator_hu.h                         | 785 +++++++++++++++++++++++-----
 src/translator_it.h                         |   2 +-
 src/translator_je.h                         |   2 +-
 src/translator_jp.h                         |   2 +-
 src/translator_ke.h                         |   2 +-
 src/translator_kr.h                         |   2 +-
 src/translator_nl.h                         |   2 +-
 src/translator_no.h                         |   2 +-
 src/translator_pl.h                         |   2 +-
 src/translator_pt.h                         |   2 +-
 src/translator_ro.h                         |   2 +-
 src/translator_ru.h                         |   2 +-
 src/translator_se.h                         |   2 +-
 src/translator_si.h                         |   2 +-
 src/translator_sk.h                         |   2 +-
 src/translator_sr.h                         |   2 +-
 src/translator_tw.h                         |   2 +-
 src/translator_ua.h                         |   2 +-
 src/util.cpp                                |  30 +-
 src/util.h                                  |   5 +-
 src/version.h                               |   2 +-
 src/xmldocvisitor.cpp                       |   2 +-
 src/xmldocvisitor.h                         |   2 +-
 src/xmlgen.cpp                              |  78 ++-
 src/xmlgen.h                                |   2 +-
 wintools/Doxygen.dsp                        |  19 +-
 wintools/Doxygen.dsw                        |  58 +-
 wintools/Doxytag.dsp                        |  10 -
 wintools/libpng.dsp                         |   2 -
 wintools/qtools.dsp                         |   2 -
 wintools/zlib.dsp                           |   2 -
 251 files changed, 1440 insertions(+), 601 deletions(-)

diff --git a/INSTALL b/INSTALL
index 24a222b..3a53bbe 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,7 +1,7 @@
-DOXYGEN Version 1.3.5
+DOXYGEN Version 1.3.5-20040105
 
 Please read the installation section of the manual 
 (http://www.doxygen.org/install.html) for instructions.
 
 --------
-Dimitri van Heesch (14 December 2003)
+Dimitri van Heesch (05 January 2004)
diff --git a/README b/README
index cdee277..d03e231 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-DOXYGEN Version 1.3.5
+DOXYGEN Version 1.3.5_20040105
 
 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) (14 December 2003)
+Dimitri van Heesch (dimitri@stack.nl) (05 January 2004)
diff --git a/VERSION b/VERSION
index 80e78df..d0ecafe 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.3.5
+1.3.5-20040105
diff --git a/addon/doxmlparser/include/doxmlintf.h b/addon/doxmlparser/include/doxmlintf.h
index e79946d..7296b6e 100644
--- a/addon/doxmlparser/include/doxmlintf.h
+++ b/addon/doxmlparser/include/doxmlintf.h
@@ -3,7 +3,7 @@
  * $Id$
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxmlparser/src/basehandler.h b/addon/doxmlparser/src/basehandler.h
index 1674cbd..f442b48 100644
--- a/addon/doxmlparser/src/basehandler.h
+++ b/addon/doxmlparser/src/basehandler.h
@@ -3,7 +3,7 @@
  * $Id$
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
@@ -129,6 +129,9 @@ template<class T> class BaseHandler : public QXmlDefaultHandler,
                                       public IBaseHandler
 {
   public:
+    typedef typename ElementMapper<T>::StartElementHandlerT StartElementHandlerT;
+    typedef typename ElementMapper<T>::EndElementHandlerT EndElementHandlerT;
+
     BaseHandler() : m_delegateHandler(0), m_fallBackHandler(0)
     {
     }
@@ -285,12 +288,16 @@ template<class T> class BaseFallBackHandler : public ElementMapper<T>,
                                               public IFallBackHandler
 {
   public:
+    typedef typename ElementMapper<T>::StartElementHandlerT StartElementHandlerT;
+    typedef typename ElementMapper<T>::EndElementHandlerT EndElementHandlerT;
+
     BaseFallBackHandler() 
     {
     }
     virtual ~BaseFallBackHandler()
     {
     }
+    
     bool handleStartElement(const QString & name, 
                                     const QXmlAttributes & attrib)
     {
diff --git a/addon/doxmlparser/src/baseiterator.h b/addon/doxmlparser/src/baseiterator.h
index ac8eeb1..ae86f16 100644
--- a/addon/doxmlparser/src/baseiterator.h
+++ b/addon/doxmlparser/src/baseiterator.h
@@ -3,7 +3,7 @@
  * $Id$
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxmlparser/src/compoundhandler.cpp b/addon/doxmlparser/src/compoundhandler.cpp
index e603975..f75b330 100644
--- a/addon/doxmlparser/src/compoundhandler.cpp
+++ b/addon/doxmlparser/src/compoundhandler.cpp
@@ -3,7 +3,7 @@
  * $Id$
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxmlparser/src/compoundhandler.h b/addon/doxmlparser/src/compoundhandler.h
index 5cdca35..82cb13a 100644
--- a/addon/doxmlparser/src/compoundhandler.h
+++ b/addon/doxmlparser/src/compoundhandler.h
@@ -3,7 +3,7 @@
  * $Id$
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxmlparser/src/dochandler.cpp b/addon/doxmlparser/src/dochandler.cpp
index 7a2113a..6b85d59 100644
--- a/addon/doxmlparser/src/dochandler.cpp
+++ b/addon/doxmlparser/src/dochandler.cpp
@@ -3,7 +3,7 @@
  * $Id$
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxmlparser/src/dochandler.h b/addon/doxmlparser/src/dochandler.h
index e508bd6..be577aa 100644
--- a/addon/doxmlparser/src/dochandler.h
+++ b/addon/doxmlparser/src/dochandler.h
@@ -3,7 +3,7 @@
  * $Id$
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxmlparser/src/doxmlintf.h b/addon/doxmlparser/src/doxmlintf.h
index e79946d..7296b6e 100644
--- a/addon/doxmlparser/src/doxmlintf.h
+++ b/addon/doxmlparser/src/doxmlintf.h
@@ -3,7 +3,7 @@
  * $Id$
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxmlparser/src/graphhandler.h b/addon/doxmlparser/src/graphhandler.h
index 9170764..227681e 100644
--- a/addon/doxmlparser/src/graphhandler.h
+++ b/addon/doxmlparser/src/graphhandler.h
@@ -3,7 +3,7 @@
  * $Id$
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxmlparser/src/linkedtexthandler.cpp b/addon/doxmlparser/src/linkedtexthandler.cpp
index 10f3a07..4caf409 100644
--- a/addon/doxmlparser/src/linkedtexthandler.cpp
+++ b/addon/doxmlparser/src/linkedtexthandler.cpp
@@ -3,7 +3,7 @@
  * $Id$
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxmlparser/src/linkedtexthandler.h b/addon/doxmlparser/src/linkedtexthandler.h
index 6cd4ee4..06ed07e 100644
--- a/addon/doxmlparser/src/linkedtexthandler.h
+++ b/addon/doxmlparser/src/linkedtexthandler.h
@@ -3,7 +3,7 @@
  * $Id$
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxmlparser/src/loamhandler.h b/addon/doxmlparser/src/loamhandler.h
index f03c541..2709354 100644
--- a/addon/doxmlparser/src/loamhandler.h
+++ b/addon/doxmlparser/src/loamhandler.h
@@ -3,7 +3,7 @@
  * $Id$
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxmlparser/src/mainhandler.cpp b/addon/doxmlparser/src/mainhandler.cpp
index 09d12c7..c610f04 100644
--- a/addon/doxmlparser/src/mainhandler.cpp
+++ b/addon/doxmlparser/src/mainhandler.cpp
@@ -3,7 +3,7 @@
  * $Id$
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxmlparser/src/mainhandler.h b/addon/doxmlparser/src/mainhandler.h
index 9153ca2..64f36cf 100644
--- a/addon/doxmlparser/src/mainhandler.h
+++ b/addon/doxmlparser/src/mainhandler.h
@@ -3,7 +3,7 @@
  * $Id$
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxmlparser/src/memberhandler.cpp b/addon/doxmlparser/src/memberhandler.cpp
index 2ea5e4b..b98277e 100644
--- a/addon/doxmlparser/src/memberhandler.cpp
+++ b/addon/doxmlparser/src/memberhandler.cpp
@@ -3,7 +3,7 @@
  * $Id$
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxmlparser/src/memberhandler.h b/addon/doxmlparser/src/memberhandler.h
index 1a02df3..4897fa2 100644
--- a/addon/doxmlparser/src/memberhandler.h
+++ b/addon/doxmlparser/src/memberhandler.h
@@ -3,7 +3,7 @@
  * $Id$
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxmlparser/src/paramhandler.cpp b/addon/doxmlparser/src/paramhandler.cpp
index a19ec1b..8f4532b 100644
--- a/addon/doxmlparser/src/paramhandler.cpp
+++ b/addon/doxmlparser/src/paramhandler.cpp
@@ -3,7 +3,7 @@
  * $Id$
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxmlparser/src/paramhandler.h b/addon/doxmlparser/src/paramhandler.h
index 1f160f2..ee88a70 100644
--- a/addon/doxmlparser/src/paramhandler.h
+++ b/addon/doxmlparser/src/paramhandler.h
@@ -3,7 +3,7 @@
  * $Id$
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxmlparser/src/sectionhandler.cpp b/addon/doxmlparser/src/sectionhandler.cpp
index 0703de1..82eb475 100644
--- a/addon/doxmlparser/src/sectionhandler.cpp
+++ b/addon/doxmlparser/src/sectionhandler.cpp
@@ -3,7 +3,7 @@
  * $Id$
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxmlparser/src/sectionhandler.h b/addon/doxmlparser/src/sectionhandler.h
index b6b674f..e21a0c5 100644
--- a/addon/doxmlparser/src/sectionhandler.h
+++ b/addon/doxmlparser/src/sectionhandler.h
@@ -3,7 +3,7 @@
  * $Id$
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxywizard/Makefile.in b/addon/doxywizard/Makefile.in
index b2e8306..89bcc91 100644
--- a/addon/doxywizard/Makefile.in
+++ b/addon/doxywizard/Makefile.in
@@ -1,7 +1,7 @@
 #
 # 
 #
-# Copyright (C) 1997-2003 by Dimitri van Heesch.
+# Copyright (C) 1997-2004 by Dimitri van Heesch.
 # 
 # Permission to use, copy, modify, and distribute this software and its
 # documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxywizard/Makefile.win_nmake.in b/addon/doxywizard/Makefile.win_nmake.in
index 8635e89..ab942a8 100644
--- a/addon/doxywizard/Makefile.win_nmake.in
+++ b/addon/doxywizard/Makefile.win_nmake.in
@@ -1,7 +1,7 @@
 #
 # 
 #
-# Copyright (C) 1997-2003 by Dimitri van Heesch.
+# Copyright (C) 1997-2004 by Dimitri van Heesch.
 # 
 # Permission to use, copy, modify, and distribute this software and its
 # documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxywizard/doxywizard.cpp b/addon/doxywizard/doxywizard.cpp
index 52e3b59..abc119b 100644
--- a/addon/doxywizard/doxywizard.cpp
+++ b/addon/doxywizard/doxywizard.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxywizard/doxywizard.h b/addon/doxywizard/doxywizard.h
index bbb8682..7b40ec8 100644
--- a/addon/doxywizard/doxywizard.h
+++ b/addon/doxywizard/doxywizard.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxywizard/doxywizard.pro.in b/addon/doxywizard/doxywizard.pro.in
index 7543659..ae7a8a4 100644
--- a/addon/doxywizard/doxywizard.pro.in
+++ b/addon/doxywizard/doxywizard.pro.in
@@ -1,7 +1,7 @@
 #
 # 
 #
-# Copyright (C) 1997-2003 by Dimitri van Heesch.
+# Copyright (C) 1997-2004 by Dimitri van Heesch.
 #
 # Permission to use, copy, modify, and distribute this software and its
 # documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxywizard/doxywizard.t b/addon/doxywizard/doxywizard.t
index 88a86bf..c7576de 100644
--- a/addon/doxywizard/doxywizard.t
+++ b/addon/doxywizard/doxywizard.t
@@ -1,7 +1,7 @@
 #
 # 
 #
-# Copyright (C) 1997-2003 by Dimitri van Heesch.
+# Copyright (C) 1997-2004 by Dimitri van Heesch.
 #
 # Permission to use, copy, modify, and distribute this software and its
 # documentation under the terms of the GNU General Public License is hereby
diff --git a/addon/doxywizard/inputbool.cpp b/addon/doxywizard/inputbool.cpp
index 7389ffb..be3d630 100644
--- a/addon/doxywizard/inputbool.cpp
+++ b/addon/doxywizard/inputbool.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxywizard/inputbool.h b/addon/doxywizard/inputbool.h
index 878a895..978d136 100644
--- a/addon/doxywizard/inputbool.h
+++ b/addon/doxywizard/inputbool.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxywizard/inputint.cpp b/addon/doxywizard/inputint.cpp
index 58249ae..e5d98ac 100644
--- a/addon/doxywizard/inputint.cpp
+++ b/addon/doxywizard/inputint.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxywizard/inputint.h b/addon/doxywizard/inputint.h
index bbd81de..44719c4 100644
--- a/addon/doxywizard/inputint.h
+++ b/addon/doxywizard/inputint.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxywizard/inputstring.cpp b/addon/doxywizard/inputstring.cpp
index 212abef..27ca564 100644
--- a/addon/doxywizard/inputstring.cpp
+++ b/addon/doxywizard/inputstring.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxywizard/inputstring.h b/addon/doxywizard/inputstring.h
index 05b0a33..657bfa7 100644
--- a/addon/doxywizard/inputstring.h
+++ b/addon/doxywizard/inputstring.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxywizard/inputstrlist.cpp b/addon/doxywizard/inputstrlist.cpp
index 3bd97ff..25d3ca3 100644
--- a/addon/doxywizard/inputstrlist.cpp
+++ b/addon/doxywizard/inputstrlist.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxywizard/inputstrlist.h b/addon/doxywizard/inputstrlist.h
index 3af1fb5..1b351ea 100644
--- a/addon/doxywizard/inputstrlist.h
+++ b/addon/doxywizard/inputstrlist.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxywizard/pagewidget.cpp b/addon/doxywizard/pagewidget.cpp
index 85a0216..9e5a2fe 100644
--- a/addon/doxywizard/pagewidget.cpp
+++ b/addon/doxywizard/pagewidget.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxywizard/pagewidget.h b/addon/doxywizard/pagewidget.h
index 579f375..6da0ee4 100644
--- a/addon/doxywizard/pagewidget.h
+++ b/addon/doxywizard/pagewidget.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxywizard/pixmaps.cpp b/addon/doxywizard/pixmaps.cpp
index cd23a80..822edf6 100644
--- a/addon/doxywizard/pixmaps.cpp
+++ b/addon/doxywizard/pixmaps.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxywizard/pixmaps.h b/addon/doxywizard/pixmaps.h
index 457376d..fa85382 100644
--- a/addon/doxywizard/pixmaps.h
+++ b/addon/doxywizard/pixmaps.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/addon/doxywizard/qtbc.h b/addon/doxywizard/qtbc.h
index 5f9abc9..ed1ab98 100644
--- a/addon/doxywizard/qtbc.h
+++ b/addon/doxywizard/qtbc.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/Makefile.in b/doc/Makefile.in
index d1b422d..3a0dd7b 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,7 +1,7 @@
 #
 # 
 #
-# Copyright (C) 1997-2003 by Dimitri van Heesch.
+# Copyright (C) 1997-2004 by Dimitri van Heesch.
 #
 # Permission to use, copy, modify, and distribute this software and its
 # documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/Makefile.latex b/doc/Makefile.latex
index 57efde9..8a47094 100644
--- a/doc/Makefile.latex
+++ b/doc/Makefile.latex
@@ -1,7 +1,7 @@
 #
 # 
 #
-# Copyright (C) 1997-2002 by Dimitri van Heesch.
+# Copyright (C) 1997-2004 by Dimitri van Heesch.
 #
 # Permission to use, copy, modify, and distribute this software and its
 # documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/Makefile.win_make.in b/doc/Makefile.win_make.in
index 0f91e85..7444f6c 100644
--- a/doc/Makefile.win_make.in
+++ b/doc/Makefile.win_make.in
@@ -1,7 +1,7 @@
 #
 # 
 #
-# Copyright (C) 1997-2003 by Dimitri van Heesch.
+# Copyright (C) 1997-2004 by Dimitri van Heesch.
 #
 # Permission to use, copy, modify, and distribute this software and its
 # documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/Makefile.win_nmake.in b/doc/Makefile.win_nmake.in
index 0fb69c3..5475eba 100644
--- a/doc/Makefile.win_nmake.in
+++ b/doc/Makefile.win_nmake.in
@@ -1,7 +1,7 @@
 #
 # 
 #
-# Copyright (C) 1997-2003 by Dimitri van Heesch.
+# Copyright (C) 1997-2004 by Dimitri van Heesch.
 #
 # Permission to use, copy, modify, and distribute this software and its
 # documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/arch.doc b/doc/arch.doc
index 47ff663..ddae158 100644
--- a/doc/arch.doc
+++ b/doc/arch.doc
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/autolink.doc b/doc/autolink.doc
index 9925a8e..04e386a 100644
--- a/doc/autolink.doc
+++ b/doc/autolink.doc
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/commands.doc b/doc/commands.doc
index ffe8158..44ad5c4 100644
--- a/doc/commands.doc
+++ b/doc/commands.doc
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/config.doc b/doc/config.doc
index c1be0fb..47fdf82 100644
--- a/doc/config.doc
+++ b/doc/config.doc
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
@@ -182,6 +182,7 @@ followed by the descriptions of the tags grouped by category.
 \refitem cfg_show_include_files SHOW_INCLUDE_FILES
 \refitem cfg_show_used_files SHOW_USED_FILES
 \refitem cfg_skip_function_macros SKIP_FUNCTION_MACROS
+\refitem cfg_sort_brief_docs SORT_BRIEF_DOCS
 \refitem cfg_sort_member_docs SORT_MEMBER_DOCS
 \refitem cfg_source_browser SOURCE_BROWSER
 \refitem cfg_strip_code_comments STRIP_CODE_COMMENTS
@@ -536,6 +537,14 @@ function's detailed documentation block.
  alphabetically by member name. If set to \c NO the members will appear in
  declaration order.
 
+\anchor cfg_sort_brief_docs
+<dt>\c SORT_BRIEF_DOCS <dd>
+ \addindex SORT_BRIEF_DOCS
+ If the \c SORT_BRIEF_DOCS tag is set to \c YES then doxygen will sort the
+ brief descriptions of file, namespace and class members alphabetically
+ by member name. If set to \c NO (the default) the members will appear in
+ declaration order.
+
 \anchor cfg_generate_deprecatedlist
 <dt>\c GENERATE_DEPRECATEDLIST <dd>
  \addindex GENERATE_DEPRECATEDLIST
diff --git a/doc/diagrams.doc b/doc/diagrams.doc
index 9ba9a7d..3e8f86b 100644
--- a/doc/diagrams.doc
+++ b/doc/diagrams.doc
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/docblocks.doc b/doc/docblocks.doc
index 9c7ac40..17a7cba 100644
--- a/doc/docblocks.doc
+++ b/doc/docblocks.doc
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/doxygen.sty b/doc/doxygen.sty
index 04cf9f1..7c24e26 100644
--- a/doc/doxygen.sty
+++ b/doc/doxygen.sty
@@ -1,7 +1,7 @@
 %
 % 
 %
-% Copyright (C) 1997-2003 by Dimitri van Heesch.
+% Copyright (C) 1997-2004 by Dimitri van Heesch.
 %
 % Permission to use, copy, modify, and distribute this software and its
 % documentation under the terms of the GNU General Public License is hereby 
@@ -24,8 +24,8 @@
         {\fancyplain{}{\bfseries\rightmark}}
 \rhead[\fancyplain{}{\bfseries\leftmark}]
         {\fancyplain{}{\bfseries\thepage}}
-\rfoot[\fancyplain{}{\bfseries\scriptsize User Manual for Doxygen $VERSION, written by Dimitri van Heesch \copyright 1997-2003}]{}
-\lfoot[]{\fancyplain{}{\bfseries\scriptsize User Manual for Doxygen $VERSION, written by Dimitri van Heesch \copyright 1997-2003}}
+\rfoot[\fancyplain{}{\bfseries\scriptsize User Manual for Doxygen $VERSION, written by Dimitri van Heesch \copyright 1997-2004}]{}
+\lfoot[]{\fancyplain{}{\bfseries\scriptsize User Manual for Doxygen $VERSION, written by Dimitri van Heesch \copyright 1997-2004}}
 \cfoot{}
 \newenvironment{CompactList}
 {\begin{list}{}{
diff --git a/doc/doxygen_manual.tex b/doc/doxygen_manual.tex
index 33c2f0b..034e03c 100644
--- a/doc/doxygen_manual.tex
+++ b/doc/doxygen_manual.tex
@@ -1,7 +1,7 @@
 %
 % 
 %
-% Copyright (C) 1997-2003 by Dimitri van Heesch.
+% Copyright (C) 1997-2004 by Dimitri van Heesch.
 %
 % Permission to use, copy, modify, and distribute this software and its
 % documentation under the terms of the GNU General Public License is hereby 
@@ -37,7 +37,7 @@
 \begin{center}
 Manual for version $VERSION\\[2ex]
 Written by Dimitri van Heesch\\[2ex]
-\copyright 1997-2003
+\copyright 1997-2004
 \end{center}
 \end{titlepage}
 \clearemptydoublepage
diff --git a/doc/doxygen_usage.doc b/doc/doxygen_usage.doc
index 47e5aec..2462fc3 100644
--- a/doc/doxygen_usage.doc
+++ b/doc/doxygen_usage.doc
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/doxytag_usage.doc b/doc/doxytag_usage.doc
index b4472d8..d744f35 100644
--- a/doc/doxytag_usage.doc
+++ b/doc/doxytag_usage.doc
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/doxywizard_usage.doc b/doc/doxywizard_usage.doc
index cb227d6..468f3fa 100644
--- a/doc/doxywizard_usage.doc
+++ b/doc/doxywizard_usage.doc
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/external.doc b/doc/external.doc
index 9f21593..ba29fb0 100644
--- a/doc/external.doc
+++ b/doc/external.doc
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/faq.doc b/doc/faq.doc
index 7bfa112..646d43a 100644
--- a/doc/faq.doc
+++ b/doc/faq.doc
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/features.doc b/doc/features.doc
index eaeefbf..6a2a3d0 100644
--- a/doc/features.doc
+++ b/doc/features.doc
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/formulas.doc b/doc/formulas.doc
index b81ef44..db52c3f 100644
--- a/doc/formulas.doc
+++ b/doc/formulas.doc
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/grouping.doc b/doc/grouping.doc
index 8ad0b07..2a1fe89 100644
--- a/doc/grouping.doc
+++ b/doc/grouping.doc
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/history.doc b/doc/history.doc
index 5c76556..095358e 100644
--- a/doc/history.doc
+++ b/doc/history.doc
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/htmlcmds.doc b/doc/htmlcmds.doc
index 61b84bc..e574b37 100644
--- a/doc/htmlcmds.doc
+++ b/doc/htmlcmds.doc
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/index.doc b/doc/index.doc
index f74b976..7e8ce2c 100644
--- a/doc/index.doc
+++ b/doc/index.doc
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
@@ -27,7 +27,7 @@ Version: $(VERSION)
 
 <h2>Introduction</h2>
 Doxygen is a documentation system for C++, C, Java, IDL 
-(Corba and Microsoft flavors) and to some extent PHP and C#. 
+(Corba and Microsoft flavors) and to some extent PHP, C# and D. 
 
 It can help you in three ways:
 <ol>
@@ -113,7 +113,7 @@ The third part provides information for developers:
 \addindex license
 \addindex GPL
 
-Copyright &copy; 1997-2003 by 
+Copyright &copy; 1997-2004 by 
 <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>.<p>
 
 Permission to use, copy, modify, and distribute this software and its
diff --git a/doc/install.doc b/doc/install.doc
index f0bdbf6..f996711 100644
--- a/doc/install.doc
+++ b/doc/install.doc
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/installdox_usage.doc b/doc/installdox_usage.doc
index a3794e1..9b352e0 100644
--- a/doc/installdox_usage.doc
+++ b/doc/installdox_usage.doc
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/language.doc b/doc/language.doc
index 3670cd8..8434f74 100644
--- a/doc/language.doc
+++ b/doc/language.doc
@@ -5,7 +5,7 @@
  *          Do not edit this file.  Edit the above mentioned files!
  * 
  *
- * Copyright (C) 1997-2002 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
@@ -25,14 +25,14 @@ Doxygen has built-in support for multiple languages. This means
 that the text fragments that doxygen generates can be produced in
 languages other than English (the default) at configuration time.
 
-Currently (version 1.3.5), 29 languages 
+Currently (version 1.3.5), 30 languages 
 are supported (sorted alphabetically): 
 Brazilian Portuguese, Catalan, Chinese, Chinese Traditional, Croatian, 
 Czech, Danish, Dutch, English, Finnish, 
 French, German, Greek, Hungarian, Italian, 
-Japanese, JapaneseEn, Korean, Norwegian, Polish, 
-Portuguese, Romanian, Russian, Serbian, Slovak, 
-Slovene, Spanish, Swedish, and Ukrainian.
+Japanese, JapaneseEn, Korean, KoreanEn, Norwegian, 
+Polish, Portuguese, Romanian, Russian, Serbian, 
+Slovak, Slovene, Spanish, Swedish, and Ukrainian.
 
 The table of information related to the supported languages follows.
 It is sorted by language alphabetically.  The <b>Status</b> column
@@ -131,9 +131,9 @@ when the translator was updated.
   </TR>
   <TR BGCOLOR="#ffffff">
       <TD>Hungarian</TD>  
-      <TD>F&ouml;ldv&aacute;ri Gy&ouml;rgy</TD>
-      <TD>foldvari@NOSPAM.diatronltd.com</TD>
-      <TD>1.2.1</TD>
+      <TD>F&ouml;ldv&aacute;ri Gy&ouml;rgy<br>&Aacute;kos Kiss</TD>
+      <TD>foldvari@NOSPAM.diatronltd.com<br>akiss@NOSPAM.users.sourceforge.net</TD>
+      <TD>up-to-date</TD>
   </TR>
   <TR BGCOLOR="#ffffff">
       <TD>Italian</TD>  
@@ -160,6 +160,12 @@ when the translator was updated.
       <TD>up-to-date</TD>
   </TR>
   <TR BGCOLOR="#ffffff">
+      <TD>KoreanEn</TD>  
+      <TD>unknown</TD>
+      <TD>unknown</TD>
+      <TD>obsolete</TD>
+  </TR>
+  <TR BGCOLOR="#ffffff">
       <TD>Norwegian</TD>  
       <TD>Lars Erik Jordet</TD>
       <TD>lej@NOSPAM.circuitry.no</TD>
@@ -169,7 +175,7 @@ when the translator was updated.
       <TD>Polish</TD>  
       <TD>Piotr Kaminski<br>Grzegorz Kowal</TD>
       <TD>Piotr.Kaminski@NOSPAM.ctm.gdynia.pl<br>g_kowal@NOSPAM.poczta.onet.pl</TD>
-      <TD>strange</TD>
+      <TD>1.3</TD>
   </TR>
   <TR BGCOLOR="#ffffff">
       <TD>Portuguese</TD>  
@@ -193,7 +199,7 @@ when the translator was updated.
       <TD>Serbian</TD>  
       <TD>Dejan Milosavljevic</TD>
       <TD>dmilos@NOSPAM.email.com</TD>
-      <TD>1.3.3</TD>
+      <TD>up-to-date</TD>
   </TR>
   <TR BGCOLOR="#ffffff">
       <TD>Slovak</TD>  
@@ -264,7 +270,8 @@ when the translator was updated.
   \hline
   Greek & Harry Kalogirou & {\tt harkal@rainbow.cs.unipi.gr} & 1.2.11 \\
   \hline
-  Hungarian & F\"{o}ldv\'{a}ri Gy\"{o}rgy & {\tt foldvari@diatronltd.com} & 1.2.1 \\
+  Hungarian & F\"{o}ldv\'{a}ri Gy\"{o}rgy & {\tt foldvari@diatronltd.com} & up-to-date \\
+   & \'{A}kos Kiss & {\tt akiss@users.sourceforge.net} &  \\
   \hline
   Italian & Alessandro Falappa & {\tt alessandro@falappa.net} & up-to-date \\
    & Ahmed Aldo Faisal & {\tt aaf23@cam.ac.uk} &  \\
@@ -276,9 +283,11 @@ when the translator was updated.
   \hline
   Korean & Richard Kim & {\tt ryk@dspwiz.com} & up-to-date \\
   \hline
+  KoreanEn & unknown & {\tt unknown} & obsolete \\
+  \hline
   Norwegian & Lars Erik Jordet & {\tt lej@circuitry.no} & 1.2.2 \\
   \hline
-  Polish & Piotr Kaminski & {\tt Piotr.Kaminski@ctm.gdynia.pl} & strange \\
+  Polish & Piotr Kaminski & {\tt Piotr.Kaminski@ctm.gdynia.pl} & 1.3 \\
    & Grzegorz Kowal & {\tt g\_kowal@poczta.onet.pl} &  \\
   \hline
   Portuguese & Rui Godinho Lopes & {\tt ruiglopes@yahoo.com} & 1.3.3 \\
@@ -287,7 +296,7 @@ when the translator was updated.
   \hline
   Russian & Alexandr Chelpanov & {\tt cav@cryptopro.ru} & up-to-date \\
   \hline
-  Serbian & Dejan Milosavljevic & {\tt dmilos@email.com} & 1.3.3 \\
+  Serbian & Dejan Milosavljevic & {\tt dmilos@email.com} & up-to-date \\
   \hline
   Slovak & Stanislav Kudl\'{a}\v{c} & {\tt skudlac@pobox.sk} & 1.2.18 \\
   \hline
diff --git a/doc/language.tpl b/doc/language.tpl
index fcf6da0..f33a256 100644
--- a/doc/language.tpl
+++ b/doc/language.tpl
@@ -3,7 +3,7 @@
  * Edit manually this file, not the language.doc!</notice>
  * 
  *
- * Copyright (C) 1997-2002 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/maintainers.txt b/doc/maintainers.txt
index e865c44..14339af 100644
--- a/doc/maintainers.txt
+++ b/doc/maintainers.txt
@@ -1,5 +1,11 @@
-% comments start with % sign at the beginning
-% xml entities like &auml; are used for special characters
+% Comments start with % sign at the beginning.
+% XML entities like &auml; are used for special characters.
+% There is one record for each language. The records are separated
+% by the empty line and they do not contain empty lines.
+% First line of the record identifies the language.
+% The following one or more lines contain information about 
+% the maintainer(s) for the language (one line, one maintainer)
+% in the form: <readable name><colon><e-mail>
 
 Brazilian
 Fabio "FJTC" Jun Takada Chino: chino@icmc.sc.usp.br
@@ -44,6 +50,7 @@ Harry Kalogirou: harkal@rainbow.cs.unipi.gr
 
 Hungarian
 F&ouml;ldv&aacute;ri Gy&ouml;rgy: foldvari@diatronltd.com
+&Aacute;kos Kiss: akiss@users.sourceforge.net
 
 Italian 
 Alessandro Falappa: alessandro@falappa.net 
diff --git a/doc/output.doc b/doc/output.doc
index 160cb82..a1f89aa 100644
--- a/doc/output.doc
+++ b/doc/output.doc
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/preprocessing.doc b/doc/preprocessing.doc
index 557310b..bce601a 100644
--- a/doc/preprocessing.doc
+++ b/doc/preprocessing.doc
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/starting.doc b/doc/starting.doc
index 534d339..1d9d434 100644
--- a/doc/starting.doc
+++ b/doc/starting.doc
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/doc/translator.pl b/doc/translator.pl
index d6204c9..89721f7 100644
--- a/doc/translator.pl
+++ b/doc/translator.pl
@@ -122,6 +122,14 @@
 #  - Changes to display languages with two words more naturally 
 #    (like "Chinese Traditional" instead of "Chinesetraditional"
 #    or "Brazilian Portuguese" instead of "Brazilian").
+#
+# ATTENTION! Development of this script is stopped. Only the errors
+# are going to be fixed. Look for the translator.py as the replacement. 
+#
+# 2003/12/18
+#  - Fixed the bug for maintainers with name starting with special 
+#    character (like &Aacute;).
+#  - The &Aacute; translation to LaTeX.
 # 
 ################################################################
 
@@ -648,7 +656,7 @@ xxxTABLE_FOOTxxx
     # Join the information for one language into one line,
     # and remove empty lines.
     #
-    $maintainers =~ s{\b\n\b}{<sep/>}sg;
+    $maintainers =~ s{\b\n(\S)}{<sep/>$1}sg;
     $maintainers =~ s{\n{2,}}{\n}sg;    
     $maintainers =~ s{^\n+}{}s;
     $maintainers =~ s{\n+$}{}s;
@@ -722,6 +730,11 @@ xxxTABLE_FOOTxxx
         }
         
         if ($i == 0) { 
+            $i = $status =~ s{^TranslatorAdapter_(\d)_(\d)}
+                             {$1.$2}x;
+        }
+        
+        if ($i == 0) { 
             $i = $status =~ s{^TranslatorEnglish$}
                              {obsolete}x;
         }
@@ -831,6 +844,7 @@ xxxTABLE_FOOTxxx
     $tableHTML =~ s{&rcaron;}{&#x0159;}sg; 
     
     $tableLATEX =~ s/&aacute;/\\'{a}/sg;
+    $tableLATEX =~ s/&Aacute;/\\'{A}/sg;
     $tableLATEX =~ s/&auml;/\\"{a}/sg;
     $tableLATEX =~ s/&ouml;/\\"{o}/sg;
     $tableLATEX =~ s/&oslash;/\\o{}/sg;
diff --git a/doc/trouble.doc b/doc/trouble.doc
index 541d6cf..e4165fb 100644
--- a/doc/trouble.doc
+++ b/doc/trouble.doc
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/examples/define.h b/examples/define.h
index 68d2453..c330447 100644
--- a/examples/define.h
+++ b/examples/define.h
@@ -14,4 +14,5 @@
 */
 #define ABS(x) (((x)>0)?(x):-(x))
 #define MAX(x,y) ((x)>(y)?(x):(y))
-#define MIN(x,y) ((x)>(y)?(y):(x)) /*!< Computes the minimum of \a x and \a y. */
+#define MIN(x,y) ((x)>(y)?(y):(x)) 
+        /*!< Computes the minimum of \a x and \a y. */
diff --git a/src/Makefile.in b/src/Makefile.in
index ccb63ca..8c5b655 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -2,7 +2,7 @@
 #
 # 
 #
-# Copyright (C) 1997-2003 by Dimitri van Heesch.
+# Copyright (C) 1997-2004 by Dimitri van Heesch.
 # 
 # Permission to use, copy, modify, and distribute this software and its
 # documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/bufstr.h b/src/bufstr.h
index c79287e..2426fac 100644
--- a/src/bufstr.h
+++ b/src/bufstr.h
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/classdef.cpp b/src/classdef.cpp
index c061257..9ca6ae8 100644
--- a/src/classdef.cpp
+++ b/src/classdef.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
@@ -42,8 +42,9 @@
 ClassDef::ClassDef(
     const char *defFileName,int defLine,
     const char *nm,CompoundType ct,
-    const char *lref,const char *fName) 
- : Definition(defFileName,defLine,removeRedundantWhiteSpace(nm)) 
+    const char *lref,const char *fName,
+    bool isSymbol) 
+ : Definition(defFileName,defLine,removeRedundantWhiteSpace(nm),0,0,isSymbol) 
 {
   m_compType=ct;
   QCString compoundName=compoundTypeString();
@@ -219,12 +220,18 @@ void ClassDef::internalInsertMember(MemberDef *md,
     if (md->isRelated() && 
         (Config_getBool("EXTRACT_PRIVATE") || prot!=Private))
     {
-      related.append(md);
+      if (Config_getBool("SORT_BRIEF_DOCS"))
+        related.inSort(md);
+      else
+        related.append(md);
       md->setSectionList(this,&related);
     }
     else if (md->isFriend())
     {
-      friends.append(md);
+      if (Config_getBool("SORT_BRIEF_DOCS"))
+        friends.inSort(md);
+      else
+        friends.append(md);
       md->setSectionList(this,&friends);
     }
     else
@@ -232,19 +239,31 @@ void ClassDef::internalInsertMember(MemberDef *md,
       switch (md->memberType())
       {
         case MemberDef::Signal: // Qt specific
-          signals.append(md);
+          if (Config_getBool("SORT_BRIEF_DOCS"))
+            signals.inSort(md);
+          else
+            signals.append(md);
           md->setSectionList(this,&signals);
           break;
         case MemberDef::DCOP:   // KDE2 specific
-          dcopMethods.append(md);
+          if (Config_getBool("SORT_BRIEF_DOCS"))
+            dcopMethods.inSort(md);
+          else
+            dcopMethods.append(md);
           md->setSectionList(this,&dcopMethods);
           break;
         case MemberDef::Property:
-          properties.append(md);
+          if (Config_getBool("SORT_BRIEF_DOCS"))
+            properties.inSort(md);
+          else
+            properties.append(md);
           md->setSectionList(this,&properties);
           break;
         case MemberDef::Event:
-          events.append(md);
+          if (Config_getBool("SORT_BRIEF_DOCS"))
+            events.inSort(md);
+          else
+            events.append(md);
           md->setSectionList(this,&events);
           break;
         case MemberDef::Slot:   // Qt specific
@@ -252,16 +271,25 @@ void ClassDef::internalInsertMember(MemberDef *md,
           {
             case Protected: 
             case Package: // slots in packages are not possible!
-              proSlots.append(md); 
+              if (Config_getBool("SORT_BRIEF_DOCS"))
+                proSlots.inSort(md);
+              else
+                proSlots.append(md); 
               md->setSectionList(this,&proSlots);
               break;
               break;
             case Public:    
-              pubSlots.append(md); 
+              if (Config_getBool("SORT_BRIEF_DOCS"))
+                pubSlots.inSort(md);
+              else
+                pubSlots.append(md); 
               md->setSectionList(this,&pubSlots);
               break;
             case Private:   
-              priSlots.append(md);
+              if (Config_getBool("SORT_BRIEF_DOCS"))
+                priSlots.inSort(md);
+              else
+                priSlots.append(md);
               md->setSectionList(this,&priSlots);
               break;
           }
@@ -274,19 +302,31 @@ void ClassDef::internalInsertMember(MemberDef *md,
               switch (prot)
               {
                 case Protected: 
-                  proStaticAttribs.append(md); 
+                  if (Config_getBool("SORT_BRIEF_DOCS"))
+                    proStaticAttribs.inSort(md);
+                  else
+                    proStaticAttribs.append(md); 
                   md->setSectionList(this,&proStaticAttribs);
                   break;
                 case Package: 
-                  pacStaticAttribs.append(md); 
+                  if (Config_getBool("SORT_BRIEF_DOCS"))
+                    pacStaticAttribs.inSort(md);
+                  else
+                    pacStaticAttribs.append(md); 
                   md->setSectionList(this,&pacStaticAttribs);
                   break;
                 case Public:    
-                  pubStaticAttribs.append(md); 
+                  if (Config_getBool("SORT_BRIEF_DOCS"))
+                    pubStaticAttribs.inSort(md);
+                  else
+                    pubStaticAttribs.append(md); 
                   md->setSectionList(this,&pubStaticAttribs);
                   break;
                 case Private:   
-                  priStaticAttribs.append(md); 
+                  if (Config_getBool("SORT_BRIEF_DOCS"))
+                    priStaticAttribs.inSort(md);
+                  else
+                    priStaticAttribs.append(md); 
                   md->setSectionList(this,&priStaticAttribs);
                   break;
               }
@@ -296,19 +336,31 @@ void ClassDef::internalInsertMember(MemberDef *md,
               switch (prot)
               {
                 case Protected: 
-                  proStaticMethods.append(md); 
+                  if (Config_getBool("SORT_BRIEF_DOCS"))
+                    proStaticMethods.inSort(md);
+                  else
+                    proStaticMethods.append(md); 
                   md->setSectionList(this,&proStaticMethods);
                   break;
                 case Package: 
-                  pacStaticMethods.append(md); 
+                  if (Config_getBool("SORT_BRIEF_DOCS"))
+                    pacStaticMethods.inSort(md);
+                  else
+                    pacStaticMethods.append(md); 
                   md->setSectionList(this,&pacStaticMethods);
                   break;
                 case Public:    
-                  pubStaticMethods.append(md); 
+                  if (Config_getBool("SORT_BRIEF_DOCS"))
+                    pubStaticMethods.inSort(md);
+                  else
+                    pubStaticMethods.append(md); 
                   md->setSectionList(this,&pubStaticMethods);
                   break;
                 case Private:   
-                  priStaticMethods.append(md); 
+                  if (Config_getBool("SORT_BRIEF_DOCS"))
+                    priStaticMethods.inSort(md);
+                  else
+                    priStaticMethods.append(md); 
                   md->setSectionList(this,&priStaticMethods);
                   break;
               }
@@ -321,19 +373,31 @@ void ClassDef::internalInsertMember(MemberDef *md,
               switch (prot)
               {
                 case Protected: 
-                  proAttribs.append(md); 
+                  if (Config_getBool("SORT_BRIEF_DOCS"))
+                    proAttribs.inSort(md);
+                  else
+                    proAttribs.append(md); 
                   md->setSectionList(this,&proAttribs);
                   break;
                 case Package:
-                  pacAttribs.append(md);
+                  if (Config_getBool("SORT_BRIEF_DOCS"))
+                    pacAttribs.inSort(md);
+                  else
+                    pacAttribs.append(md);
                   md->setSectionList(this,&pacAttribs);
                   break;
                 case Public:    
-                  pubAttribs.append(md); 
+                  if (Config_getBool("SORT_BRIEF_DOCS"))
+                    pubAttribs.inSort(md);
+                  else
+                    pubAttribs.append(md); 
                   md->setSectionList(this,&pubAttribs);
                   break;
                 case Private:   
-                  priAttribs.append(md); 
+                  if (Config_getBool("SORT_BRIEF_DOCS"))
+                    priAttribs.inSort(md);
+                  else
+                    priAttribs.append(md); 
                   md->setSectionList(this,&priAttribs);
                   break;
               }
@@ -343,19 +407,31 @@ void ClassDef::internalInsertMember(MemberDef *md,
               switch (prot)
               {
                 case Protected: 
-                  proTypes.append(md); 
+                  if (Config_getBool("SORT_BRIEF_DOCS"))
+                    proTypes.inSort(md);
+                  else
+                    proTypes.append(md); 
                   md->setSectionList(this,&proTypes); 
                   break;
                 case Package: 
-                  pacTypes.append(md); 
+                  if (Config_getBool("SORT_BRIEF_DOCS"))
+                    pacTypes.inSort(md);
+                  else
+                    pacTypes.append(md); 
                   md->setSectionList(this,&pacTypes); 
                   break;
                 case Public:    
-                  pubTypes.append(md); 
+                  if (Config_getBool("SORT_BRIEF_DOCS"))
+                    pubTypes.inSort(md);
+                  else
+                    pubTypes.append(md); 
                   md->setSectionList(this,&pubTypes); 
                   break;
                 case Private:   
-                  priTypes.append(md); 
+                  if (Config_getBool("SORT_BRIEF_DOCS"))
+                    priTypes.inSort(md);
+                  else
+                    priTypes.append(md); 
                   md->setSectionList(this,&priTypes); 
                   break;
               }
@@ -365,19 +441,31 @@ void ClassDef::internalInsertMember(MemberDef *md,
               switch (prot)
               {
                 case Protected: 
-                  proMethods.append(md); 
+                  if (Config_getBool("SORT_BRIEF_DOCS"))
+                    proMethods.inSort(md);
+                  else
+                    proMethods.append(md); 
                   md->setSectionList(this,&proMethods); 
                   break;
                 case Package: 
-                  pacMethods.append(md); 
+                  if (Config_getBool("SORT_BRIEF_DOCS"))
+                    pacMethods.inSort(md);
+                  else
+                    pacMethods.append(md); 
                   md->setSectionList(this,&pacMethods); 
                   break;
                 case Public:    
-                  pubMethods.append(md); 
+                  if (Config_getBool("SORT_BRIEF_DOCS"))
+                    pubMethods.inSort(md);
+                  else
+                    pubMethods.append(md); 
                   md->setSectionList(this,&pubMethods); 
                   break;
                 case Private:   
-                  priMethods.append(md); 
+                  if (Config_getBool("SORT_BRIEF_DOCS"))
+                    priMethods.inSort(md);
+                  else
+                    priMethods.append(md); 
                   md->setSectionList(this,&priMethods); 
                   break;
               }
@@ -509,7 +597,12 @@ void ClassDef::internalInsertMember(MemberDef *md,
     m_isAbstract=TRUE;
   }
 
-  if (addToAllList)
+  if (addToAllList && 
+      !(Config_getBool("HIDE_FRIEND_COMPOUNDS") &&
+        md->isFriend() &&
+        (QCString(md->typeString())=="friend class" || 
+         QCString(md->typeString())=="friend struct" ||
+         QCString(md->typeString())=="friend union")))
   {
     //printf("=======> adding member %s to class %s\n",md->name().data(),name().data());
     MemberInfo *mi = new MemberInfo((MemberDef *)md,
diff --git a/src/classdef.h b/src/classdef.h
index 3ca1ac5..fbd4cf7 100644
--- a/src/classdef.h
+++ b/src/classdef.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
@@ -305,7 +305,8 @@ class ClassDef : public Definition
      */
     ClassDef(const char *fileName,int startLine,
              const char *name,CompoundType ct,
-             const char *ref=0,const char *fName=0);
+             const char *ref=0,const char *fName=0,
+             bool isSymbol=TRUE);
     /*! Destroys a compound definition. */
    ~ClassDef();
 
diff --git a/src/classlist.cpp b/src/classlist.cpp
index 7c894b9..c9fc0d1 100644
--- a/src/classlist.cpp
+++ b/src/classlist.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/classlist.h b/src/classlist.h
index 0e22864..7593c97 100644
--- a/src/classlist.h
+++ b/src/classlist.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/cmdmapper.cpp b/src/cmdmapper.cpp
index 578af8c..d531d55 100644
--- a/src/cmdmapper.cpp
+++ b/src/cmdmapper.cpp
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/cmdmapper.h b/src/cmdmapper.h
index 44e77ae..e990716 100644
--- a/src/cmdmapper.h
+++ b/src/cmdmapper.h
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/code.h b/src/code.h
index fd6cbb8..54a4e82 100644
--- a/src/code.h
+++ b/src/code.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/code.l b/src/code.l
index b24cd29..44f5d21 100644
--- a/src/code.l
+++ b/src/code.l
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
@@ -1304,7 +1304,7 @@ TYPEKW  ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
 					    if (getResolvedClass(g_currentDefinition,g_sourceFileDef,g_curClassName)==0)
 					    {
 					      ClassDef *ncd=new ClassDef("<code>",1,
-				 		  g_curClassName,ClassDef::Class);
+				 		  g_curClassName,ClassDef::Class,0,0,TRUE);
 					      g_codeClassSDict.append(g_curClassName,ncd);
 					      // insert base classes.
 					      char *s=g_curClassBases.first();
@@ -1313,7 +1313,7 @@ TYPEKW  ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
 						ClassDef *bcd;
 						bcd=g_codeClassSDict[s];
 						if (bcd==0) bcd=getResolvedClass(g_currentDefinition,g_sourceFileDef,s);
-						if (bcd)
+						if (bcd && bcd!=ncd)
 						{
 						  ncd->insertBaseClass(bcd,s,Public,Normal);
 						}
diff --git a/src/commentcnv.h b/src/commentcnv.h
index fc7cb79..8d2079e 100644
--- a/src/commentcnv.h
+++ b/src/commentcnv.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/commentcnv.l b/src/commentcnv.l
index 6faafd5..cfb3846 100644
--- a/src/commentcnv.l
+++ b/src/commentcnv.l
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/compound.xsd b/src/compound.xsd
index fa1ea92..51f7ff6 100644
--- a/src/compound.xsd
+++ b/src/compound.xsd
@@ -611,6 +611,7 @@
       <xsd:enumeration value="namespace" />
       <xsd:enumeration value="group" />
       <xsd:enumeration value="page" />
+      <xsd:enumeration value="example" />
     </xsd:restriction>
   </xsd:simpleType>
 
diff --git a/src/compound_xsd.h b/src/compound_xsd.h
index bef2c61..90753b7 100644
--- a/src/compound_xsd.h
+++ b/src/compound_xsd.h
@@ -611,6 +611,7 @@
 "      <xsd:enumeration value=\"namespace\" />\n"
 "      <xsd:enumeration value=\"group\" />\n"
 "      <xsd:enumeration value=\"page\" />\n"
+"      <xsd:enumeration value=\"example\" />\n"
 "    </xsd:restriction>\n"
 "  </xsd:simpleType>\n"
 "\n"
diff --git a/src/config.l b/src/config.l
index b2f7848..7b097f6 100644
--- a/src/config.l
+++ b/src/config.l
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
@@ -721,6 +721,8 @@ static void substEnvVarsInStrList(QStrList &sl)
     bool wasQuoted = (result.find(' ')!=-1) || (result.find('\t')!=-1);
     substEnvVarsInString(result);
 
+    //printf("Result %s was quoted=%d\n",result.data(),wasQuoted);
+
     if (!wasQuoted) /* as a result of the expansion, a single string
 		       may have expanded into a list, which we'll
 		       add to sl. If the orginal string already 
@@ -776,19 +778,19 @@ static void substEnvVarsInStrList(QStrList &sl)
 	sl.insert(sl.at(),result.right(l-p)); // insert new item before current item.
 	sl.next();                 // current item is now the old item
       }
-
-      // remove the old unexpanded string from the list
-      i=sl.at();
-      sl.remove(); // current item index changes if the last element is removed.
-      if (sl.at()==i)     // not last item
-	s = sl.current();
-      else                // just removed last item
-	s = 0;
     }
     else // just goto the next element in the list
     {
-      s=sl.next();
+      sl.insert(sl.at(),result);
+      sl.next();
     }
+    // remove the old unexpanded string from the list
+    int i=sl.at();
+    sl.remove(); // current item index changes if the last element is removed.
+    if (sl.at()==i)     // not last item
+	s = sl.current();
+    else                // just removed last item
+	s = 0;
   }
 }
 
@@ -1673,6 +1675,14 @@ void Config::create()
                     TRUE
                  );
   cb = addBool(
+                    "SORT_BRIEF_DOCS",
+                    "If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the \n"
+                    "brief documentation of file, namespace and class members alphabetically \n"
+                    "by member name. If set to NO (the default) the members will appear in \n"
+                    "declaration order. \n",
+                    FALSE
+                 );
+  cb = addBool(
                     "GENERATE_TODOLIST",
                     "The GENERATE_TODOLIST tag can be used to enable (YES) or \n"
                     "disable (NO) the todo list. This list is created by putting \\todo \n"
diff --git a/src/constexp.h b/src/constexp.h
index 905cb4a..2173191 100644
--- a/src/constexp.h
+++ b/src/constexp.h
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/constexp.l b/src/constexp.l
index 512f612..938710a 100644
--- a/src/constexp.l
+++ b/src/constexp.l
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/constexp.y b/src/constexp.y
index 1fd1c8f..fad1649 100644
--- a/src/constexp.y
+++ b/src/constexp.y
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/cppvalue.cpp b/src/cppvalue.cpp
index 8573638..94218bf 100644
--- a/src/cppvalue.cpp
+++ b/src/cppvalue.cpp
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/cppvalue.h b/src/cppvalue.h
index 8c7d336..e97cd92 100644
--- a/src/cppvalue.h
+++ b/src/cppvalue.h
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/debug.cpp b/src/debug.cpp
index 60d86c4..7a0739e 100644
--- a/src/debug.cpp
+++ b/src/debug.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/debug.h b/src/debug.h
index 123ebf2..ef2792d 100644
--- a/src/debug.h
+++ b/src/debug.h
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/declinfo.h b/src/declinfo.h
index facddc2..b04fd26 100644
--- a/src/declinfo.h
+++ b/src/declinfo.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/declinfo.l b/src/declinfo.l
index 4474f1e..68d4e81 100644
--- a/src/declinfo.l
+++ b/src/declinfo.l
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/defargs.h b/src/defargs.h
index 4d6c072..e13867d 100644
--- a/src/defargs.h
+++ b/src/defargs.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/defargs.l b/src/defargs.l
index 035406c..ebeba4e 100644
--- a/src/defargs.l
+++ b/src/defargs.l
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/defgen.cpp b/src/defgen.cpp
index 2439b8f..88d7f41 100644
--- a/src/defgen.cpp
+++ b/src/defgen.cpp
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/defgen.h b/src/defgen.h
index 0f5f82a..d510177 100644
--- a/src/defgen.h
+++ b/src/defgen.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/define.cpp b/src/define.cpp
index d512315..4befdeb 100644
--- a/src/define.cpp
+++ b/src/define.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/define.h b/src/define.h
index 549e79c..9aec19d 100644
--- a/src/define.h
+++ b/src/define.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/definition.cpp b/src/definition.cpp
index 687ef77..ac18ebe 100644
--- a/src/definition.cpp
+++ b/src/definition.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
@@ -74,7 +74,8 @@ static void removeFromMap(Definition *d)
 }
 
 Definition::Definition(const char *df,int dl,
-                       const char *name,const char *b,const char *d)
+                       const char *name,const char *b,
+                       const char *d,bool isSymbol)
 {
   //QCString ns;
   m_defFileName = df;
@@ -108,12 +109,13 @@ Definition::Definition(const char *df,int dl,
   m_briefFile=(QCString)"<"+name+">";
   m_docLine=1;
   m_docFile=(QCString)"<"+name+">";
-  addToMap(name,this);
+  m_isSymbol = isSymbol;
+  if (m_isSymbol) addToMap(name,this);
 }
 
 Definition::~Definition()
 {
-  removeFromMap(this);
+  if (m_isSymbol) removeFromMap(this);
   delete m_sectionDict;
   delete m_sourceRefByDict;
   delete m_sourceRefsDict;
diff --git a/src/definition.h b/src/definition.h
index 04f18e6..6ddce6c 100644
--- a/src/definition.h
+++ b/src/definition.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
@@ -49,7 +49,8 @@ class Definition
     /*! Create a new definition */
     Definition(
         const char *defFileName,int defLine,
-        const char *name,const char *b=0,const char *d=0);
+        const char *name,const char *b=0,const char *d=0,
+        bool isSymbol=TRUE);
     /*! Destroys the definition */
     virtual ~Definition();
     /*! Returns the name of the definition */
@@ -179,6 +180,7 @@ class Definition
     QCString m_briefFile;
     QList<ListItemInfo> *m_xrefListItems;
     QCString m_symbolName;
+    bool m_isSymbol;
 };
 
 class DefinitionList : public QList<Definition>
diff --git a/src/diagram.cpp b/src/diagram.cpp
index 3c9c39e..1c7a7a5 100644
--- a/src/diagram.cpp
+++ b/src/diagram.cpp
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/diagram.h b/src/diagram.h
index 69426b0..91c85c9 100644
--- a/src/diagram.h
+++ b/src/diagram.h
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/docparser.cpp b/src/docparser.cpp
index 3774a08..8bc853e 100644
--- a/src/docparser.cpp
+++ b/src/docparser.cpp
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/docparser.h b/src/docparser.h
index dc2b890..d4c20f6 100644
--- a/src/docparser.h
+++ b/src/docparser.h
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/doctokenizer.h b/src/doctokenizer.h
index ce2532d..bd63611 100644
--- a/src/doctokenizer.h
+++ b/src/doctokenizer.h
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/doctokenizer.l b/src/doctokenizer.l
index 81e2afa..4507ef6 100644
--- a/src/doctokenizer.l
+++ b/src/doctokenizer.l
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/docvisitor.h b/src/docvisitor.h
index 3815cbb..e71bb14 100644
--- a/src/docvisitor.h
+++ b/src/docvisitor.h
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/dot.cpp b/src/dot.cpp
index 694b9ef..87f843b 100644
--- a/src/dot.cpp
+++ b/src/dot.cpp
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/dot.h b/src/dot.h
index 6f89200..e51a463 100644
--- a/src/dot.h
+++ b/src/dot.h
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 6e0a6a4..872517a 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
@@ -4040,7 +4040,8 @@ static void addMemberDocs(Entry *root,
 static ClassDef *findClassDefinition(FileDef *fd,NamespaceDef *nd,
                          const char *scopeName)
 {
-  ClassDef *tcd = getResolvedClass(nd,fd,scopeName);
+  ClassDef *tcd = getResolvedClass(nd,fd,scopeName,0,0,TRUE);
+#if 0
   if (tcd==0) // try using declaration
   {
     ClassSDict *cl = 0;
@@ -4096,6 +4097,7 @@ static ClassDef *findClassDefinition(FileDef *fd,NamespaceDef *nd,
       }
     }
   }
+#endif
   return tcd;
 }
 
@@ -7248,7 +7250,7 @@ static void readFormulaRepository()
 
 static void usage(const char *name)
 {
-  msg("Doxygen version %s\nCopyright Dimitri van Heesch 1997-2003\n\n",versionString);
+  msg("Doxygen version %s\nCopyright Dimitri van Heesch 1997-2004\n\n",versionString);
   msg("You can use doxygen in a number of ways:\n\n");
   msg("1) Use doxygen to generate a template configuration file:\n");
   msg("    %s [-s] -g [configName]\n\n",name);
@@ -7538,6 +7540,9 @@ void readConfiguration(int argc, char **argv)
           exit(0);
         }
         break;
+      case 'b':
+        setvbuf(stdout,NULL,_IONBF,0);
+        break;
       case 'h':
       case '?':
         usage(argv[0]);
diff --git a/src/doxygen.h b/src/doxygen.h
index 429ce0e..48c9154 100644
--- a/src/doxygen.h
+++ b/src/doxygen.h
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/doxygen.pro.in b/src/doxygen.pro.in
index 8469a12..26de635 100644
--- a/src/doxygen.pro.in
+++ b/src/doxygen.pro.in
@@ -1,7 +1,7 @@
 #
 # 
 #
-# Copyright (C) 1997-2003 by Dimitri van Heesch.
+# Copyright (C) 1997-2004 by Dimitri van Heesch.
 #
 # Permission to use, copy, modify, and distribute this software and its
 # documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/doxytag.l b/src/doxytag.l
index b63ad19..aa8115f 100644
--- a/src/doxytag.l
+++ b/src/doxytag.l
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
@@ -504,7 +504,7 @@ void parseFileOrDir(const char *fileName)
 
 void usage(const char *name)
 {
-  fprintf(stderr,"Doxytag version %s\nCopyright Dimitri van Heesch 1997-2003\n\n",
+  fprintf(stderr,"Doxytag version %s\nCopyright Dimitri van Heesch 1997-2004\n\n",
       versionString);
   fprintf(stderr,"  Generates a tag file and/or a search index for a set of HTML files\n\n");
   fprintf(stderr,"Usage: %s [-t tag_file] [ html_file [html_file...] ]\n",name);
diff --git a/src/doxytag.pro.in b/src/doxytag.pro.in
index 820c094..6fd676f 100644
--- a/src/doxytag.pro.in
+++ b/src/doxytag.pro.in
@@ -1,7 +1,7 @@
 # 
 # 
 #
-# Copyright (C) 1997-2003 by Dimitri van Heesch.
+# Copyright (C) 1997-2004 by Dimitri van Heesch.
 # 
 # Permission to use, copy, modify, and distribute this software and its
 # documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/doxytag.t b/src/doxytag.t
index 0094b6d..9c521a9 100644
--- a/src/doxytag.t
+++ b/src/doxytag.t
@@ -1,7 +1,7 @@
 #
 # 
 #
-# Copyright (C) 1997-2003 by Dimitri van Heesch.
+# Copyright (C) 1997-2004 by Dimitri van Heesch.
 #
 # Permission to use, copy, modify, and distribute this software and its
 # documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/entry.cpp b/src/entry.cpp
index 2a729d3..f111442 100644
--- a/src/entry.cpp
+++ b/src/entry.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/entry.h b/src/entry.h
index a15c980..cf46027 100644
--- a/src/entry.h
+++ b/src/entry.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/example.h b/src/example.h
index 87f44f7..5adf26a 100644
--- a/src/example.h
+++ b/src/example.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/filedef.cpp b/src/filedef.cpp
index 161d1fc..10851a1 100644
--- a/src/filedef.cpp
+++ b/src/filedef.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
@@ -539,33 +539,46 @@ void FileDef::insertMember(MemberDef *md)
 {
   //printf("%s:FileDef::insertMember(%s)\n",name().data(),md->name().data());
   allMemberList.append(md); 
+  bool sortBriefDocs = Config_getBool("SORT_BRIEF_DOCS");
   bool sortMemberDocs = Config_getBool("SORT_MEMBER_DOCS");
   switch(md->memberType())
   {
     case MemberDef::Variable:     
     case MemberDef::Property:     
-      decVarMembers.append(md);
+      if (sortBriefDocs)
+        decVarMembers.inSort(md);
+      else
+        decVarMembers.append(md);
       if (sortMemberDocs)
         docVarMembers.inSort(md); 
       else
         docVarMembers.append(md);
       break;
     case MemberDef::Function: 
-      decFuncMembers.append(md);
+      if (sortBriefDocs)
+        decFuncMembers.inSort(md);
+      else
+        decFuncMembers.append(md);
       if (sortMemberDocs)    
         docFuncMembers.inSort(md); 
       else
         docFuncMembers.append(md);
       break;
     case MemberDef::Typedef:      
-      decTypedefMembers.append(md);
+      if (sortBriefDocs)
+        decTypedefMembers.inSort(md);
+      else
+        decTypedefMembers.append(md);
       if (sortMemberDocs)
         docTypedefMembers.inSort(md); 
       else
         docTypedefMembers.append(md);
       break;
     case MemberDef::Enumeration:  
-      decEnumMembers.append(md);
+      if (sortBriefDocs)
+        decEnumMembers.inSort(md);
+      else
+        decEnumMembers.append(md);
       if (sortMemberDocs)
         docEnumMembers.inSort(md); 
       else
@@ -574,14 +587,20 @@ void FileDef::insertMember(MemberDef *md)
     case MemberDef::EnumValue:    // enum values are shown inside their enums
       break;
     case MemberDef::Prototype:    
-      decProtoMembers.append(md);
+      if (sortBriefDocs)
+        decProtoMembers.inSort(md);
+      else
+        decProtoMembers.append(md);
       if (sortMemberDocs)
         docProtoMembers.inSort(md); 
       else
         docProtoMembers.append(md);
       break;
     case MemberDef::Define:       
-      decDefineMembers.append(md);
+      if (sortBriefDocs)
+        decDefineMembers.inSort(md);
+      else
+        decDefineMembers.append(md);
       if (sortMemberDocs)
         docDefineMembers.inSort(md); 
       else
@@ -600,7 +619,7 @@ void FileDef::insertMember(MemberDef *md)
 /*! Adds compound definition \a cd to the list of all compounds of this file */
 void FileDef::insertClass(ClassDef *cd)
 {
-  if (Config_getBool("SORT_MEMBER_DOCS"))
+  if (Config_getBool("SORT_BRIEF_DOCS"))
     classSDict->inSort(cd->name(),cd);
   else
     classSDict->append(cd->name(),cd);
@@ -611,7 +630,7 @@ void FileDef::insertNamespace(NamespaceDef *nd)
 {
   if (!nd->name().isEmpty() && namespaceSDict->find(nd->name())==0)
   {
-    if (Config_getBool("SORT_MEMBER_DOCS"))
+    if (Config_getBool("SORT_BRIEF_DOCS"))
       namespaceSDict->inSort(nd->name(),nd);
     else
       namespaceSDict->append(nd->name(),nd);
diff --git a/src/filedef.h b/src/filedef.h
index d230313..d9d2f46 100644
--- a/src/filedef.h
+++ b/src/filedef.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/filename.cpp b/src/filename.cpp
index a9c8a02..c255a6c 100644
--- a/src/filename.cpp
+++ b/src/filename.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/filename.h b/src/filename.h
index c537deb..336d813 100644
--- a/src/filename.h
+++ b/src/filename.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/formula.cpp b/src/formula.cpp
index 913a4d5..648f250 100644
--- a/src/formula.cpp
+++ b/src/formula.cpp
@@ -2,7 +2,7 @@
  i
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/formula.h b/src/formula.h
index e876ac9..70c9ca6 100644
--- a/src/formula.h
+++ b/src/formula.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/groupdef.cpp b/src/groupdef.cpp
index b170612..fd82f35 100644
--- a/src/groupdef.cpp
+++ b/src/groupdef.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
@@ -132,7 +132,7 @@ void GroupDef::findSectionsInDocumentation()
 
 void GroupDef::addFile(const FileDef *def)
 {
-  if (Config_getBool("SORT_MEMBER_DOCS"))
+  if (Config_getBool("SORT_BRIEF_DOCS"))
     fileList->inSort(def);
   else
     fileList->append(def);
@@ -140,7 +140,7 @@ void GroupDef::addFile(const FileDef *def)
 
 void GroupDef::addClass(const ClassDef *cd)
 {
-  if (Config_getBool("SORT_MEMBER_DOCS"))
+  if (Config_getBool("SORT_BRIEF_DOCS"))
     classSDict->inSort(cd->name(),cd);
   else
     classSDict->append(cd->name(),cd);
@@ -148,7 +148,7 @@ void GroupDef::addClass(const ClassDef *cd)
 
 void GroupDef::addNamespace(const NamespaceDef *def)
 {
-  if (Config_getBool("SORT_MEMBER_DOCS"))
+  if (Config_getBool("SORT_BRIEF_DOCS"))
     namespaceList->inSort(def);  
   else
     namespaceList->append(def);
@@ -234,28 +234,52 @@ bool GroupDef::insertMember(MemberDef *md,bool docOnly)
   switch(md->memberType())
   {
     case MemberDef::Variable:     
-      if (!docOnly) decVarMembers.append(md); 
+      if (!docOnly)
+      {
+        if (Config_getBool("SORT_BRIEF_DOCS"))
+          decVarMembers.inSort(md);
+        else
+          decVarMembers.append(md);
+      }
       if (Config_getBool("SORT_MEMBER_DOCS"))
         docVarMembers.inSort(md); 
       else
         docVarMembers.append(md);
       break;
     case MemberDef::Function: 
-      if (!docOnly) decFuncMembers.append(md);
+      if (!docOnly)
+      {
+        if (Config_getBool("SORT_BRIEF_DOCS"))
+          decFuncMembers.inSort(md);
+        else
+          decFuncMembers.append(md);
+      }
       if (Config_getBool("SORT_MEMBER_DOCS"))    
         docFuncMembers.inSort(md); 
       else
         docFuncMembers.append(md);
       break;
     case MemberDef::Typedef:      
-      if (!docOnly) decTypedefMembers.append(md);
+      if (!docOnly)
+      {
+        if (Config_getBool("SORT_BRIEF_DOCS"))
+          decTypedefMembers.inSort(md);
+        else
+          decTypedefMembers.append(md);
+      }
       if (Config_getBool("SORT_MEMBER_DOCS"))
         docTypedefMembers.inSort(md); 
       else
         docTypedefMembers.append(md);
       break;
     case MemberDef::Enumeration:  
-      if (!docOnly) decEnumMembers.append(md);
+      if (!docOnly)
+      {
+        if (Config_getBool("SORT_BRIEF_DOCS"))
+          decEnumMembers.inSort(md);
+        else
+          decEnumMembers.append(md);
+      }
       if (Config_getBool("SORT_MEMBER_DOCS"))
         docEnumMembers.inSort(md); 
       else
@@ -264,14 +288,26 @@ bool GroupDef::insertMember(MemberDef *md,bool docOnly)
     case MemberDef::EnumValue:    
       break;
     case MemberDef::Prototype:    
-      if (!docOnly) decProtoMembers.append(md);
+      if (!docOnly)
+      {
+        if (Config_getBool("SORT_BRIEF_DOCS"))
+          decProtoMembers.inSort(md);
+        else
+          decProtoMembers.append(md);
+      }
       if (Config_getBool("SORT_MEMBER_DOCS"))
         docProtoMembers.inSort(md); 
       else
         docProtoMembers.append(md);
       break;
     case MemberDef::Define:       
-      if (!docOnly) decDefineMembers.append(md);
+      if (!docOnly)
+      {
+        if (Config_getBool("SORT_BRIEF_DOCS"))
+          decDefineMembers.inSort(md);
+        else
+          decDefineMembers.append(md);
+      }
       if (Config_getBool("SORT_MEMBER_DOCS"))
         docDefineMembers.inSort(md); 
       else
@@ -533,7 +569,8 @@ void GroupDef::writeDocumentation(OutputList &ol)
     while (gd)
     {
       ol.startMemberItem(0);
-      //ol.insertMemberAlign();
+      ol.docify(theTranslator->trGroup(FALSE,TRUE));
+      ol.insertMemberAlign();
       ol.writeObjectLink(gd->getReference(),gd->getOutputFileBase(),0,gd->groupTitle());
       if (!Config_getString("GENERATE_TAGFILE").isEmpty()) 
       {
diff --git a/src/groupdef.h b/src/groupdef.h
index 08c8124..bedc064 100644
--- a/src/groupdef.h
+++ b/src/groupdef.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/htmlattrib.h b/src/htmlattrib.h
index ffe9615..371f3d5 100644
--- a/src/htmlattrib.h
+++ b/src/htmlattrib.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/htmldocvisitor.cpp b/src/htmldocvisitor.cpp
index a78c2ba..287831e 100644
--- a/src/htmldocvisitor.cpp
+++ b/src/htmldocvisitor.cpp
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/htmldocvisitor.h b/src/htmldocvisitor.h
index b0fd4ef..5f29339 100644
--- a/src/htmldocvisitor.h
+++ b/src/htmldocvisitor.h
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/htmlgen.cpp b/src/htmlgen.cpp
index fa8af17..26ace6e 100644
--- a/src/htmlgen.cpp
+++ b/src/htmlgen.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/htmlgen.h b/src/htmlgen.h
index 47169e6..a788f0a 100644
--- a/src/htmlgen.h
+++ b/src/htmlgen.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/htmlhelp.cpp b/src/htmlhelp.cpp
index f95725f..341f825 100644
--- a/src/htmlhelp.cpp
+++ b/src/htmlhelp.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/htmlhelp.h b/src/htmlhelp.h
index 09adb6f..4fa4805 100644
--- a/src/htmlhelp.h
+++ b/src/htmlhelp.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/image.cpp b/src/image.cpp
index b6160f4..1aea8bd 100644
--- a/src/image.cpp
+++ b/src/image.cpp
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/image.h b/src/image.h
index b0c98e2..d8c92ce 100644
--- a/src/image.h
+++ b/src/image.h
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/index.cpp b/src/index.cpp
index 831512b..9a4966b 100644
--- a/src/index.cpp
+++ b/src/index.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
@@ -1629,11 +1629,15 @@ void writeMemberList(OutputList &ol,bool useSections,ClassMemberHighlight filter
     while (md && !found)
     {
       ClassDef *cd;
+      bool isFriendToHide = Config_getBool("HIDE_FRIEND_COMPOUNDS") &&
+                            (QCString(md->typeString())=="friend class" || 
+                             QCString(md->typeString())=="friend struct" ||
+                             QCString(md->typeString())=="friend union");
       if (
            md->isLinkableInProject() &&
            (cd=md->getClassDef()) &&
            cd->isLinkableInProject() && cd->templateMaster()==0 &&
-           ( filter==CMHL_All ||
+           ( filter==CMHL_All        && !(md->isFriend() && isFriendToHide) ||
             (filter==CMHL_Functions  && (md->isFunction() || md->isSlot() || md->isSignal()))  ||
             (filter==CMHL_Variables  && md->isVariable())  ||
             (filter==CMHL_Typedefs   && md->isTypedef())   ||
@@ -1641,7 +1645,7 @@ void writeMemberList(OutputList &ol,bool useSections,ClassMemberHighlight filter
             (filter==CMHL_EnumValues && md->isEnumValue()) ||
             (filter==CMHL_Properties && md->isProperty())  ||
             (filter==CMHL_Events     && md->isEvent())     ||
-            (filter==CMHL_Related    && (md->isRelated() || md->isFriend()))
+            (filter==CMHL_Related    && (md->isRelated() || (md->isFriend() && !isFriendToHide)))
            )
          ) 
       { 
@@ -1722,11 +1726,15 @@ int countClassMembers(int filter)
     ClassDef *cd;
     while (md && !found)
     {
+      bool isFriendToHide = Config_getBool("HIDE_FRIEND_COMPOUNDS") &&
+                            (QCString(md->typeString())=="friend class" || 
+                             QCString(md->typeString())=="friend struct" ||
+                             QCString(md->typeString())=="friend union");
       if (
           md->isLinkableInProject() && 
           (cd=md->getClassDef()) && 
           cd->isLinkableInProject() &&
-          ( filter==CMHL_All ||
+          ( filter==CMHL_All        && !(md->isFriend() && isFriendToHide) ||
            (filter==CMHL_Functions  && (md->isFunction() || md->isSlot() || md->isSignal()))  ||
            (filter==CMHL_Variables  && md->isVariable())  ||
            (filter==CMHL_Typedefs   && md->isTypedef())   ||
@@ -1734,7 +1742,7 @@ int countClassMembers(int filter)
            (filter==CMHL_EnumValues && md->isEnumValue()) ||
            (filter==CMHL_Properties && md->isProperty())  ||
            (filter==CMHL_Events     && md->isEvent())     ||
-           (filter==CMHL_Related    && (md->isRelated() || md->isFriend()))
+           (filter==CMHL_Related    && (md->isRelated() || (md->isFriend() && !isFriendToHide)))
           )
          )
       {
diff --git a/src/index.h b/src/index.h
index 042b641..dee48a4 100644
--- a/src/index.h
+++ b/src/index.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/index.xsd b/src/index.xsd
index 3a6238e..20918c0 100644
--- a/src/index.xsd
+++ b/src/index.xsd
@@ -37,6 +37,7 @@
       <xsd:enumeration value="namespace"/>
       <xsd:enumeration value="group"/>
       <xsd:enumeration value="page"/>
+      <xsd:enumeration value="example"/>
     </xsd:restriction>
   </xsd:simpleType>
 
diff --git a/src/index_xsd.h b/src/index_xsd.h
index 1b02e92..0049282 100644
--- a/src/index_xsd.h
+++ b/src/index_xsd.h
@@ -37,6 +37,7 @@
 "      <xsd:enumeration value=\"namespace\"/>\n"
 "      <xsd:enumeration value=\"group\"/>\n"
 "      <xsd:enumeration value=\"page\"/>\n"
+"      <xsd:enumeration value=\"example\"/>\n"
 "    </xsd:restriction>\n"
 "  </xsd:simpleType>\n"
 "\n"
diff --git a/src/instdox.cpp b/src/instdox.cpp
index 55402d0..30012f5 100644
--- a/src/instdox.cpp
+++ b/src/instdox.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/instdox.h b/src/instdox.h
index 6ff8ff5..1f1f963 100644
--- a/src/instdox.h
+++ b/src/instdox.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/language.cpp b/src/language.cpp
index 23034f3..c73b68c 100644
--- a/src/language.cpp
+++ b/src/language.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/language.h b/src/language.h
index 5d1f3ec..f3d2038 100644
--- a/src/language.h
+++ b/src/language.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/latexdocvisitor.cpp b/src/latexdocvisitor.cpp
index f4ff312..16998c9 100644
--- a/src/latexdocvisitor.cpp
+++ b/src/latexdocvisitor.cpp
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/latexdocvisitor.h b/src/latexdocvisitor.h
index 7b2d4ff..e6d8d10 100644
--- a/src/latexdocvisitor.h
+++ b/src/latexdocvisitor.h
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/latexgen.cpp b/src/latexgen.cpp
index 7b68e71..2bcb3fc 100644
--- a/src/latexgen.cpp
+++ b/src/latexgen.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
@@ -429,12 +429,12 @@ void LatexGenerator::writeStyleSheetFile(QFile &f)
   t << theTranslator->trGeneratedAt( dateToString(TRUE), projectName );
   t << " doxygen";
   //t << " " << theTranslator->trWrittenBy() << " ";
-  //t << "Dimitri van Heesch \\copyright~1997-2003";
+  //t << "Dimitri van Heesch \\copyright~1997-2004";
   writeDefaultStyleSheetPart2(t);
   t << theTranslator->trGeneratedAt( dateToString(TRUE), projectName );
   t << " doxygen";
   //t << " << theTranslator->trWrittenBy() << " ";
-  //t << "Dimitri van Heesch \\copyright~1997-2003";
+  //t << "Dimitri van Heesch \\copyright~1997-2004";
   writeDefaultStyleSheetPart3(t);
 }
 
@@ -802,14 +802,14 @@ void LatexGenerator::writeStyleInfo(int part)
       break;
     case 2:
       {
-        //t << " Dimitri van Heesch \\copyright~1997-2003";
+        //t << " Dimitri van Heesch \\copyright~1997-2004";
         t << "}]{}\n";
         writeDefaultStyleSheetPart2(t);
       }
       break;
     case 4:
       {
-        //t << " Dimitri van Heesch \\copyright~1997-2003";
+        //t << " Dimitri van Heesch \\copyright~1997-2004";
         writeDefaultStyleSheetPart3(t);
         endPlainFile();
       }
diff --git a/src/latexgen.h b/src/latexgen.h
index f62f9a2..652ccd4 100644
--- a/src/latexgen.h
+++ b/src/latexgen.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/libdoxycfg.pro.in b/src/libdoxycfg.pro.in
index f1fe76d..ba3a81b 100644
--- a/src/libdoxycfg.pro.in
+++ b/src/libdoxycfg.pro.in
@@ -1,7 +1,7 @@
 #
 # 
 #
-# Copyright (C) 1997-2003 by Dimitri van Heesch.
+# Copyright (C) 1997-2004 by Dimitri van Heesch.
 #
 # Permission to use, copy, modify, and distribute this software and its
 # documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/libdoxycfg.t b/src/libdoxycfg.t
index 568fdbc..b638e77 100644
--- a/src/libdoxycfg.t
+++ b/src/libdoxycfg.t
@@ -1,7 +1,7 @@
 #
 # 
 #
-# Copyright (C) 1997-2002 by Dimitri van Heesch.
+# Copyright (C) 1997-2004 by Dimitri van Heesch.
 #
 # Permission to use, copy, modify, and distribute this software and its
 # documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/libdoxygen.pro.in b/src/libdoxygen.pro.in
index c9ddb3d..30a9042 100644
--- a/src/libdoxygen.pro.in
+++ b/src/libdoxygen.pro.in
@@ -1,7 +1,7 @@
 #
 # 
 #
-# Copyright (C) 1997-2003 by Dimitri van Heesch.
+# Copyright (C) 1997-2004 by Dimitri van Heesch.
 #
 # Permission to use, copy, modify, and distribute this software and its
 # documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/libdoxygen.t b/src/libdoxygen.t
index 48f34ee..4fa48eb 100644
--- a/src/libdoxygen.t
+++ b/src/libdoxygen.t
@@ -1,7 +1,7 @@
 #
 # 
 #
-# Copyright (C) 1997-2002 by Dimitri van Heesch.
+# Copyright (C) 1997-2004 by Dimitri van Heesch.
 #
 # Permission to use, copy, modify, and distribute this software and its
 # documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/logos.cpp b/src/logos.cpp
index 36fc431..4b55343 100644
--- a/src/logos.cpp
+++ b/src/logos.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/logos.h b/src/logos.h
index 3141d04..ef7b7f5 100644
--- a/src/logos.h
+++ b/src/logos.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/main.cpp b/src/main.cpp
index 4e49de4..0cb8b72 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/mandocvisitor.cpp b/src/mandocvisitor.cpp
index 648d3b7..d697bfc 100644
--- a/src/mandocvisitor.cpp
+++ b/src/mandocvisitor.cpp
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/mandocvisitor.h b/src/mandocvisitor.h
index d4043de..2af8a0e 100644
--- a/src/mandocvisitor.h
+++ b/src/mandocvisitor.h
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/mangen.cpp b/src/mangen.cpp
index 673636e..b17d76d 100644
--- a/src/mangen.cpp
+++ b/src/mangen.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/mangen.h b/src/mangen.h
index 94077d6..1c8086e 100644
--- a/src/mangen.h
+++ b/src/mangen.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index a47e103..cde2c5a 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
@@ -1113,7 +1113,17 @@ bool MemberDef::isDetailedSectionLinkable() const
   //
   bool inAnonymousScope = !briefDescription().isEmpty() && annUsed;
 
-  return ((docFilter && staticFilter && privateFilter) || inAnonymousScope);
+  // hide friend (class|struct|union) member if HIDE_FRIEND_COMPOUNDS
+  // is true
+  bool friendCompoundFilter = !(Config_getBool("HIDE_FRIEND_COMPOUNDS") &&
+                                isFriend() &&
+                                (type=="friend class" || 
+                                  type=="friend struct" ||
+                                  type=="friend union"
+                                )
+                               );
+  
+  return ((docFilter && staticFilter && privateFilter && friendCompoundFilter) || inAnonymousScope);
 }
 
 bool MemberDef::isDetailedSectionVisible(bool inGroup) const          
diff --git a/src/memberdef.h b/src/memberdef.h
index 531c93f..e29621f 100644
--- a/src/memberdef.h
+++ b/src/memberdef.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/membergroup.cpp b/src/membergroup.cpp
index a48be4a..1d1c749 100644
--- a/src/membergroup.cpp
+++ b/src/membergroup.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/membergroup.h b/src/membergroup.h
index c9e6222..63e6bdb 100644
--- a/src/membergroup.h
+++ b/src/membergroup.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/memberlist.cpp b/src/memberlist.cpp
index e6da01e..a995904 100644
--- a/src/memberlist.cpp
+++ b/src/memberlist.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/memberlist.h b/src/memberlist.h
index c45584d..357142e 100644
--- a/src/memberlist.h
+++ b/src/memberlist.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/membername.cpp b/src/membername.cpp
index 140b342..000f9cb 100644
--- a/src/membername.cpp
+++ b/src/membername.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/membername.h b/src/membername.h
index 3493f0a..f411658 100644
--- a/src/membername.h
+++ b/src/membername.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/message.cpp b/src/message.cpp
index 0b306fa..e049523 100644
--- a/src/message.cpp
+++ b/src/message.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/message.h b/src/message.h
index 789cd99..76df870 100644
--- a/src/message.h
+++ b/src/message.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/namespacedef.cpp b/src/namespacedef.cpp
index c2aa94a..8e66402 100644
--- a/src/namespacedef.cpp
+++ b/src/namespacedef.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
@@ -109,7 +109,7 @@ void NamespaceDef::insertClass(ClassDef *cd)
 {
   if (classSDict->find(cd->name())==0)
   {
-    if (Config_getBool("SORT_MEMBER_DOCS"))
+    if (Config_getBool("SORT_BRIEF_DOCS"))
       classSDict->inSort(cd->name(),cd);
     else
       classSDict->append(cd->name(),cd);
@@ -145,28 +145,40 @@ void NamespaceDef::insertMember(MemberDef *md)
   switch(md->memberType())
   {
     case MemberDef::Variable:     
-      decVarMembers.append(md);
+      if (Config_getBool("SORT_BRIEF_DOCS"))
+        decVarMembers.inSort(md);
+      else
+        decVarMembers.append(md);
       if (Config_getBool("SORT_MEMBER_DOCS"))
         docVarMembers.inSort(md); 
       else
         docVarMembers.append(md);
       break;
     case MemberDef::Function: 
-      decFuncMembers.append(md);
+      if (Config_getBool("SORT_BRIEF_DOCS"))
+        decFuncMembers.inSort(md);
+      else
+        decFuncMembers.append(md);
       if (Config_getBool("SORT_MEMBER_DOCS"))    
         docFuncMembers.inSort(md); 
       else
         docFuncMembers.append(md);
       break;
     case MemberDef::Typedef:      
-      decTypedefMembers.append(md);
+      if (Config_getBool("SORT_BRIEF_DOCS"))
+        decTypedefMembers.inSort(md);
+      else
+        decTypedefMembers.append(md);
       if (Config_getBool("SORT_MEMBER_DOCS"))
         docTypedefMembers.inSort(md); 
       else
         docTypedefMembers.append(md);
       break;
     case MemberDef::Enumeration:  
-      decEnumMembers.append(md);
+      if (Config_getBool("SORT_BRIEF_DOCS"))
+        decEnumMembers.inSort(md);
+      else
+        decEnumMembers.append(md);
       if (Config_getBool("SORT_MEMBER_DOCS"))
         docEnumMembers.inSort(md); 
       else
@@ -175,14 +187,20 @@ void NamespaceDef::insertMember(MemberDef *md)
     case MemberDef::EnumValue:    
       break;
     case MemberDef::Prototype:    
-      decProtoMembers.append(md);
+      if (Config_getBool("SORT_BRIEF_DOCS"))
+        decProtoMembers.inSort(md);
+      else
+        decProtoMembers.append(md);
       if (Config_getBool("SORT_MEMBER_DOCS"))
         docProtoMembers.inSort(md); 
       else
         docProtoMembers.append(md);
       break;
     case MemberDef::Define:       
-      decDefineMembers.append(md);
+      if (Config_getBool("SORT_BRIEF_DOCS"))
+        decDefineMembers.inSort(md);
+      else
+        decDefineMembers.append(md);
       if (Config_getBool("SORT_MEMBER_DOCS"))
         docDefineMembers.inSort(md); 
       else
diff --git a/src/namespacedef.h b/src/namespacedef.h
index 4b3a3b3..7334f8e 100644
--- a/src/namespacedef.h
+++ b/src/namespacedef.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/outputgen.cpp b/src/outputgen.cpp
index d8d1c82..05c5f48 100644
--- a/src/outputgen.cpp
+++ b/src/outputgen.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/outputgen.h b/src/outputgen.h
index 8e85837..ae9cc04 100644
--- a/src/outputgen.h
+++ b/src/outputgen.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/outputlist.cpp b/src/outputlist.cpp
index 7f3648b..5ea69f2 100644
--- a/src/outputlist.cpp
+++ b/src/outputlist.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/outputlist.h b/src/outputlist.h
index 08e0694..d6c68c9 100644
--- a/src/outputlist.h
+++ b/src/outputlist.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/pagedef.h b/src/pagedef.h
index 439cad5..d4934d5 100644
--- a/src/pagedef.h
+++ b/src/pagedef.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/perlmodgen.cpp b/src/perlmodgen.cpp
index 5184e66..fedb290 100644
--- a/src/perlmodgen.cpp
+++ b/src/perlmodgen.cpp
@@ -3,7 +3,7 @@
  *
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  * Authors: Dimitri van Heesch, Miguel Lobo.
  *
  * Permission to use, copy, modify, and distribute this software and its
diff --git a/src/perlmodgen.h b/src/perlmodgen.h
index 3466b8b..63b4417 100644
--- a/src/perlmodgen.h
+++ b/src/perlmodgen.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/pngenc.cpp b/src/pngenc.cpp
index 8578819..8c5f306 100644
--- a/src/pngenc.cpp
+++ b/src/pngenc.cpp
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/pngenc.h b/src/pngenc.h
index a08107e..c86cbce 100644
--- a/src/pngenc.h
+++ b/src/pngenc.h
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/pre.h b/src/pre.h
index 59eae9b..c23fe24 100644
--- a/src/pre.h
+++ b/src/pre.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/pre.l b/src/pre.l
index 4704a93..0eb3296 100644
--- a/src/pre.l
+++ b/src/pre.l
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
@@ -239,6 +239,44 @@ static FILE *findFile(const char *fileName,bool localInclude)
   return 0;
 }
 
+static QCString extractTrailingComment(const char *s)
+{
+  if (s==0) return "";
+  int i=strlen(s)-1;
+  while (i>=0)
+  {
+    char c=s[i];
+    switch (c)
+    {
+      case '/':
+	{
+	  i--;
+	  if (i>=0 && s[i]=='*') // end of a comment block
+	  {
+	    i--;
+	    while (i>0 && !(s[i-1]=='/' && s[i]=='*')) i--;
+	    if (i==0) return s; else return &s[i-1];
+	  }
+	  else
+	  {
+	    return "";
+	  }
+	} 
+	break;
+	// whitespace or line-continuation
+      case ' ':
+      case '\t': 
+      case '\r':
+      case '\n':
+      case '\\':
+	break;
+      default:
+	return "";
+    }
+    i--;
+  }
+  return "";
+}
 
 static int getNextChar(const QCString &expr,QCString *rest,uint &pos);
 static int getCurrentChar(const QCString &expr,QCString *rest,uint pos);
@@ -1819,6 +1857,11 @@ CHARLIT   (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
 					}
 <DefineText>\n				{
 					  g_defLitText+=yytext;
+					  QCString comment=extractTrailingComment(g_defLitText);
+					  if (!comment.isEmpty())
+					  {
+					    outputArray(comment,comment.length());
+					  }
   					  outputChar('\n');
   					  Define *def=0;
 					  //printf("Define name=`%s' text=`%s' litTexti=`%s'\n",g_defName.data(),g_defText.data(),g_defLitText.data());
diff --git a/src/printdocvisitor.h b/src/printdocvisitor.h
index 4cf0b53..42b418c 100644
--- a/src/printdocvisitor.h
+++ b/src/printdocvisitor.h
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/qtbc.h b/src/qtbc.h
index 5f9abc9..ed1ab98 100644
--- a/src/qtbc.h
+++ b/src/qtbc.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/reflist.cpp b/src/reflist.cpp
index af5a6b3..9c1d4bf 100644
--- a/src/reflist.cpp
+++ b/src/reflist.cpp
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/reflist.h b/src/reflist.h
index 66b5f7a..4fefcaa 100644
--- a/src/reflist.h
+++ b/src/reflist.h
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/rtfdocvisitor.cpp b/src/rtfdocvisitor.cpp
index 4ef5e49..0d77bce 100644
--- a/src/rtfdocvisitor.cpp
+++ b/src/rtfdocvisitor.cpp
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/rtfdocvisitor.h b/src/rtfdocvisitor.h
index 08fc440..a46c14a 100644
--- a/src/rtfdocvisitor.h
+++ b/src/rtfdocvisitor.h
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/rtfgen.cpp b/src/rtfgen.cpp
index 43dc994..faf8dd1 100644
--- a/src/rtfgen.cpp
+++ b/src/rtfgen.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Parker Waechter & Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Parker Waechter & Dimitri van Heesch.
  *
  * Style sheet additions by Alexander Bartolich
  *
diff --git a/src/rtfgen.h b/src/rtfgen.h
index 0e58d7c..5785e58 100644
--- a/src/rtfgen.h
+++ b/src/rtfgen.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Parker Waechter & Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Parker Waechter & Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/rtfstyle.cpp b/src/rtfstyle.cpp
index 1d59a18..997038f 100644
--- a/src/rtfstyle.cpp
+++ b/src/rtfstyle.cpp
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/rtfstyle.h b/src/rtfstyle.h
index 58505e9..6d62458 100644
--- a/src/rtfstyle.h
+++ b/src/rtfstyle.h
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/scanner.h b/src/scanner.h
index 01fbb5d..86eb98c 100644
--- a/src/scanner.h
+++ b/src/scanner.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/scanner.l b/src/scanner.l
index a041063..e4ac633 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
@@ -126,6 +126,7 @@ static bool             useOverrideCommands = FALSE;
 static bool             insideIDL = FALSE;		//!< processing IDL code?
 static bool             insideJava = FALSE;		//!< processing Java code?
 static bool             insideCS = FALSE;		//!< processing C# code?
+static bool             insideD = FALSE;		//!< processing D code?
 static bool             insidePHP = FALSE;		//!< processing PHP code?
 static bool             insideCppQuote = FALSE;
 static bool             insideObjC = FALSE;             //!< processing Objective C code?
@@ -439,6 +440,7 @@ static void setContext()
                fileName.right(4)==".odl";
   insideJava = fileName.right(5)==".java";
   insideCS   = fileName.right(3)==".cs";
+  insideD    = fileName.right(3)==".d";
   insidePHP  = fileName.right(4)==".php" || fileName.right(5)==".php4" || 
                fileName.right(4)==".inc" || fileName.right(6)==".phtml";
   insideObjC = fileName.right(2)==".m";
@@ -587,6 +589,7 @@ PHPKW	  ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
 %x	DefineEnd
 %x	CompoundName
 %x	ClassVar
+%x	ClassCategory
 %x	ClassTemplSpec
 %x	Bases
 %x	BasesProt
@@ -969,6 +972,7 @@ PHPKW	  ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
 					  current->name = yytext;
   					}
 <ObjCMethod>":"				{ // start of parameter list
+  					  current->name += ':';
   					  Argument *a = new Argument;
 					  current->argList->append(a);
   					  BEGIN( ObjCParams );
@@ -981,11 +985,14 @@ PHPKW	  ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
   					}
 <ObjCParams>{ID}/":"			{ // Keyword of parameter
   					  current->argList->getLast()->attrib=(QCString)"["+yytext+"]";
+					  current->name += yytext;
   					}
 <ObjCParams>{ID}			{ // name of parameter
   					  current->argList->getLast()->name=yytext;
   					}
-<ObjCParams>":"				{ }
+<ObjCParams>":"				{ 
+					  current->name += ':';
+					}
 <ObjCParams>"("				{
   					  BEGIN( ObjCParamType );
   					}
@@ -1006,7 +1013,7 @@ PHPKW	  ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
   					}
 <ObjCMethod,ObjCParams>";"		{ // end of method declaration
   					  current->args = argListToString(current->argList);
-					  printf("argList=%s\n",current->args.data());
+					  //printf("argList=%s\n",current->args.data());
   					  unput(';');
   					  BEGIN( Function );
   					}
@@ -1095,6 +1102,11 @@ PHPKW	  ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
 					    current->bodyLine  = yyLineNr;
   					    BEGIN( CompoundName ); 
 					  }
+					  else if (insideD)
+					  {
+					    lineCount();
+					    BEGIN(PackageName);
+					  }
 					  else
 					  {
 					    addType( current ) ;
@@ -1121,7 +1133,7 @@ PHPKW	  ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
 					}
 <FindMembers>{B}*((("disp")?"interface")|"valuetype"){BN}+ 	{ // M$/Corba IDL interface
 					  lineCount();
-                                          if (insideIDL || insideJava || insideCS)
+                                          if (insideIDL || insideJava || insideCS || insideD)
 					  {
   					    isTypedef=FALSE;
 					    current->section = Entry::INTERFACE_SEC;
@@ -1454,11 +1466,11 @@ PHPKW	  ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
 					  {
 					    BEGIN(CppQuote);
 					  }
-					  else if ((insideIDL || insideJava) && yyleng==6 && strcmp(yytext,"import")==0)
+					  else if ((insideIDL || insideJava || insideD) && yyleng==6 && strcmp(yytext,"import")==0)
 					  {
 					    if (insideIDL)
 					      BEGIN(NextSemi);
-					    else // insideJava
+					    else // insideJava or insideD
 					      BEGIN(JavaImport);
 					  }
 					  else if (insideJava && strcmp(yytext,"package")==0)
@@ -1481,15 +1493,16 @@ PHPKW	  ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
 					    {
 					      addType( current ) ;
 					    }
-					    if ((insideJava || insideCS) && strcmp(yytext,"public")==0)
+					    bool javaLike = insideJava || insideCS || insideD;
+					    if (javaLike && strcmp(yytext,"public")==0)
 					    {
 					      current->protection = Public;
 					    }
-					    else if ((insideJava || insideCS) && strcmp(yytext,"protected")==0)
+					    else if (javaLike && strcmp(yytext,"protected")==0)
 					    {
 					      current->protection = Protected;
 					    }
-					    else if ((insideJava || insideCS) && strcmp(yytext,"private")==0)
+					    else if (javaLike && strcmp(yytext,"private")==0)
 					    {
 					      current->protection = Private;
 					    }
@@ -1541,7 +1554,7 @@ PHPKW	  ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
 					  }
 					}
 <FindMembers>"."			{
-  					  if (insideJava || insideCS)
+  					  if (insideJava || insideCS || insideD)
 					  {
 					    current->name+=".";
 					  }
@@ -2207,7 +2220,7 @@ PHPKW	  ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
 						current = new Entry(*current);
 						if (current->section==Entry::NAMESPACE_SEC || 
 						    current->section==Entry::INTERFACE_SEC ||
-						    insideJava || insidePHP || insideCS
+						    insideJava || insidePHP || insideCS || insideD
 						   )
 						{ // namespaces and interfaces and java classes ends with a closing bracket without semicolon
 						  current->reset();
@@ -3325,15 +3338,33 @@ PHPKW	  ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
 					  }
   					}
 <ClassVar>[(\[]				{
-                                          // probably a function anyway
-                                          unput(*yytext);
-					  BEGIN( FindMembers );
+    					  if (insideObjC && *yytext=='(') // class category
+					  {
+					    current->name+='(';
+					    BEGIN( ClassCategory );
+					  }
+					  else
+					  {
+                                            // probably a function anyway
+                                            unput(*yytext);
+					    BEGIN( FindMembers );
+					  }
+					}
+<ClassCategory>{ID}			{
+					  current->name+=yytext;
+					}
+<ClassCategory>")"			{
+					  current->name+=')';
+					  // category has no variables so push back an empty body
+					  unput('}');
+					  unput('{');
+					  BEGIN( ClassVar );
 					}
 <ClassVar>":"				{ 
   					  current->type.resize(0);
 					  if (current->section == Entry::INTERFACE_SEC || 
 					      current->section == Entry::STRUCT_SEC || 
-					      insidePHP || insideCS
+					      insidePHP || insideCS || insideD
 					     )
 					    baseProt=Public;
 					  else
@@ -3438,7 +3469,7 @@ PHPKW	  ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
   					    current->extends->append(
 					      new BaseInfo(baseName,baseProt,baseVirt)
 					    );
-					  if (current->section == Entry::INTERFACE_SEC || insideJava || insidePHP || insideCS)
+					  if (current->section == Entry::INTERFACE_SEC || insideJava || insidePHP || insideCS || insideD)
 					    baseProt=Public;
 					  else
 					    baseProt=Private;
@@ -3608,8 +3639,7 @@ PHPKW	  ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
 					  }
 					  else
 					  {
-					    if ((insideJava || insideCS) && 
-						/*current->stat && */
+					    if ((insideJava || insideCS || insideD) &&
 						current->name.isEmpty() && 
 						current->type.isEmpty()
 					       )
@@ -5440,7 +5470,8 @@ static void parseCompounds(Entry *rt)
       {
 	if (
 	    ce->fileName.right(4)==".php" ||
-	    ce->fileName.right(4)==".inc"
+	    ce->fileName.right(4)==".inc" ||
+	    ce->fileName.right(2)==".d"
 	   )
           current->protection = protection = Public ; 
 	else if (ce->fileName.right(5)==".java")
diff --git a/src/searchindex.cpp b/src/searchindex.cpp
index 7427ac6..cf049aa 100644
--- a/src/searchindex.cpp
+++ b/src/searchindex.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/searchindex.h b/src/searchindex.h
index 6f4494e..cd961a4 100644
--- a/src/searchindex.h
+++ b/src/searchindex.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/section.h b/src/section.h
index 0f39c54..e29d7fb 100644
--- a/src/section.h
+++ b/src/section.h
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/sortdict.h b/src/sortdict.h
index f019432..3b8be02 100644
--- a/src/sortdict.h
+++ b/src/sortdict.h
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/tagreader.cpp b/src/tagreader.cpp
index 095487e..6301305 100644
--- a/src/tagreader.cpp
+++ b/src/tagreader.cpp
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/tagreader.h b/src/tagreader.h
index 8a0df39..2e44b92 100644
--- a/src/tagreader.h
+++ b/src/tagreader.h
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/translator.h b/src/translator.h
index 5741d51..260e608 100644
--- a/src/translator.h
+++ b/src/translator.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/translator_br.h b/src/translator_br.h
index 1f4c9b3..3a39c69 100644
--- a/src/translator_br.h
+++ b/src/translator_br.h
@@ -1,5 +1,5 @@
 /******************************************************************************
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby
diff --git a/src/translator_ca.h b/src/translator_ca.h
index 2d54273..639519d 100644
--- a/src/translator_ca.h
+++ b/src/translator_ca.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/translator_cn.h b/src/translator_cn.h
index cd1f9f8..1083ea7 100644
--- a/src/translator_cn.h
+++ b/src/translator_cn.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/translator_cz.h b/src/translator_cz.h
index a4647ce..feb92f6 100644
--- a/src/translator_cz.h
+++ b/src/translator_cz.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/translator_de.h b/src/translator_de.h
index 32bf83f..2f13544 100644
--- a/src/translator_de.h
+++ b/src/translator_de.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/translator_dk.h b/src/translator_dk.h
index 7c4041f..4eae217 100644
--- a/src/translator_dk.h
+++ b/src/translator_dk.h
@@ -3,7 +3,7 @@
  *
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby
diff --git a/src/translator_en.h b/src/translator_en.h
index 8ec8baa..61e8aa4 100644
--- a/src/translator_en.h
+++ b/src/translator_en.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/translator_es.h b/src/translator_es.h
index 95f4a7d..6298ca2 100644
--- a/src/translator_es.h
+++ b/src/translator_es.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/translator_fi.h b/src/translator_fi.h
index 5865dbd..0aba2c7 100644
--- a/src/translator_fi.h
+++ b/src/translator_fi.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/translator_fr.h b/src/translator_fr.h
index c6be3a8..08f4a70 100644
--- a/src/translator_fr.h
+++ b/src/translator_fr.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/translator_gr.h b/src/translator_gr.h
index 6016da7..8953339 100644
--- a/src/translator_gr.h
+++ b/src/translator_gr.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/translator_hr.h b/src/translator_hr.h
index acc21a5..f326252 100644
--- a/src/translator_hr.h
+++ b/src/translator_hr.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/translator_hu.h b/src/translator_hu.h
index c4459a9..2a843bb 100644
--- a/src/translator_hu.h
+++ b/src/translator_hu.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
@@ -14,13 +14,21 @@
  * input used in their production; they are not affected by this license.
  *
  */
+ 
+ /*
+  * Original Hungarian translation by
+  * György Földvári  <foldvari@diatronltd.com>
+  *
+  * Extended, revised and updated by
+  * Ákos Kiss  <akiss@users.sourceforge.net>
+  */
 
 #ifndef TRANSLATOR_HU_H
 #define TRANSLATOR_HU_H
 
 #include "translator.h"
 
-class TranslatorHungarian : public TranslatorAdapter_1_2_1
+class TranslatorHungarian : public Translator
 {
   public:
 
@@ -36,9 +44,6 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
     {
       return "";
     }
-    /*! returns the name of the package that is included by LaTeX */
-    QCString latexBabelPackage() 
-    { return ""; }
 
     /*! return the language charset. This will be used for the HTML output */
     QCString idLanguageCharset()
@@ -62,19 +67,28 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
 
     /*! header that is put before the list of typedefs. */
     QCString trMemberTypedefDocumentation()
-    { return "Osztálytag típusdefiníciók dokumentációja"; }
+    { return "Típusdefiníció-tagok dokumentációja"; }
     
     /*! header that is put before the list of enumerations. */
     QCString trMemberEnumerationDocumentation()
-    { return "Osztálytag enumerációk dokumentációja"; }
+    { return "Enumeráció-tagok dokumentációja"; }
     
     /*! header that is put before the list of member functions. */
     QCString trMemberFunctionDocumentation()
-    { return "Osztálytag függvények (metódusok) dokumentációja"; }
+    { return "Tagfüggvények dokumentációja"; }
     
     /*! header that is put before the list of member attributes. */
     QCString trMemberDataDocumentation()
-    { return "Osztálytag adatok dokumentációja"; }
+    {
+      if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+      {
+        return "Adatmezõk dokumentációja"; 
+      }
+      else
+      {
+        return "Adattagok dokumentációja"; 
+      }
+    }
 
     /*! this is the text of a link put after brief descriptions. */
     QCString trMore() 
@@ -82,11 +96,11 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
 
     /*! put in the class documentation */
     QCString trListOfAllMembers()
-    { return "Osztálytagok listája."; }
+    { return "A tagok teljes listája."; }
 
     /*! used as the title of the "list of all members" page of a class */
     QCString trMemberList()
-    { return "Osztálytagok listája"; }
+    { return "Taglista"; }
 
     /*! this is the first part of a sentence that is followed by a class name */
     QCString trThisIsTheListOfAllMembers()
@@ -100,7 +114,7 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
      *  parameter s is name of the project name.
      */
     QCString trGeneratedAutomatically(const char *s)
-    { QCString result="Ezt a dokumentációt a Doxygen készítette";
+    { QCString result="Ezt a dokumentációt a Doxygen készítette ";
       if (s) result+=(QCString)" a(z) "+s+(QCString)" projekthez";
       result+=" a forráskódból."; 
       return result;
@@ -108,22 +122,16 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
 
     /*! put after an enum name in the list of all members */
     QCString trEnumName()
-    { return "enumeráció neve"; }
+    { return "enum"; }
     
     /*! put after an enum value in the list of all members */
     QCString trEnumValue()
-    { return "enumeráció értéke"; }
+    { return "enum-érték"; }
     
     /*! put after an undocumented member in the list of all members */
     QCString trDefinedIn()
-    { return "definiálva itt:"; }
+    { return "definiálja:"; }
 
-    /*! put as in introduction in the verbatim header file of a class.
-     *  parameter f is the name of the include file.
-     */
-    QCString trVerbatimText(const char *f)
-    { return (QCString)"Ez a(z) "+f+" definíciós fájl pontos tartalma."; }
-    
     // quick reference sections
 
     /*! This is put above each page as a link to the list of all groups of 
@@ -138,11 +146,20 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
     
     /*! This is put above each page as a link to the list of annotated classes */
     QCString trCompoundList()
-    { return "Összetevõk listája"; }
+    { 
+      if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+      {
+        return "Adatszerkezetek";
+      }
+      else
+      {
+        return "Osztálylista"; 
+      }
+    }
     
     /*! This is put above each page as a link to the list of documented files */
     QCString trFileList()
-    { return "Fájlok listája"; }
+    { return "Fájllista"; }
 
     /*! This is put above each page as a link to the list of all verbatim headers */
     QCString trHeaderFiles()
@@ -150,11 +167,29 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
 
     /*! This is put above each page as a link to all members of compounds. */
     QCString trCompoundMembers()
-    { return "Osztályok összetevõi"; }
+    { 
+      if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+      {
+        return "Adatmezõk"; 
+      }
+      else
+      {
+        return "Osztálytagok"; 
+      }
+    }
 
     /*! This is put above each page as a link to all members of files. */
     QCString trFileMembers()
-    { return "Fájlok elemei"; }
+    { 
+      if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+      {
+        return "Globális elemek"; 
+      }
+      else
+      {
+        return "Fájlelemek"; 
+      }
+    }
 
     /*! This is put above each page as a link to all related pages. */
     QCString trRelatedPages()
@@ -170,72 +205,119 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
 
     /*! This is an introduction to the class hierarchy. */
     QCString trClassHierarchyDescription()
-    { return "Ez a leszármaztatási lista hozzávetõleg, "
-             "de nem szigorúan véve, ábécé sorrendbe rendezett:";
+    { return "Majdnem (de nem teljesen) betûrendbe szedett "
+             "leszármazási lista:";
     }
 
     /*! This is an introduction to the list with all files. */
     QCString trFileListDescription(bool extractAll)
     {
-      QCString result="Ez az összes ";
-      if (!extractAll) result+="doumentált ";
+      QCString result="Az összes ";
+      if (!extractAll) result+="dokumentált ";
       result+="fájl listája rövid leírásokkal:";
       return result;
     }
 
     /*! This is an introduction to the annotated compound list. */
     QCString trCompoundListDescription()
-    { return "Ez az osztályok, struktúrák, uniók és interfészek "
-             "listája rövid leírásokkal:"; 
+    { 
+      
+      if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+      {
+        return "Az összes adatszerkezet listája rövid leírásokkal:"; 
+      }
+      else
+      {
+        return "Az összes osztály, struktúra, unió és interfész "
+               "listája rövid leírásokkal:"; 
+      }
     }
 
     /*! This is an introduction to the page with all class members. */
     QCString trCompoundMembersDescription(bool extractAll)
     {
-      QCString result="Ez az összes ";
-      if (!extractAll) result+="dokumentált ";
-      result+="osztály összetevõ listája ";
+      QCString result="Az összes ";
+      if (!extractAll)
+      {
+        result+="dokumentált ";
+      }
+      if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+      {
+        result+="struktúra- és úniómezõ";
+      }
+      else
+      {
+        result+="osztálytag";
+      }
+      result+=" listája, valamint hivatkozás ";
       if (!extractAll) 
-        result+="hivatkozással a hozzájuk tartózó osztály dokumentációra:";
+      {
+        if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+        {
+          result+="a megfelelõ struktúra-/úniódokumentációra minden mezõnél:";
+        }
+        else
+        {
+          result+="a megfelelõ osztálydokumentációra minden tagnál:";
+        }
+      }
       else 
-        result+="az õket tartalmazó osztály megjelölésével:";
+      {
+        if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+        {
+          result+="a struktúrákra/úniókra, amikhez tartoznak:";
+        }
+        else
+        {
+          result+="az osztályokra, amikhez tartoznak:";
+        }
+      }
       return result;
     }
 
     /*! This is an introduction to the page with all file members. */
     QCString trFileMembersDescription(bool extractAll)
     {
-      QCString result="Ez az összes ";
+      QCString result="Az összes ";
       if (!extractAll) result+="dokumentált ";
-      result+="fájl elem listája ";
+      
+      if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+      {
+        result+="függvény, változó, makródefiníció, enumeráció és típusdefiníció";
+      }
+      else
+      {
+        result+="fájlelem";
+      }
+      result+=" listája, valamint hivatkozás ";
       if (extractAll) 
-        result+="hivatkozással a hozzájuk tartózó fájl dokumentációra:";
+        result+="a fájlokra, amikhez tartoznak:";
       else 
-        result+="az õket tartalmazó fájl megjelölésével:";
+        result+="a dokumentációra:";
       return result;
     }
 
     /*! This is an introduction to the page with the list of all header files. */
     QCString trHeaderFilesDescription()
-    { return "Ezek a Programozói Interfészt (API) alkotó definíciós fájlok:"; }
+    { return "A Programozói Interfészt (API) alkotó definíciós fájlok listája:"; }
 
     /*! This is an introduction to the page with the list of all examples */
     QCString trExamplesDescription()
-    { return "Ez a példák listája:"; }
+    { return "A példák listája:"; }
 
     /*! This is an introduction to the page with the list of related pages */
     QCString trRelatedPagesDescription()
-    { return "Ez a kapcsolódó dokumentációk listája:"; }
+    { return "A kapcsolódó dokumentációk listája:"; }
 
     /*! This is an introduction to the page with the list of class/file groups */
     QCString trModulesDescription()
-    { return "Ez a modulok listája:"; }
+    { return "A modulok listája:"; }
 
     /*! This sentences is used in the annotated class/file lists if no brief
      * description is given. 
      */
     QCString trNoDescriptionAvailable()
-    { return "Nincs hozzá leírás"; }
+    { return "Nincs leírás"; }
     
     // index titles (the project name is prepended for these) 
 
@@ -248,55 +330,64 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
      * index of all groups.
      */
     QCString trModuleIndex()
-    { return "Modul index"; }
+    { return "Modulmutató"; }
 
     /*! This is used in LaTeX as the title of the chapter with the 
      * class hierarchy.
      */
     QCString trHierarchicalIndex()
-    { return "Hierarchikus index"; }
+    { return "Hierarchikus mutató"; }
 
     /*! This is used in LaTeX as the title of the chapter with the 
      * annotated compound index.
      */
     QCString trCompoundIndex()
-    { return "Összetevõk indexe"; }
+    {
+      if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+      { 
+        return "Adatszerkezet-mutató";
+      }
+      else
+      {
+        return "Osztálymutató"; 
+      }
+    }
 
     /*! This is used in LaTeX as the title of the chapter with the
      * list of all files.
      */
     QCString trFileIndex() 
-    { return "Fájl index"; }
+    { return "Fájlmutató"; }
 
     /*! This is used in LaTeX as the title of the chapter containing
      *  the documentation of all groups.
      */
     QCString trModuleDocumentation()
-    { return "Modul documentáció"; }
+    { return "Modulok dokumentációja"; }
 
     /*! This is used in LaTeX as the title of the chapter containing
      *  the documentation of all classes, structs and unions.
      */
     QCString trClassDocumentation()
-    { return "Osztály documentatáció"; }
+    { return "Osztályok dokumentációja"; }
 
     /*! This is used in LaTeX as the title of the chapter containing
      *  the documentation of all files.
      */
     QCString trFileDocumentation()
-    { return "Fájl documentatáció"; }
+    { return "Fájlok dokumentációja"; }
 
     /*! This is used in LaTeX as the title of the chapter containing
      *  the documentation of all examples.
      */
     QCString trExampleDocumentation()
-    { return "Példák documentatációja"; }
+    { return "Példák dokumentációja"; }
 
     /*! This is used in LaTeX as the title of the chapter containing
      *  the documentation of all related pages.
      */
     QCString trPageDocumentation()
-    { return "Kapcsolódó lapok documentációja"; }
+    { return "Kapcsolódó dokumentációk"; }
 
     /*! This is used in LaTeX as the title of the document */
     QCString trReferenceManual()
@@ -306,13 +397,13 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
      *  list of defines
      */
     QCString trDefines()
-    { return "Definíciók"; }
+    { return "Makródefiníciók"; }
 
     /*! This is used in the documentation of a file as a header before the 
      *  list of function prototypes
      */
     QCString trFuncProtos()
-    { return "Függvény prototípusok"; }
+    { return "Függvény-prototípusok"; }
 
     /*! This is used in the documentation of a file as a header before the 
      *  list of typedefs
@@ -342,41 +433,37 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
      *  list of (global) variables
      */
     QCString trEnumerationValues()
-    { return "Enumeráció értékek"; }
+    { return "Enumeráció-értékek"; }
     
-    /*! This is used in man pages as the author section. */
-    QCString trAuthor()
-    { return "Szerzõ"; }
-
     /*! This is used in the documentation of a file before the list of
      *  documentation blocks for defines
      */
     QCString trDefineDocumentation()
-    { return "Definíciók dokumentációja"; }
+    { return "Makródefiníciók dokumentációja"; }
 
     /*! This is used in the documentation of a file/namespace before the list 
      *  of documentation blocks for function prototypes
      */
     QCString trFunctionPrototypeDocumentation()
-    { return "Függvény prototípusok documentációja"; }
+    { return "Függvény-prototípusok dokumentációja"; }
 
     /*! This is used in the documentation of a file/namespace before the list 
      *  of documentation blocks for typedefs
      */
     QCString trTypedefDocumentation()
-    { return "Típusdefiníciók documentációja"; }
+    { return "Típusdefiníciók dokumentációja"; }
 
     /*! This is used in the documentation of a file/namespace before the list 
      *  of documentation blocks for enumeration types
      */
     QCString trEnumerationTypeDocumentation()
-    { return "Enumerációk documentációja"; }
+    { return "Enumerációk dokumentációja"; }
 
     /*! This is used in the documentation of a file/namespace before the list 
      *  of documentation blocks for enumeration values
      */
     QCString trEnumerationValueDocumentation()
-    { return "Enumeráció értékek documentációja"; }
+    { return "Enumeráció-értékek dokumentációja"; }
 
     /*! This is used in the documentation of a file/namespace before the list 
      *  of documentation blocks for functions
@@ -388,19 +475,22 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
      *  of documentation blocks for variables
      */
     QCString trVariableDocumentation()
-    { return "Változók documentációja"; }
+    { return "Változók dokumentációja"; }
 
     /*! This is used in the documentation of a file/namespace/group before 
      *  the list of links to documented compounds
      */
     QCString trCompounds()
-    { return "Összetevõk"; }
-
-    /*! This is used in the documentation of a group before the list of 
-     *  links to documented files
-     */
-    QCString trFiles()
-    { return "Fájlok"; }
+    { 
+      if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+      {
+        return "Adatszerkezetek"; 
+      }
+      else
+      {
+        return "Osztályok"; 
+      }
+    }
 
     /*! This is used in the standard footer of each page and indicates when 
      *  the page was generated 
@@ -422,7 +512,7 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
     /*! this text is put before a class diagram */
     QCString trClassDiagram(const char *clName)
     {
-      return clName+(QCString)" osztály származtatási diagramja";
+      return (QCString)"A(z) "+clName+" osztály származási diagramja:";
     }
     
     /*! this text is generated when the \\internal command is used. */
@@ -431,7 +521,7 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
 
     /*! this text is generated when the \\reimp command is used. */
     QCString trReimplementedForInternalReasons()
-    { return "Belsõ okok miatt újraimplementálva, az API-t nem érinti."; }
+    { return "Belsõ okok miatt újraimplementálva; az API-t nem érinti."; }
 
     /*! this text is generated when the \\warning command is used. */
     QCString trWarning()
@@ -449,13 +539,9 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
     QCString trDate()
     { return "Dátum"; }
 
-    /*! this text is generated when the \\author command is used. */
-    QCString trAuthors()
-    { return "Szerzõ(k)"; }
-
     /*! this text is generated when the \\return command is used. */
     QCString trReturns()
-    { return "Visszaadott érték"; }
+    { return "Visszatérési érték"; }
 
     /*! this text is generated when the \\sa command is used. */
     QCString trSeeAlso()
@@ -473,16 +559,18 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
     QCString trGeneratedBy()
     { return "Készítette"; }
 
-    // new since 0.49-990307
+//////////////////////////////////////////////////////////////////////////
+// new since 0.49-990307
+//////////////////////////////////////////////////////////////////////////
     
     /*! used as the title of page containing all the index of all namespaces. */
     QCString trNamespaceList()
-    { return "Névtér lista"; }
+    { return "Névtérlista"; }
 
     /*! used as an introduction to the namespace list */
     QCString trNamespaceListDescription(bool extractAll)
     {
-      QCString result="Ez az összes ";
+      QCString result="Az összes ";
       if (!extractAll) result+="dokumentált ";
       result+="névtér listája rövid leírásokkal:";
       return result;
@@ -522,8 +610,8 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
         case ClassDef::Interface:  result+=" interfész"; break;
         case ClassDef::Exception:  result+=" kivétel"; break;
       }
-      if (isTemplate) result+=" sablon";
-      result+=" referencia";
+      if (isTemplate) result+="sablon-";
+      result+="referencia";
       return result;
     }
 
@@ -531,7 +619,7 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
     QCString trFileReference(const char *fileName)
     {
       QCString result=fileName;
-      result+=" fájl referencia"; 
+      result+=" fájlreferencia"; 
       return result;
     }
 
@@ -539,31 +627,30 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
     QCString trNamespaceReference(const char *namespaceName)
     {
       QCString result=namespaceName;
-      result+=" névtér reference";
+      result+=" névtér-referencia";
       return result;
     }
     
-    /* these are for the member sections of a class, struct or union */
     QCString trPublicMembers()
-    { return "Publikus metódusok"; }
+    { return "Publikus tagfüggvények"; }
     QCString trPublicSlots()
-    { return "Publikus adatok"; }
+    { return "Publikus rések"; }
     QCString trSignals()
     { return "Szignálok"; }
     QCString trStaticPublicMembers()
-    { return "Statikus publikus metódusok"; }
+    { return "Statikus publikus tagfüggvények"; }
     QCString trProtectedMembers()
-    { return "Védett metódusok"; }
+    { return "Védett tagfüggvények"; }
     QCString trProtectedSlots()
-    { return "Védett adatok"; }
+    { return "Védett rések"; }
     QCString trStaticProtectedMembers()
-    { return "Statikus védett metódusok"; }
+    { return "Statikus védett tagfüggvények"; }
     QCString trPrivateMembers()
-    { return "Privát metódusok"; }
+    { return "Privát tagfüggvények"; }
     QCString trPrivateSlots()
-    { return "Privát adatok"; }
+    { return "Privát rések"; }
     QCString trStaticPrivateMembers()
-    { return "Statikus privát metódusok"; }
+    { return "Statikus privát tagfüggvények"; }
     
     /*! this function is used to produce a comma-separated list of items.
      *  use generateMarker(i) to indicate where item i should be put.
@@ -595,7 +682,7 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
      */
     QCString trInheritsList(int numEntries)
     {
-      return "Szülõk osztályok: "+trWriteList(numEntries)+".";
+      return "Õsök: "+trWriteList(numEntries)+".";
     }
 
     /*! used in class documentation to produce a list of super classes,
@@ -603,7 +690,7 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
      */
     QCString trInheritedByList(int numEntries)
     {
-      return "Származtatott osztályok: "+trWriteList(numEntries)+".";
+      return "Leszármazottak: "+trWriteList(numEntries)+".";
     }
 
     /*! used in member documentation blocks to produce a list of 
@@ -611,7 +698,7 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
      */
     QCString trReimplementedFromList(int numEntries)
     {
-      return "Újra implementálva ebbõl az osztályból: "+trWriteList(numEntries)+".";
+      return "Újraimplementált õsök: "+trWriteList(numEntries)+".";
     }
 
     /*! used in member documentation blocks to produce a list of
@@ -619,36 +706,36 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
      */
     QCString trReimplementedInList(int numEntries)
     {
-      return "Újra implementálva ebben az osztályban: "+trWriteList(numEntries)+".";
+      return "Újraimplementáló leszármazottak: "+trWriteList(numEntries)+".";
     }
 
     /*! This is put above each page as a link to all members of namespaces. */
     QCString trNamespaceMembers()
-    { return "Névtér tagjai"; }
+    { return "Névtértagok"; }
 
     /*! This is an introduction to the page with all namespace members */
     QCString trNamespaceMemberDescription(bool extractAll)
     { 
-      QCString result="Ez az összes ";
+      QCString result="Az összes ";
       if (!extractAll) result+="dokumentált ";
-      result+="névtér tagjainak listája ";
+      result+="névtér tagjainak listája, valamint hivatkozás ";
       if (extractAll) 
-        result+="a hozzájuk tartozó dokumentációra való hivatkozással:";
+        result+=" a megfelelõ névtér dokumentációra minden tagnál:";
       else 
-        result+="az öket tartalmazó névtérrel:";
+        result+=" a névterekre, amelynek tagjai:";
       return result;
     }
     /*! This is used in LaTeX as the title of the chapter with the 
      *  index of all namespaces.
      */
     QCString trNamespaceIndex()
-    { return "Névtér index"; }
+    { return "Névtérmutató"; }
 
     /*! This is used in LaTeX as the title of the chapter containing
      *  the documentation of all namespaces.
      */
     QCString trNamespaceDocumentation()
-    { return "Névtér documentáció"; }
+    { return "Névterek dokumentációja"; }
 
 //////////////////////////////////////////////////////////////////////////
 // new since 0.49-990522
@@ -690,7 +777,7 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
      * list.
      */
     QCString trAlphabeticalList()
-    { return "Ábécé rendes lista"; }
+    { return "Betûrendes lista"; }
 
 //////////////////////////////////////////////////////////////////////////
 // new since 0.49-990901
@@ -698,12 +785,12 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
 
     /*! This is used as the heading text for the retval command. */
     QCString trReturnValues()
-    { return "Visszaadott értékek"; }
+    { return "Visszatérési értékek"; }
 
     /*! This is in the (quick) index as a link to the main page (index.html)
      */
     QCString trMainPage()
-    { return "Kezdõ lap"; }
+    { return "Fõoldal"; }
 
     /*! This is used in references to page that are put in the LaTeX 
      *  documentation. It should be an abbreviation of the word page.
@@ -744,22 +831,22 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
     /*! this text is put before a collaboration diagram */
     QCString trCollaborationDiagram(const char *clName)
     {
-      return (QCString)"Együttmûködési diagram "+clName+" osztályhoz:";
+      return (QCString)"A(z) "+clName+" osztály együttmûködési diagramja:";
     }
     /*! this text is put before an include dependency graph */
     QCString trInclDepGraph(const char *fName)
     {
-      return (QCString)"Definíciós fájl függési ábra "+fName+" fájlhoz:";
+      return (QCString)"A(z) "+fName+" definíciós fájl függési gráfja:";
     }
     /*! header that is put before the list of constructor/destructors. */
     QCString trConstructorDocumentation()
     {
-      return "Konstruktor és destruktor dokumentáció"; 
+      return "Konstruktorok és destruktorok dokumentációja"; 
     }
     /*! Used in the file documentation to point to the corresponding sources. */
     QCString trGotoSourceCode()
     {
-      return "Ugrás a fájl forrásához.";
+      return "Ugrás a fájl forráskódjához.";
     }
     /*! Used in the file sources to point to the corresponding documentation. */
     QCString trGotoDocumentation()
@@ -793,19 +880,19 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
     }
     QCString trGraphicalHierarchy()
     {
-      return "Osztály-hierarchia grafikon";
+      return "Osztályhierarchia-ábra";
     }
     QCString trGotoGraphicalHierarchy()
     {
-      return "Ugrás az osztály-hierarchia grafikonhoz";
+      return "Ugrás az osztályhierarchia-ábrához";
     }
     QCString trGotoTextualHierarchy()
     {
-      return "Ugrás az osztály-hierarchia leíráshoz";
+      return "Ugrás az szöveges osztályhierarchiához";
     }
     QCString trPageIndex()
     {
-      return "Oldal index";
+      return "Oldalmutató";
     }
 
 //////////////////////////////////////////////////////////////////////////
@@ -822,7 +909,14 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
     }
     QCString trPublicAttribs()
     {
-      return "Publikus attribútumok";
+      if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+      {
+        return "Adatmezõk";
+      }
+      else
+      {
+        return "Publikus attribútumok";
+      }
     }
     QCString trStaticPublicAttribs()
     {
@@ -874,7 +968,7 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
 
     QCString trReferencedBy()
     {
-      return "hivatkozás innen:";
+      return "Hivatkozások:";
     }
     QCString trRemarks()
     {
@@ -907,17 +1001,20 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
     QCString trLegendDocs()
     {
       return 
-        "Hogyan értelmezzük a DopxyGen által készített ábrákat?<p>\n"
+        "Ez az oldal elmagyarázza hogyan kell értelmezni a "
+        "doxygen által készített ábrákat.<p>\n"
         "Vegyük a következõ példát:\n"
         "\\code\n"
-        "/*! Nem látható osztály, nem fér ki, vágásra kerül */\n"
+        "/*! Vágás miatt nem látható osztály */\n"
         "class Invisible { };\n\n"
-        "/*! Származtatás rejtett */\n"
+        "/*! Levágott osztály, származása rejtett */\n"
         "class Truncated : public Invisible { };\n\n"
-        "/* Nem dokumentált osztály */\n"
+        "/* Doxygen kommentekkel nem dokumentált osztály */\n"
         "class Undocumented { };\n\n"
         "/*! Publikus származtatásal levezetett osztály */\n"
         "class PublicBase : public Truncated { };\n\n"
+        "/*! Egy sablonosztály */\n"
+        "template<class T> class Templ { };\n\n"
         "/*! Védett származtatásal levezetett osztály */\n"
         "class ProtectedBase { };\n\n"
         "/*! Privát származtatásal levezetett osztály */\n"
@@ -929,22 +1026,23 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
         "                  protected ProtectedBase,\n"
         "                  private PrivateBase,\n"
         "                  public Undocumented\n"
+        "                  public Templ<int>\n"
         "{\n"
         "  private:\n"
         "    Used *m_usedClass;\n"
         "};\n"
         "\\endcode\n"
         "Ha a konfigurációs fájl \\c MAX_DOT_GRAPH_HEIGHT elemének értékét "
-        "200-ra állítjuk, az eredmény a következõ ábra lesz:"
+        "240-re állítjuk, az eredmény a következõ ábra lesz:"
         "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
         "<p>\n"
         "Az ábrán levõ dobozok jelentése:\n"
         "<ul>\n"
         "<li>Kitöltött fekete doboz jelzi azt az osztályt vagy struktúrát,"
         "amelyrõl az ábra szól.\n"
-        "<li>Fekete keret jelszi a dokumentált osztályokat vagy struktúrákat.\n"
-        "<li>Szürke keret jelzi a nem dokumentált osztályokat vagy struktúrákat.\n"
-        "<li>Piros keret jelzi azokat az osztályokat vagy struktúrákat, amelyeknél vágás miatt nem látható "
+        "<li>Fekete keret jelzi a dokumentált osztályokat és struktúrákat.\n"
+        "<li>Szürke keret jelzi a nem dokumentált osztályokat és struktúrákat.\n"
+        "<li>Piros keret jelzi azokat az osztályokat és struktúrákat, amelyeknél vágás miatt nem látható "
         "az összes leszármaztatási kapcsolat. Egy ábra vágásra kerül, ha nem fér bele "
         "a megadott tartományba."
         "</ul>\n"
@@ -954,7 +1052,9 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
         "<li>Sötétzöld nyíl jelzi a védett származtatást.\n"
         "<li>Sötétvörös nyíl jelzi a privát származtatást.\n"
         "<li>Lila szaggatott nyíl jelzi, ha az osztály egy másikat használ vagy tartalmaz. "
-        "A nyíl felirata jelzi a változók nevét, amelyeken keresztül a másik osztály kapcsolódik.\n"
+        "A nyíl felirata jelzi a változó(k) nevét, amelyeken keresztül a másik osztály kapcsolódik.\n"
+        "<li>Sárga szaggatott nyíl jelzi a kapcsolatot a sablonpéldány és a példányosított "
+        "osztálysablon között. A nyíl felirata jelzi a pélány sablonparamétereit.\n"
         "</ul>\n";
 
     }
@@ -976,7 +1076,428 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
     /*! Used as the header of the test list */
     QCString trTestList()
     {
-      return "Teszt lista";
+      return "Tesztlista";
+    }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.1
+//////////////////////////////////////////////////////////////////////////
+
+    /*! Used as a section header for KDE-2 IDL methods */
+    virtual QCString trDCOPMethods()
+    {
+      return "DCOP tagfüggvények";
+    }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.2
+//////////////////////////////////////////////////////////////////////////
+
+    /*! Used as a section header for IDL properties */
+    virtual QCString trProperties()
+    {
+      return "Tulajdonságok";
+    }
+    /*! Used as a section header for IDL property documentation */
+    virtual QCString trPropertyDocumentation()
+    {
+      return "Tulajdonságok dokumentációjka";
+    }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.4
+//////////////////////////////////////////////////////////////////////////
+
+    /*! Used for Java interfaces in the summary section of Java packages */
+    virtual QCString trInterfaces()
+    {
+      return "Interfészek";
+    }
+    /*! Used for Java classes in the summary section of Java packages */
+    virtual QCString trClasses()
+    {
+      if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+      {
+        return "Adatszerkezetek";
+      }
+      else
+      {
+        return "Osztályok";
+      }
+    }
+    /*! Used as the title of a Java package */
+    virtual QCString trPackage(const char *name)
+    {
+      return name+(QCString)" csomag";
+    }
+    /*! Title of the package index page */
+    virtual QCString trPackageList()
+    {
+      return "Csomaglista";
+    }
+    /*! The description of the package index page */
+    virtual QCString trPackageListDescription()
+    {
+      return "A csomagok rövid leírásai (amennyiben léteznek):";
+    }
+    /*! The link name in the Quick links header for each page */
+    virtual QCString trPackages()
+    {
+      return "Csomagok";
+    }
+    /*! Used as a chapter title for Latex & RTF output */
+    virtual QCString trPackageDocumentation()
+    {
+      return "Csomagok dokumentációja";
+    }
+    /*! Text shown before a multi-line define */
+    virtual QCString trDefineValue()
+    {
+      return "Érték:";
+    }
+    
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.5
+//////////////////////////////////////////////////////////////////////////
+    
+    /*! Used as a marker that is put before a \\bug item */
+    virtual QCString trBug()
+    {
+      return "Hiba";
+    }
+    /*! Used as the header of the bug list */
+    virtual QCString trBugList()
+    {
+      return "Hiba lista";
+    }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.6
+//////////////////////////////////////////////////////////////////////////
+
+    /*! Used as ansicpg for RTF file 
+     * 
+     * The following table shows the correlation of Charset name, Charset Value and 
+     * <pre>
+     * Codepage number:
+     * Charset Name       Charset Value(hex)  Codepage number
+     * ------------------------------------------------------
+     * DEFAULT_CHARSET           1 (x01)
+     * SYMBOL_CHARSET            2 (x02)
+     * OEM_CHARSET             255 (xFF)
+     * ANSI_CHARSET              0 (x00)            1252
+     * RUSSIAN_CHARSET         204 (xCC)            1251
+     * EE_CHARSET              238 (xEE)            1250
+     * GREEK_CHARSET           161 (xA1)            1253
+     * TURKISH_CHARSET         162 (xA2)            1254
+     * BALTIC_CHARSET          186 (xBA)            1257
+     * HEBREW_CHARSET          177 (xB1)            1255
+     * ARABIC _CHARSET         178 (xB2)            1256
+     * SHIFTJIS_CHARSET        128 (x80)             932
+     * HANGEUL_CHARSET         129 (x81)             949
+     * GB2313_CHARSET          134 (x86)             936
+     * CHINESEBIG5_CHARSET     136 (x88)             950
+     * </pre>
+     * 
+     */
+    virtual QCString trRTFansicp()
+    {
+      return "1252";
+    }
+    
+
+    /*! Used as ansicpg for RTF fcharset 
+     *  \see trRTFansicp() for a table of possible values.
+     */
+    virtual QCString trRTFCharSet()
+    {
+      return "0";
+    }
+
+    /*! Used as header RTF general index */
+    virtual QCString trRTFGeneralIndex()
+    {
+      return "Tárgymutató";
+    }
+   
+    /*! This is used for translation of the word that will possibly
+     *  be followed by a single name or by a list of names 
+     *  of the category.
+     */
+    virtual QCString trClass(bool first_capital, bool /*singular*/)
+    { 
+      QCString result((first_capital ? "Osztály" : "osztály"));
+      //if (!singular)  result+="es";
+      return result; 
+    }
+
+    /*! This is used for translation of the word that will possibly
+     *  be followed by a single name or by a list of names 
+     *  of the category.
+     */
+    virtual QCString trFile(bool first_capital, bool /*singular*/)
+    { 
+      QCString result((first_capital ? "Fájl" : "fájl"));
+      //if (!singular)  result+="s";
+      return result; 
+    }
+
+    /*! This is used for translation of the word that will possibly
+     *  be followed by a single name or by a list of names 
+     *  of the category.
+     */
+    virtual QCString trNamespace(bool first_capital, bool /*singular*/)
+    { 
+      QCString result((first_capital ? "Névtér" : "névtér"));
+      //if (!singular)  result+="s";
+      return result; 
+    }
+
+    /*! This is used for translation of the word that will possibly
+     *  be followed by a single name or by a list of names 
+     *  of the category.
+     */
+    virtual QCString trGroup(bool first_capital, bool /*singular*/)
+    { 
+      QCString result((first_capital ? "Csoport" : "csoport"));
+      //if (!singular)  result+="s";
+      return result; 
+    }
+
+    /*! This is used for translation of the word that will possibly
+     *  be followed by a single name or by a list of names 
+     *  of the category.
+     */
+    virtual QCString trPage(bool first_capital, bool /*singular*/)
+    { 
+      QCString result((first_capital ? "Oldal" : "oldal"));
+      //if (!singular)  result+="s";
+      return result; 
+    }
+
+    /*! This is used for translation of the word that will possibly
+     *  be followed by a single name or by a list of names 
+     *  of the category.
+     */
+    virtual QCString trMember(bool first_capital, bool /*singular*/)
+    { 
+      QCString result((first_capital ? "Tag" : "tag"));
+      //if (!singular)  result+="s";
+      return result; 
+    }
+   
+    /*! This is used for translation of the word that will possibly
+     *  be followed by a single name or by a list of names 
+     *  of the category.
+     */
+    virtual QCString trField(bool first_capital, bool /*singular*/)
+    { 
+      QCString result((first_capital ? "Mezõ" : "mezõ"));
+      //if (!singular)  result+="s";
+      return result; 
+    }
+
+    /*! This is used for translation of the word that will possibly
+     *  be followed by a single name or by a list of names 
+     *  of the category.
+     */
+    virtual QCString trGlobal(bool first_capital, bool /*singular*/)
+    { 
+      QCString result((first_capital ? "Globális elem" : "globális elem"));
+      //if (!singular)  result+="s";
+      return result; 
+    }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.7
+//////////////////////////////////////////////////////////////////////////
+
+    /*! This text is generated when the \\author command is used and
+     *  for the author section in man pages. */
+    virtual QCString trAuthor(bool first_capital, bool singular)
+    {                                                                         
+      QCString result((first_capital ? "Szerzõ" : "szerzõ"));
+      if (!singular)  result+="k";
+      return result; 
+    }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.11
+//////////////////////////////////////////////////////////////////////////
+
+    /*! This text is put before the list of members referenced by a member
+     */
+    virtual QCString trReferences()
+    {
+      return "Hivatkozások";
+    }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.13
+//////////////////////////////////////////////////////////////////////////
+
+    /*! used in member documentation blocks to produce a list of 
+     *  members that are implemented by this one.
+     */
+    virtual QCString trImplementedFromList(int numEntries)
+    {
+      return "Megvalósítja a következõket: "+trWriteList(numEntries)+".";
+    }
+
+    /*! used in member documentation blocks to produce a list of
+     *  all members that implement this abstract member.
+     */
+    virtual QCString trImplementedInList(int numEntries)
+    {
+      return "Megvalósítják a következõk: "+trWriteList(numEntries)+".";
+    }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.16
+//////////////////////////////////////////////////////////////////////////
+
+    /*! used in RTF documentation as a heading for the Table
+     *  of Contents.
+     */
+    virtual QCString trRTFTableOfContents()
+    {
+      return "Tartalomjegyzék";
+    }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.17
+//////////////////////////////////////////////////////////////////////////
+
+    /*! Used as the header of the list of item that have been 
+     *  flagged deprecated 
+     */
+    virtual QCString trDeprecatedList()
+    {
+      return "Ellenjavallt elemek listája";
+    }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.18
+//////////////////////////////////////////////////////////////////////////
+
+    /*! Used as a header for declaration section of the events found in 
+     * a C# program
+     */
+    virtual QCString trEvents()
+    {
+      return "Események";
+    }
+    /*! Header used for the documentation section of a class' events. */
+    virtual QCString trEventDocumentation()
+    {
+      return "Események dokumentációja";
+    }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.3
+//////////////////////////////////////////////////////////////////////////
+
+    /*! Used as a heading for a list of Java class types with package scope.
+     */
+    virtual QCString trPackageTypes()
+    { 
+      return "Csomag típusok";
+    }
+    /*! Used as a heading for a list of Java class functions with package 
+     * scope. 
+     */
+    virtual QCString trPackageMembers()
+    { 
+      return "Csomag függvények";
+    }
+    /*! Used as a heading for a list of static Java class functions with 
+     *  package scope.
+     */
+    virtual QCString trStaticPackageMembers()
+    { 
+      return "Statikus csomag függvények";
+    }
+    /*! Used as a heading for a list of Java class variables with package 
+     * scope.
+     */
+    virtual QCString trPackageAttribs()
+    { 
+      return "Csomag attribútumok";
+    }
+    /*! Used as a heading for a list of static Java class variables with 
+     * package scope.
+     */
+    virtual QCString trStaticPackageAttribs()
+    { 
+      return "Statikus csomag attribútumok";
+    }
+    
+//////////////////////////////////////////////////////////////////////////
+// new since 1.3.1
+//////////////////////////////////////////////////////////////////////////
+
+    /*! Used in the quick index of a class/file/namespace member list page 
+     *  to link to the unfiltered list of all members.
+     */
+    virtual QCString trAll()
+    {
+      return "Összes";
+    }
+    /*! Put in front of the call graph for a function. */
+    virtual QCString trCallGraph()
+    {
+      return "A függvény hívási gráfja:";
+    }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.3.3
+//////////////////////////////////////////////////////////////////////////
+
+    /*! When the search engine is enabled this text is put in the header 
+     *  of each page before the field where one can enter the text to search 
+     *  for. 
+     */
+    virtual QCString trSearchForIndex()
+    {
+      return "Keresési kulcs";
+    }
+    /*! This string is used as the title for the page listing the search
+     *  results.
+     */
+    virtual QCString trSearchResultsTitle()
+    {
+      return "A keresés eredménye";
+    }
+    /*! This string is put just before listing the search results. The
+     *  text can be different depending on the number of documents found.
+     *  Inside the text you can put the special marker $num to insert
+     *  the number representing the actual number of search results.
+     *  The @a numDocuments parameter can be either 0, 1 or 2, where the 
+     *  value 2 represents 2 or more matches. HTML markup is allowed inside
+     *  the returned string.
+     */
+    virtual QCString trSearchResults(int numDocuments)
+    {
+      if (numDocuments==0)
+      {
+        return "Sajnos egy dokumentum sem felelt meg a keresési feltételeknek.";
+      }
+      else if (numDocuments==1)
+      {
+        return "<b>1</b> dokumentum felelt meg a keresési feltételeknek.";
+      }
+      else 
+      {
+        return "<b>$num</b> dokumentum felelt meg a keresési feltételeknek."
+               "Elsõnek a legjobb találatok vannak feltüntetve.";
+      }
+    }
+    /*! This string is put before the list of matched words, for each search 
+     *  result. What follows is the list of words that matched the query.
+     */
+    virtual QCString trSearchMatches()
+    {
+      return "Találatok:";
     }
 
 };
diff --git a/src/translator_it.h b/src/translator_it.h
index 1a43a17..77162f8 100644
--- a/src/translator_it.h
+++ b/src/translator_it.h
@@ -2,7 +2,7 @@
  *
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby
diff --git a/src/translator_je.h b/src/translator_je.h
index 52ca87c..9dfcbbb 100644
--- a/src/translator_je.h
+++ b/src/translator_je.h
@@ -2,7 +2,7 @@
  *
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby
diff --git a/src/translator_jp.h b/src/translator_jp.h
index ae2e508..573a63e 100644
--- a/src/translator_jp.h
+++ b/src/translator_jp.h
@@ -2,7 +2,7 @@
  *
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby
diff --git a/src/translator_ke.h b/src/translator_ke.h
index 31b4bba..cc7a106 100644
--- a/src/translator_ke.h
+++ b/src/translator_ke.h
@@ -2,7 +2,7 @@
  *
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby
diff --git a/src/translator_kr.h b/src/translator_kr.h
index f94dcb6..b1cdeb7 100644
--- a/src/translator_kr.h
+++ b/src/translator_kr.h
@@ -2,7 +2,7 @@
  *
  *
  *
- * Copyright (C) 1997-2002 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby
diff --git a/src/translator_nl.h b/src/translator_nl.h
index 04929f0..c367c30 100644
--- a/src/translator_nl.h
+++ b/src/translator_nl.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/translator_no.h b/src/translator_no.h
index f6aebff..60a7d83 100644
--- a/src/translator_no.h
+++ b/src/translator_no.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/translator_pl.h b/src/translator_pl.h
index 72192d3..ec54ec1 100644
--- a/src/translator_pl.h
+++ b/src/translator_pl.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/translator_pt.h b/src/translator_pt.h
index 79506ac..1016cdc 100644
--- a/src/translator_pt.h
+++ b/src/translator_pt.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby
diff --git a/src/translator_ro.h b/src/translator_ro.h
index 32d9aaf..b06fad5 100644
--- a/src/translator_ro.h
+++ b/src/translator_ro.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/translator_ru.h b/src/translator_ru.h
index f97a008..89a3272 100644
--- a/src/translator_ru.h
+++ b/src/translator_ru.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/translator_se.h b/src/translator_se.h
index fdbfd4e..2c347ed 100644
--- a/src/translator_se.h
+++ b/src/translator_se.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/translator_si.h b/src/translator_si.h
index 1e9afbd..71924d3 100644
--- a/src/translator_si.h
+++ b/src/translator_si.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/translator_sk.h b/src/translator_sk.h
index 6498c4c..b061e1a 100644
--- a/src/translator_sk.h
+++ b/src/translator_sk.h
@@ -2,7 +2,7 @@
  *
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby
diff --git a/src/translator_sr.h b/src/translator_sr.h
index 50f578f..2b1d4bc 100644
--- a/src/translator_sr.h
+++ b/src/translator_sr.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/translator_tw.h b/src/translator_tw.h
index f5e6104..f37a878 100644
--- a/src/translator_tw.h
+++ b/src/translator_tw.h
@@ -2,7 +2,7 @@
  *
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby
diff --git a/src/translator_ua.h b/src/translator_ua.h
index fad3aee..8789220 100644
--- a/src/translator_ua.h
+++ b/src/translator_ua.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/util.cpp b/src/util.cpp
index fd95766..94180f2 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
@@ -1034,7 +1034,8 @@ ClassDef *getResolvedClass(Definition *scope,
                            FileDef *fileScope,
                            const char *n,
                            MemberDef **pTypeDef,
-                           QCString *pTemplSpec
+                           QCString *pTemplSpec,
+                           bool mayBeUnlinkable
                           )
 {
   g_resolvedTypedefs.clear();
@@ -1049,7 +1050,10 @@ ClassDef *getResolvedClass(Definition *scope,
   //printf("-------- start\n");
   //printf("getResolvedClass(%s,%s)\n",scope?scope->name().data():"<global>",n);
   ClassDef *result = getResolvedClassRec(scope,fileScope,n,pTypeDef,pTemplSpec);
-  if (result && !result->isLinkable()) result=0; // don't link to artifical classes
+  if (!mayBeUnlinkable && result && !result->isLinkable()) 
+  {
+    result=0; // don't link to artifical/hidden classes
+  }
   //printf("getResolvedClass(%s,%s)=%s\n",scope?scope->name().data():"<global>",
   //                                  n,result?result->name().data():"<none>");
   //
@@ -1616,11 +1620,20 @@ QCString yearToString()
 int minClassDistance(ClassDef *cd,ClassDef *bcd,int level)
 {
   if (cd==bcd) return level; 
+  if (level==256)
+  {
+    err("Error: Internal inconsistency: found class %s seem to have a recursive "
+        "inheritance relation! Please send a bug report to dimitri@stack.nl\n",cd->name().data());
+    return -1;
+  }
   BaseClassListIterator bcli(*cd->baseClasses());
   int m=maxInheritanceDepth; 
   for ( ; bcli.current() ; ++bcli)
   {
-    m=QMIN(minClassDistance(bcli.current()->classDef,bcd,level+1),m);
+    //printf("class %s base class %s\n",cd->name().data(),bcli.current()->classDef->name().data());
+    int mc=minClassDistance(bcli.current()->classDef,bcd,level+1);
+    if (mc<m) m=mc;
+    if (m<0) break;
   }
   return m;
 }
@@ -2575,14 +2588,7 @@ bool getDefs(const QCString &scName,const QCString &memberName,
           //printf("  >Searching for arbitrary member\n");
           for (mmli.toFirst();(mmd=mmli.current());++mmli)
           {
-            if (//(mmd->protection()!=Private || Config_getBool("EXTRACT_PRIVATE")) &&
-                //(
-                //mmd->hasDocumentation() 
-                /*mmd->detailsAreVisible()*/
-                //|| mmd->isReference()
-                //)
-                mmd->isLinkable()
-               )
+            if (mmd->isLinkable())
             {
               ClassDef *mcd=mmd->getClassDef();
               //printf("  >Class %s found\n",mcd->name().data());
diff --git a/src/util.h b/src/util.h
index ec794dc..3f04349 100644
--- a/src/util.h
+++ b/src/util.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
@@ -138,7 +138,8 @@ ClassDef *getResolvedClass(Definition *scope,
                            FileDef *fileScope,
                            const char *key,
                            MemberDef **pTypeDef=0,
-                           QCString *pTemplSpec=0);
+                           QCString *pTemplSpec=0,
+                           bool mayBeUnlinkable=FALSE);
 NamespaceDef *getResolvedNamespace(const char *key);
 FileDef *findFileDef(const FileNameDict *fnDict,const char *n,
                 bool &ambig);
diff --git a/src/version.h b/src/version.h
index 1d6667a..382b523 100644
--- a/src/version.h
+++ b/src/version.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/xmldocvisitor.cpp b/src/xmldocvisitor.cpp
index 0bf20af..25b7d44 100644
--- a/src/xmldocvisitor.cpp
+++ b/src/xmldocvisitor.cpp
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/xmldocvisitor.h b/src/xmldocvisitor.h
index bbb80f6..3fa93aa 100644
--- a/src/xmldocvisitor.h
+++ b/src/xmldocvisitor.h
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp
index 4194a94..5f014ec 100644
--- a/src/xmlgen.cpp
+++ b/src/xmlgen.cpp
@@ -3,7 +3,7 @@
  * 
  *
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
@@ -67,20 +67,28 @@ inline void writeXMLString(QTextStream &t,const char *s)
   t << convertToXML(s);
 }
 
-inline void writeXMLCodeString(QTextStream &t,const char *s)
+inline void writeXMLCodeString(QTextStream &t,const char *s, int &col)
 {
   char c;
   while ((c=*s++))
   {
     switch(c)
     {
-      case ' ':  t << "<sp/>";  break;
-      case '<':  t << "&lt;";   break;
-      case '>':  t << "&gt;";   break;
-      case '&':  t << "&amp;";  break;
-      case '\'': t << "&apos;"; break; 
-      case '"':  t << "&quot;"; break;
-      default:   t << c;        break;         
+      case '\t': 
+      { 
+	int spacesToNextTabStop = 
+          Config_getInt("TAB_SIZE") - (col%Config_getInt("TAB_SIZE")); 
+	col+=spacesToNextTabStop;
+	while (spacesToNextTabStop--) t << "<sp/>";
+	break;
+	}
+      case ' ':  t << "<sp/>"; col++;  break;
+      case '<':  t << "&lt;"; col++;   break;
+      case '>':  t << "&gt;"; col++;   break;
+      case '&':  t << "&amp;"; col++;  break;
+      case '\'': t << "&apos;"; col++; break; 
+      case '"':  t << "&quot;"; col++; break;
+      default:   t << c; col++;        break;         
     }
   } 
 }
@@ -231,7 +239,7 @@ class XMLCodeGenerator : public BaseCodeDocInterface
         m_t << "<highlight class=\"normal\">";
         m_normalHLNeedStartTag=FALSE;
       }
-      writeXMLCodeString(m_t,text);
+      writeXMLCodeString(m_t,text,col);
     }
     void writeCodeLink(const char *ref,const char *file,
                                const char *anchor,const char *name) 
@@ -243,6 +251,7 @@ class XMLCodeGenerator : public BaseCodeDocInterface
         m_normalHLNeedStartTag=FALSE;
       }
       writeXMLLink(m_t,ref,file,anchor,name);
+      col+=strlen(name);
     }
     void startCodeLine() 
     {
@@ -270,6 +279,7 @@ class XMLCodeGenerator : public BaseCodeDocInterface
       }
       m_t << ">"; 
       m_insideCodeLine=TRUE;
+      col=0;
     }
     void endCodeLine() 
     {
@@ -347,6 +357,7 @@ class XMLCodeGenerator : public BaseCodeDocInterface
     QCString m_external;
     int m_lineNumber;
     bool m_isMemberRef;
+    int col;
 
     bool m_insideCodeLine;
     bool m_normalHLNeedStartTag;
@@ -1365,8 +1376,12 @@ static void generateXMLForGroup(GroupDef *gd,QTextStream &ti)
     PageDef *pd;
     for (pli.toFirst();(pd=pli.current());++pli)
     {
-      t << "    <innerpage refid=\"" << pd->getOutputFileBase()
-        << "\">" << convertToXML(pd->title()) << "</innerpage>" << endl;
+      t << "    <innerpage refid=\"" << pd->getOutputFileBase();
+      if (pd->getGroupDef())
+      {
+        t << "_" << pd->name();
+      }
+      t << "\">" << convertToXML(pd->title()) << "</innerpage>" << endl;
     }
   }
 
@@ -1409,19 +1424,25 @@ static void generateXMLForGroup(GroupDef *gd,QTextStream &ti)
   ti << "  </compound>" << endl;
 }
 
-static void generateXMLForPage(PageDef *pd,QTextStream &ti)
+static void generateXMLForPage(PageDef *pd,QTextStream &ti,bool isExample)
 {
   // + name
   // + title
   // + documentation
 
+  const char *kindName = isExample ? "example" : "page";
+
   if (pd->isReference()) return;
   
   QCString pageName = pd->getOutputFileBase();
+  if (pd->getGroupDef())
+  {
+    pageName+=(QCString)"_"+pd->name();
+  }
   if (pageName=="index") pageName="indexpage"; // to prevent overwriting the generated index page.
   
   ti << "  <compound refid=\"" << pageName
-     << "\" kind=\"page\"><name>" << convertToXML(pd->name()) 
+     << "\" kind=\"" << kindName << "\"><name>" << convertToXML(pd->name()) 
      << "</name>" << endl;
   
   QCString outputDirectory = Config_getString("XML_OUTPUT");
@@ -1437,7 +1458,7 @@ static void generateXMLForPage(PageDef *pd,QTextStream &ti)
   t.setEncoding(QTextStream::Latin1);
   writeXMLHeader(t);
   t << "  <compounddef id=\"" << pageName;
-  t << "\" kind=\"page\">" << endl;
+  t << "\" kind=\"" << kindName << "\">" << endl;
   t << "    <compoundname>" << convertToXML(pd->name()) 
     << "</compoundname>" << endl;
   SectionInfo *si = Doxygen::sectionDict.find(pd->name());
@@ -1446,8 +1467,10 @@ static void generateXMLForPage(PageDef *pd,QTextStream &ti)
     t << "    <title>" << convertToXML(si->title) << "</title>" << endl;
   }
   t << "    <detaileddescription>" << endl;
-  writeXMLDocBlock(t,pd->docFile(),pd->docLine(),pd,0,pd->documentation());
+  writeXMLDocBlock(t,pd->docFile(),pd->docLine(),pd,0,
+      pd->documentation()+"\n\\include "+pd->name());
   t << "    </detaileddescription>" << endl;
+
   t << "  </compounddef>" << endl;
   t << "</doxygen>" << endl;
 
@@ -1573,17 +1596,28 @@ void generateXML()
     msg("Generating XML output for group %s\n",gd->name().data());
     generateXMLForGroup(gd,t);
   }
-  PageSDict::Iterator pdi(*Doxygen::pageSDict);
-  PageDef *pd=0;
-  for (pdi.toFirst();(pd=pdi.current());++pdi)
   {
-    msg("Generating XML output for page %s\n",pd->name().data());
-    generateXMLForPage(pd,t);
+    PageSDict::Iterator pdi(*Doxygen::pageSDict);
+    PageDef *pd=0;
+    for (pdi.toFirst();(pd=pdi.current());++pdi)
+    {
+      msg("Generating XML output for page %s\n",pd->name().data());
+      generateXMLForPage(pd,t,FALSE);
+    }
+  }
+  {
+    PageSDict::Iterator pdi(*Doxygen::exampleSDict);
+    PageDef *pd=0;
+    for (pdi.toFirst();(pd=pdi.current());++pdi)
+    {
+      msg("Generating XML output for example %s\n",pd->name().data());
+      generateXMLForPage(pd,t,TRUE);
+    }
   }
   if (Doxygen::mainPage)
   {
     msg("Generating XML output for the main page\n");
-    generateXMLForPage(Doxygen::mainPage,t);
+    generateXMLForPage(Doxygen::mainPage,t,FALSE);
   }
 
   //t << "  </compoundlist>" << endl;
diff --git a/src/xmlgen.h b/src/xmlgen.h
index 3643959..439a323 100644
--- a/src/xmlgen.h
+++ b/src/xmlgen.h
@@ -2,7 +2,7 @@
  *
  * 
  *
- * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ * Copyright (C) 1997-2004 by Dimitri van Heesch.
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation under the terms of the GNU General Public License is hereby 
diff --git a/wintools/Doxygen.dsp b/wintools/Doxygen.dsp
index 3cfcfc1..f401208 100644
--- a/wintools/Doxygen.dsp
+++ b/wintools/Doxygen.dsp
@@ -23,8 +23,6 @@ CFG=Doxygen - Win32 Debug
 
 # Begin Project
 # PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName "Doxygen"
-# PROP Scc_LocalPath "."
 CPP=cl.exe
 RSC=rc.exe
 
@@ -42,8 +40,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "..\src" /I "..\qtools" /I "..\libpng" /D "ENGLISH_ONLY" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
+# ADD CPP /nologo /W3 /GX /O2 /I "..\src" /I "..\qtools" /I "..\libpng" /I "..\libmd5" /D "ENGLISH_ONLY" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /Zm200 /c
 # ADD BASE RSC /l 0x409 /d "NDEBUG"
 # ADD RSC /l 0x409 /d "NDEBUG"
 BSC32=bscmake.exe
@@ -67,7 +64,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\src" /I "..\qtools" /I "..\libpng" /D "ENGLISH_ONLY" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_MBCS" /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\src" /I "..\qtools" /I "..\libpng" /I "..\libmd5" /D "ENGLISH_ONLY" /D "_CONSOLE" /D "WIN32" /D "_DEBUG" /D "_MBCS" /FD /GZ /Zm200 /c
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
 # ADD RSC /l 0x409 /d "_DEBUG"
 # SUBTRACT RSC /x
@@ -246,6 +243,10 @@ SOURCE=..\src\mangen.cpp
 # End Source File
 # Begin Source File
 
+SOURCE=..\libmd5\md5.c
+# End Source File
+# Begin Source File
+
 SOURCE=..\src\memberdef.cpp
 # End Source File
 # Begin Source File
@@ -314,6 +315,10 @@ SOURCE=..\src\scanner.cpp
 # End Source File
 # Begin Source File
 
+SOURCE=..\src\searchindex.cpp
+# End Source File
+# Begin Source File
+
 SOURCE=..\src\tagreader.cpp
 # End Source File
 # Begin Source File
@@ -546,6 +551,10 @@ SOURCE=..\src\outputlist.h
 # End Source File
 # Begin Source File
 
+SOURCE=..\src\packagedef.h
+# End Source File
+# Begin Source File
+
 SOURCE=..\src\pagedef.h
 # End Source File
 # Begin Source File
diff --git a/wintools/Doxygen.dsw b/wintools/Doxygen.dsw
index 90728a8..76ca47e 100644
--- a/wintools/Doxygen.dsw
+++ b/wintools/Doxygen.dsw
@@ -3,14 +3,10 @@ Microsoft Developer Studio Workspace File, Format Version 6.00
 
 ###############################################################################
 
-Project: "Doxygen"=.\Doxygen.dsp - Package Owner=<4>
+Project: "Doxygen"=".\Doxygen.dsp" - Package Owner=<4>
 
 Package=<5>
 {{{
-    begin source code control
-    Doxygen
-    .
-    end source code control
 }}}
 
 Package=<4>
@@ -19,45 +15,19 @@ Package=<4>
     Project_Dep_Name libpng
     End Project Dependency
     Begin Project Dependency
-    Project_Dep_Name zlib.dsp
-    End Project Dependency
-    Begin Project Dependency
     Project_Dep_Name zlib
     End Project Dependency
     Begin Project Dependency
-    Project_Dep_Name Doxysearch
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "Doxysearch"=.\Doxysearch.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-    begin source code control
-    Doxysearch
-    .
-    end source code control
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name Doxytag
+    Project_Dep_Name qtools
     End Project Dependency
 }}}
 
 ###############################################################################
 
-Project: "Doxytag"=.\Doxytag.dsp - Package Owner=<4>
+Project: "Doxytag"=".\Doxytag.dsp" - Package Owner=<4>
 
 Package=<5>
 {{{
-    begin source code control
-    Doxytag
-    .
-    end source code control
 }}}
 
 Package=<4>
@@ -69,14 +39,10 @@ Package=<4>
 
 ###############################################################################
 
-Project: "libpng"=.\libpng.dsp - Package Owner=<4>
+Project: "libpng"=".\libpng.dsp" - Package Owner=<4>
 
 Package=<5>
 {{{
-    begin source code control
-    libpng
-    .
-    end source code control
 }}}
 
 Package=<4>
@@ -85,14 +51,10 @@ Package=<4>
 
 ###############################################################################
 
-Project: "qtools"=.\qtools.dsp - Package Owner=<4>
+Project: "qtools"=".\qtools.dsp" - Package Owner=<4>
 
 Package=<5>
 {{{
-    begin source code control
-    qtools
-    .
-    end source code control
 }}}
 
 Package=<4>
@@ -101,14 +63,10 @@ Package=<4>
 
 ###############################################################################
 
-Project: "zlib"=.\zlib.dsp - Package Owner=<4>
+Project: "zlib"=".\zlib.dsp" - Package Owner=<4>
 
 Package=<5>
 {{{
-    begin source code control
-    zlib
-    .
-    end source code control
 }}}
 
 Package=<4>
@@ -121,10 +79,6 @@ Global:
 
 Package=<5>
 {{{
-    begin source code control
-    Doxygen
-    .
-    end source code control
 }}}
 
 Package=<3>
diff --git a/wintools/Doxytag.dsp b/wintools/Doxytag.dsp
index 72eac13..1d4b024 100644
--- a/wintools/Doxytag.dsp
+++ b/wintools/Doxytag.dsp
@@ -23,8 +23,6 @@ CFG=Doxytag - Win32 Debug
 
 # Begin Project
 # PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName "Doxytag"
-# PROP Scc_LocalPath "."
 CPP=cl.exe
 RSC=rc.exe
 
@@ -98,14 +96,6 @@ SOURCE=..\src\logos.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=..\src\searchindex.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\src\suffixtree.cpp
-# End Source File
-# Begin Source File
-
 SOURCE=..\src\version.cpp
 # End Source File
 # End Group
diff --git a/wintools/libpng.dsp b/wintools/libpng.dsp
index 26de368..a6a7f81 100644
--- a/wintools/libpng.dsp
+++ b/wintools/libpng.dsp
@@ -23,8 +23,6 @@ CFG=libpng - Win32 Debug
 
 # Begin Project
 # PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName "libpng"
-# PROP Scc_LocalPath "."
 CPP=cl.exe
 RSC=rc.exe
 
diff --git a/wintools/qtools.dsp b/wintools/qtools.dsp
index 0cf982c..5cc8dd4 100644
--- a/wintools/qtools.dsp
+++ b/wintools/qtools.dsp
@@ -23,8 +23,6 @@ CFG=qtools - Win32 Debug
 
 # Begin Project
 # PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName "qtools"
-# PROP Scc_LocalPath "."
 CPP=cl.exe
 RSC=rc.exe
 
diff --git a/wintools/zlib.dsp b/wintools/zlib.dsp
index ba723ab..b80c5fc 100644
--- a/wintools/zlib.dsp
+++ b/wintools/zlib.dsp
@@ -23,8 +23,6 @@ CFG=zlib - Win32 Debug
 
 # Begin Project
 # PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName "zlib"
-# PROP Scc_LocalPath "."
 CPP=cl.exe
 RSC=rc.exe
 
-- 
cgit v0.12

