From 6dbef217c477d43fb61e90b429531ee109bf0e75 Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Mon, 20 Sep 2010 18:19:55 +0000 Subject: Release-1.7.1-20100920 --- INSTALL | 4 +- README | 4 +- configure | 2 +- doc/commands.doc | 36 ++++++++- doc/config.doc | 47 ++++++++---- doc/customize.doc | 6 +- doc/diagrams.doc | 4 +- doc/docblocks.doc | 8 +- doc/doxygen_usage.doc | 2 +- doc/faq.doc | 6 +- doc/features.doc | 2 +- doc/grouping.doc | 8 +- doc/htmlcmds.doc | 4 +- doc/index.doc | 4 +- doc/install.doc | 26 +++---- doc/language.doc | 39 +++++----- doc/language.tpl | 6 +- doc/lists.doc | 2 +- doc/maintainers.txt | 8 +- doc/perlmod.doc | 2 +- doc/perlmod_tree.doc | 2 +- doc/preprocessing.doc | 2 +- doc/searching.doc | 6 +- doc/starting.doc | 4 +- doc/translator.py | 22 ++++-- doc/trouble.doc | 4 +- src/classdef.cpp | 3 +- src/cmdmapper.cpp | 3 +- src/cmdmapper.h | 3 +- src/code.l | 14 ++-- src/commentscan.l | 2 +- src/compound.xsd | 7 ++ src/compound_xsd.h | 7 ++ src/config.l | 2 +- src/config.xml | 21 ++++-- src/configoptions.cpp | 19 +++-- src/definition.cpp | 20 ++++- src/diagram.cpp | 2 +- src/docparser.cpp | 193 ++++++++++++++++++++++++++++++++++++++++++++---- src/docparser.h | 54 ++++++++++++-- src/docsets.cpp | 2 +- src/doctokenizer.l | 9 +++ src/docvisitor.h | 3 + src/doxygen.cpp | 32 +++++++- src/doxygen.css | 22 ++++++ src/doxygen.h | 1 + src/doxygen_css.h | 22 ++++++ src/entry.cpp | 2 +- src/htmldocvisitor.cpp | 103 ++++++++++++++++++++------ src/htmldocvisitor.h | 2 + src/latexdocvisitor.cpp | 169 ++++++++++++++++++++++++++++++++++++++---- src/latexdocvisitor.h | 6 ++ src/latexgen.cpp | 63 +++++++++++++++- src/mandocvisitor.cpp | 8 ++ src/mandocvisitor.h | 2 + src/message.cpp | 5 +- src/msc.cpp | 19 ++++- src/perlmodgen.cpp | 16 ++++ src/printdocvisitor.h | 10 +++ src/rtfdocvisitor.cpp | 173 +++++++++++++++++++++++++++++++++++++++---- src/rtfdocvisitor.h | 4 +- src/scanner.l | 82 +++++++++++++++++++- src/textdocvisitor.h | 3 + src/util.cpp | 4 +- src/util.h | 1 + src/vhdldocgen.cpp | 2 +- src/xmldocvisitor.cpp | 29 ++++++++ src/xmldocvisitor.h | 3 + 68 files changed, 1181 insertions(+), 226 deletions(-) diff --git a/INSTALL b/INSTALL index 02320f7..0846406 100644 --- a/INSTALL +++ b/INSTALL @@ -1,7 +1,7 @@ -DOXYGEN Version 1.7.1-20100822 +DOXYGEN Version 1.7.1-20100920 Please read the installation section of the manual (http://www.doxygen.org/install.html) for instructions. -------- -Dimitri van Heesch (22 August 2010) +Dimitri van Heesch (20 September 2010) diff --git a/README b/README index a9d69f1..c7372e7 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -DOXYGEN Version 1.7.1_20100822 +DOXYGEN Version 1.7.1_20100920 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) (22 August 2010) +Dimitri van Heesch (dimitri@stack.nl) (20 September 2010) diff --git a/configure b/configure index d2af1de..0147796 100755 --- a/configure +++ b/configure @@ -20,7 +20,7 @@ doxygen_version_minor=7 doxygen_version_revision=1 #NOTE: Setting version_mmn to "NO" will omit mmn info from the package. -doxygen_version_mmn=20100822 +doxygen_version_mmn=20100920 bin_dirs=`echo $PATH | sed -e "s/:/ /g"` diff --git a/doc/commands.doc b/doc/commands.doc index 8884b36..69f22e7 100644 --- a/doc/commands.doc +++ b/doc/commands.doc @@ -65,6 +65,7 @@ documentation: \refitem cmddontinclude \\dontinclude \refitem cmddot \\dot \refitem cmddotfile \\dotfile +\refitem cmdmscfile \\mscfile \refitem cmde \\e \refitem cmdelse \\else \refitem cmdelseif \\elseif @@ -320,7 +321,8 @@ Structural indicators \addindex \\dir Indicates that a comment block contains documentation for a directory. The "path fragment" argument should include the directory name and - enough of the path to be unique w.r.t. the other directories in the project. + enough of the path to be unique with respect to the other directories + in the project. The \ref cfg_show_dirs "SHOW_DIRECTORIES" option determines whether or not the directory information is shown and the \ref cfg_strip_from_path "STRIP_FROM_PATH" option determines what is @@ -1288,6 +1290,14 @@ void memcpy(void *dest, const void *src, size_t n); sectioning command is encountered. See section \ref cmdfn "\\fn" for an example. + Note that for PHP one can also specify the type (or types if you + separate them with a pipe symbol) which are allowed for a parameter + (as this is not part of the definition). + The syntax is the same as for phpDocumentor, i.e. +\verbatim +@param datatype1|datatype2 $paramname description +\endverbatim +
\section cmdtparam \\tparam { description } @@ -2046,7 +2056,7 @@ class C {}; Here is an example of the use of the \\msc command. \code /** Sender class. Can be used to send a command to the server. - * The receiver will acknowlegde the command by calling Ack(). + * The receiver will acknowledge the command by calling Ack(). * \msc * Sender,Receiver; * Sender->Receiver [label="Command()", URL="\ref Receiver::Command()"]; @@ -2096,6 +2106,24 @@ class Receiver stripped before the caption is displayed.
+\section cmdmscfile \\mscfile ["caption"] + + \addindex \\mscfile + Inserts an image generated by mscgen from \ into the documentation. + + The first argument specifies the file name of the image. + doxygen will look for files in the paths (or files) that you specified + after the \ref cfg_mscfile_dirs "MSCFILE_DIRS" tag. + If the msc file is found it will be used as an input file to the mscgen tool. + The resulting image will be put into the correct output directory. + If the dot file name contains spaces you'll have to put quotes ("...") around it. + + The second argument is optional and can be used to specify the caption + that is displayed below the image. This argument has to be specified + between quotes even if it does not contain any spaces. The quotes are + stripped before the caption is displayed. + +
\section cmde \\e \addindex \\e @@ -2265,7 +2293,7 @@ class Receiver If the image is found it will be copied to the correct output directory. If the image name contains spaces you'll have to put quotes ("...") around it. You can also specify an absolute URL instead of a file name, but then - doxygen does not copy the image nor check its existance. + doxygen does not copy the image nor check its existence. The third argument is optional and can be used to specify the caption that is displayed below the image. This argument has to be specified @@ -2506,7 +2534,7 @@ class Receiver \addindex \\\" This command writes the \" character to the output. This character has to be escaped in some cases, because it is used in pairs - to indicate an unformated text fragment. + to indicate an unformatted text fragment.
\htmlonly
\endhtmlonly diff --git a/doc/config.doc b/doc/config.doc index aff842a..eb8a8bb 100644 --- a/doc/config.doc +++ b/doc/config.doc @@ -103,6 +103,7 @@ followed by the descriptions of the tags grouped by category. \refitem cfg_example_recursive EXAMPLE_RECURSIVE \refitem cfg_exclude EXCLUDE \refitem cfg_exclude_patterns EXCLUDE_PATTERNS +\refitem cfg_exclude_symbols EXCLUDE_SYMBOLS \refitem cfg_exclude_symlinks EXCLUDE_SYMLINKS \refitem cfg_expand_as_defined EXPAND_AS_DEFINED \refitem cfg_expand_only_predef EXPAND_ONLY_PREDEF @@ -189,6 +190,7 @@ followed by the descriptions of the tags grouped by category. \refitem cfg_man_output MAN_OUTPUT \refitem cfg_max_dot_graph_depth MAX_DOT_GRAPH_DEPTH \refitem cfg_max_initializer_lines MAX_INITIALIZER_LINES +\refitem cfg_mscfile_dirs MSCFILE_DIRS \refitem cfg_mscgen_path MSCGEN_PATH \refitem cfg_multiline_cpp_is_brief MULTILINE_CPP_IS_BRIEF \refitem cfg_optimize_for_fortran OPTIMIZE_FOR_FORTRAN @@ -442,7 +444,7 @@ followed by the descriptions of the tags grouped by category. If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to include (a tag file for) the STL sources as input, then you should set this tag to \c YES in order to let doxygen match functions declarations and - definitions whose arguments contain STL classes (e.g. func(std::string); v.s. + definitions whose arguments contain STL classes (e.g. func(std::string); versus func(std::string) {}). This also make the inheritance and collaboration diagrams that involve STL classes more complete and accurate. @@ -483,9 +485,9 @@ followed by the descriptions of the tags grouped by category. \addindex MULTILINE_CPP_IS_BRIEF The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen treat a multi-line C++ special comment block (i.e. a block of //! or /// - comments) as a brief description. This used to be the default behaviour. + comments) as a brief description. This used to be the default behavior. The new default is to treat a multi-line C++ comment block as a detailed - description. Set this tag to YES if you prefer the old behaviour instead. + description. Set this tag to YES if you prefer the old behavior instead. Note that setting this tag to YES also means that rational rose comments are not recognized any more. @@ -605,10 +607,10 @@ followed by the descriptions of the tags grouped by category. For small to medium size projects (<1000 input files) the default value is probably good enough. For larger projects a too small cache size can cause doxygen to be busy swapping symbols to and from disk most of the time - causing a significant performance penality. + causing a significant performance penalty. If the system has enough physical memory increasing the cache will improve the performance by keeping more symbols in memory. Note that the value works on - a logarithmic scale so increasing the size by one will rougly double the + a logarithmic scale so increasing the size by one will roughly double the memory usage. The cache size is given by this formula: \f$2^{(16+\mbox{SYMBOL\_CACHE\_SIZE})}\f$. The valid range is 0..9, the default is 0, corresponding to a cache size of \f$2^{16} = 65536\f$ symbols. @@ -899,7 +901,7 @@ function's detailed documentation block. \anchor cfg_warn_no_paramdoc
\c WARN_NO_PARAMDOC
\addindex WARN_NO_PARAMDOC - This \c WARN_NO_PARAMDOC option can be abled to get warnings for + This \c WARN_NO_PARAMDOC option can be enabled to get warnings for functions that are documented, but have no documentation for their parameters or return value. If set to \c NO (the default) doxygen will only warn about wrong or incomplete parameter documentation, but not about the absence of @@ -1029,6 +1031,14 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn" \c EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude certain files from those directories. +\anchor cfg_exclude_symbols +
\c EXCLUDE_SYMBOLS
+The \c EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +(namespaces, classes, functions, etc.) that should be excluded from the +output. The symbol name can be a fully qualified name, a word, or if the +wildcard * is used, a substring. Examples: ANamespace, AClass, +AClass::ANamespace, ANamespace::*Test + Note that the wildcards are matched against the file with absolute path, so to exclude all test directories use the pattern */test/* @@ -1527,7 +1537,7 @@ implemented using a PHP enabled web server instead of at the web client using Javascript. Doxygen will generate the search PHP script and index file to put on the web server. The advantage of the server based approach is that it scales better to large projects and also allows -full text search. The disadvances is that it is more difficult to setup +full text search. The disadvantages are that it is more difficult to setup and does not have live searching capabilities. \anchor cfg_disable_index @@ -1559,7 +1569,7 @@ and does not have live searching capabilities. Windows users are probably better off using the HTML help feature. Via custom stylesheets (see \ref cfg_html_stylesheet "HTML_STYLESHEET") - one can further \ref doxygen_finetune "fine tune" the look of the index. + one can further \ref doxygen_finetune "fine-tune" the look of the index. As an example, the default style sheet generated by doxygen has an example that shows how to put an image at the root of the tree instead of the \ref cfg_project_name "project name". @@ -1649,12 +1659,11 @@ and Class Hierarchy pages using a tree view instead of an ordered list. by the printer. Possible values are:
  • a4 (210 x 297 mm). -
  • a4wide (same as a4, but including the a4wide package).
  • letter (8.5 x 11 inches).
  • legal (8.5 x 14 inches).
  • executive (7.25 x 10.5 inches)
- If left blank a4wide will be used. + If left blank a4 will be used. \anchor cfg_extra_packages
\c EXTRA_PACKAGES
@@ -2044,16 +2053,15 @@ TAGFILES = file1=loc1 "file2 = loc2" ... \addindex CLASS_DIAGRAMS If the \c CLASS_DIAGRAMS tag is set to \c YES (the default) doxygen will generate a class diagram (in HTML and \f$\mbox{\LaTeX}\f$) for classes with base or - super classes. Setting the tag to \c NO turns the diagrams off. - Note that this option is superseded by the HAVE_DOT option below. - This is only a fallback. It is recommended to install and use dot, - since it yields more powerful graphs. +super classes. Setting the tag to NO turns the diagrams off. Note that +this option also works with HAVE_DOT disabled, but it is recommended to +install and use dot, since it yields more powerful graphs. \anchor cfg_mscgen_path
\c MSCGEN_PATH
\addindex MSCGEN_PATH You can define message sequence charts within doxygen comments using the \ref cmdmsc "\\msc" - command. Doxygen will then run the msgen tool) to + command. Doxygen will then run the mscgen tool) to produce the chart and insert it in the documentation. The MSCGEN_PATH tag allows you to specify the directory where the mscgen tool resides. If left empty the tool is assumed to be found in the default search path. @@ -2249,7 +2257,14 @@ The default size is 10pt. \addindex DOTFILE_DIRS This tag can be used to specify one or more directories that contain dot files that are included in the documentation (see the - \\dotfile command). + \ref cmddotfile "\\dotfile" command). + +\anchor cfg_mscfile_dirs +
\c MSCFILE_DIRS
+ \addindex MSCFILE_DIRS + This tag can be used to specify one or more directories that + contain msc files that are included in the documentation (see the + \ref cmdmscfile "\\mscfile" command). \anchor cfg_dot_transparent
\c DOT_TRANSPARENT
diff --git a/doc/customize.doc b/doc/customize.doc index 40ef398..c769c75 100644 --- a/doc/customize.doc +++ b/doc/customize.doc @@ -18,7 +18,7 @@ Doxygen provides various levels of customization. The \ref minor_tweaks "first section" discusses what to -do if you want to do minor tweaker to the look and feel of the output. +do if you want to do minor tweaking to the look and feel of the output. The \ref layout "next" section show how to reorder and hide certain information on a page. The \ref xmlgenerator "last" section show how to generate whatever output @@ -27,7 +27,7 @@ you want based on the XML output produced by doxygen. \section minor_tweaks Minor Tweaks To simply tweak things like fonts or colors, margins, or other look \& feel -espects of the HTML output you can create a different +expects of the HTML output you can create a different cascading style sheet. You can also let doxygen use a custom header and footer for each HTML page it generates, for instance to include a logo or to make the @@ -231,7 +231,7 @@ The file page has the following specific tags: The group page has a specific \c groupgraph tag which represents the graph showing the dependencies between groups. -Similarily, the directory page has a specific \c directorygraph tag +Similarly, the directory page has a specific \c directorygraph tag which represents the graph showing the dependencies between the directories based on the \#include relations of the files inside the directories. diff --git a/doc/diagrams.doc b/doc/diagrams.doc index 7e07cef..06431ee 100644 --- a/doc/diagrams.doc +++ b/doc/diagrams.doc @@ -77,7 +77,7 @@ dashed pattern the inheritance relation is virtual.
  • A \b white box indicates that the documentation of the class is currently shown. -
  • A \b grey box indicates an undocumented class. +
  • A \b gray box indicates an undocumented class.
  • A solid dark blue arrow indicates public inheritance.
  • A dashed dark green arrow indicates protected inheritance.
  • A dotted dark green arrow indicates private inheritance. @@ -112,7 +112,7 @@
  • A dark green arrow indicates protected inheritance.
  • A dark red arrow indicates private inheritance.
  • A purple dashed arrow indicated a "usage" relation, the - edge of the arrow is labled with the variable(s) responsible for the + edge of the arrow is labeled with the variable(s) responsible for the relation. Class \c A uses class \c B, if class \c A has a member variable \c m of type C, where B is a subtype of C (e.g. C could be \c B, \c B*, T\* ). diff --git a/doc/docblocks.doc b/doc/docblocks.doc index aa9e873..41f5d99 100644 --- a/doc/docblocks.doc +++ b/doc/docblocks.doc @@ -155,7 +155,7 @@ The option has the same effect for multi-line special C++ comments: or \verbatim -//! Brief descripion. +//! Brief description. //! Detailed description //! starts here. @@ -205,7 +205,7 @@ for the Qt style. By default a JavaDoc style documentation block behaves the same way as a Qt style documentation block. This is not according the JavaDoc specification however, where the first sentence of the documentation block is automatically -treated as a brief description. To enable this behaviour you should set +treated as a brief description. To enable this behavior you should set \ref cfg_javadoc_autobrief "JAVADOC_AUTOBRIEF" to YES in the configuration file. If you enable this option and want to put a dot in the middle of a sentence without ending it, you should put a backslash and a space after it. @@ -426,7 +426,7 @@ Go to the next section or return to the For VHDL a comment normally start with "--". Doxygen will extract comments starting with "--!". There are only two types of comment blocks in VHDL; -a one line --! comment representing a brief description, and a multiline +a one line --! comment representing a brief description, and a multi-line --! comment (where the --! prefix is repeated for each line) representing a detailed description. @@ -453,7 +453,7 @@ settings where overruled. When using doxygen for Fortran code you should set \ref cfg_optimize_for_fortran "OPTIMIZE_FOR_FORTRAN" to \c YES. -For fortran "!>" or "!<" starts a comment and "!!" or "!>" can be used to +For Fortran "!>" or "!<" starts a comment and "!!" or "!>" can be used to continuate a one line comment into a multi-line comment. Here is an example of a documented Fortran subroutine: diff --git a/doc/doxygen_usage.doc b/doc/doxygen_usage.doc index 3529e8d..8f23b22 100644 --- a/doc/doxygen_usage.doc +++ b/doc/doxygen_usage.doc @@ -49,7 +49,7 @@ with the -u option. \verbatim doxygen -u \endverbatim -All configuration settings in the orginal configuration file will be copied +All configuration settings in the original configuration file will be copied to the new configuration file. Any new options will have their default value. Note that comments that you may have added in the original configuration file will be lost. diff --git a/doc/faq.doc b/doc/faq.doc index e108d9b..1da9c30 100644 --- a/doc/faq.doc +++ b/doc/faq.doc @@ -199,7 +199,7 @@ EXCLUDE_PATTERNS = */test/* Put a \% in front of the class name. Like this: \%MyClass. Doxygen will then remove the % and keep the word unlinked. -
  • My favourite programming language is X. Can I still use doxygen? +
  • My favorite programming language is X. Can I still use doxygen? No, not as such; doxygen needs to understand the structure of what it reads. If you don't mind spending some time on it, there are several options: @@ -237,7 +237,7 @@ various buffers and then run "texconfig init".
  • Why are dependencies via STL classes not shown in the dot graphs? -Doxygen is unware of the STL classes, unless the option BUILTIN_STL_SUPPORT is +Doxygen is unaware of the STL classes, unless the option BUILTIN_STL_SUPPORT is turned on.
  • I have problems getting the search engine to work with PHP5 and/or windows @@ -248,7 +248,7 @@ Please read this for hints on where to look. Not via command line options, but doxygen can read from stdin, so you can pipe things through it. Here's an example how to override an option -in a configuration file from the command line (assuming a unix environment): +in a configuration file from the command line (assuming a UNIX environment): \verbatim ( cat Doxyfile ; echo "PROJECT_NUMBER=1.0" ) | doxygen - diff --git a/doc/features.doc b/doc/features.doc index c1615ec..9f0164f 100644 --- a/doc/features.doc +++ b/doc/features.doc @@ -92,7 +92,7 @@ for the generated output.
  • Doxygen can generate a layout which you can use and edit to change the layout of each page. -
  • There more than a 100 configurable options to finetune the output. +
  • There more than a 100 configurable options to fine-tune the output.
  • Can cope with large projects easily. diff --git a/doc/grouping.doc b/doc/grouping.doc index 766109d..d2244b4 100644 --- a/doc/grouping.doc +++ b/doc/grouping.doc @@ -20,7 +20,7 @@ Doxygen has three mechanisms to group things together. One mechanism works at a global level, creating a new page for each group. These groups are called \ref modules "'modules'" in the documentation. The second mechanism works within a member list of some compound entity, -and is refered to as a \ref memgroup "'member groups'". +and is referred to as a \ref memgroup "'member groups'". For \ref cmdpage "pages" there is a third grouping mechanism referred to as \ref subpaging "subpaging". @@ -163,7 +163,7 @@ block or a \endverbatim block if you prefer C style comments. Note that the members of the group should be -physcially inside the member group's body. +physically inside the member group's body. Before the opening marker of a block a separate comment block may be placed. This block should contain the \ref cmdname "@@name" @@ -207,8 +207,8 @@ Information can be grouped into pages using the \ref cmdpage "\\page" and \ref cmdsubpage "\\mainpage" commands. Normally, this results in a flat list of pages, where the "main" page is the first in the list. -Instead of adding structure using the approach decribed in section -\ref modules "modules" it is often more natural and convienent to add +Instead of adding structure using the approach described in section +\ref modules "modules" it is often more natural and convenient to add additional structure to the pages using the \ref cmdsubpage "\\subpage" command. diff --git a/doc/htmlcmds.doc b/doc/htmlcmds.doc index 3dd38c2..d87ba3c 100644 --- a/doc/htmlcmds.doc +++ b/doc/htmlcmds.doc @@ -56,7 +56,7 @@ of a HTML tag are passed on to the HTML output only
  • \ Does not generate any output.
  • \ Writes a horizontal ruler.
  • \ Starts an unnumbered section. -
  • \ Ends an unnumberd section. +
  • \ Ends an unnumbered section.
  • \ Starts an unnumbered subsection.
  • \ Ends an unnumbered subsection.
  • \ Starts an unnumbered subsubsection. @@ -90,6 +90,8 @@ of a HTML tag are passed on to the HTML output only
  • \ ends a table.
  • \ Starts a new table data element.
  • \ Ends a table data element. +
  • \ Starts a new table header. +
  • \ Ends a table header.
  • \ Starts a new table row.
  • \ Ends a table row.
  • \ Starts a piece of text displayed in a typewriter font. diff --git a/doc/index.doc b/doc/index.doc index c36504d..7454f30 100644 --- a/doc/index.doc +++ b/doc/index.doc @@ -116,7 +116,7 @@ The third part provides information for developers: \addindex license \addindex GPL -Copyright © 1997-2009 by +Copyright © 1997-2010 by Dimitri van Heesch.

    Permission to use, copy, modify, and distribute this software and its @@ -201,7 +201,7 @@ Thanks go to:

  • Christian Hammond for redesigning the web-site.
  • Ken Wong for providing the HTML tree view code.
  • Talin for adding support for C# style comments with XML markup. -
  • Petr Prikryl for coordinating the internationalisation support. +
  • Petr Prikryl for coordinating the internationalization support. All language maintainers for providing translations into many languages.
  • The band Porcupine Tree for providing hours of great music to listen to while coding. diff --git a/doc/install.doc b/doc/install.doc index b8b8154..321a6fd 100644 --- a/doc/install.doc +++ b/doc/install.doc @@ -24,15 +24,15 @@ to get the latest distribution, if you did not have it already. This section is divided into the following sections:
      -
    • \ref install_src_unix "Compiling from source on Unix" -
    • \ref install_bin_unix "Installing the binaries on Unix" -
    • \ref unix_problems "Known compilation problems for Unix" +
    • \ref install_src_unix "Compiling from source on UNIX" +
    • \ref install_bin_unix "Installing the binaries on UNIX" +
    • \ref unix_problems "Known compilation problems for UNIX"
    • \ref install_src_windows "Compiling from source on Windows"
    • \ref install_bin_windows "Installing the binaries on Windows"
    • \ref build_tools "Tools used to develop doxygen"
    -\section install_src_unix Compiling from source on Unix +\section install_src_unix Compiling from source on UNIX If you downloaded the source distribution, you need at least the following to build the executable: @@ -47,7 +47,7 @@ following to build the executable: perl \latexonly(see {\tt http://www.perl.com/})\endlatexonly. \addindex perl -
  • The configure script assume the availibility of standard Unix tools such +
  • The configure script assume the availability of standard UNIX tools such as sed, date, find, uname, mv, cp, cat, echo, tr, cd, and rm. @@ -162,10 +162,10 @@ Compilation is now done by performing the following steps: -\section install_bin_unix Installing the binaries on Unix +\section install_bin_unix Installing the binaries on UNIX After the compilation of the source code do a make install - to install doxygen. If you downloaded the binary distribution for Unix, + to install doxygen. If you downloaded the binary distribution for UNIX, type: \verbatim @@ -194,7 +194,7 @@ Compilation is now done by performing the following steps: If you have a RPM or DEP package, then please follow the standard installation procedure that is required for these packages. -\section unix_problems Known compilation problems for Unix +\section unix_problems Known compilation problems for UNIX Qt problems @@ -236,7 +236,7 @@ your distribution does not have it please select another paper type in the config file (see the \ref cfg_paper_type "PAPER_TYPE" tag in the config file). -HP-UX \& Digital Unix problems +HP-UX \& Digital UNIX problems If you are compiling for HP-UX with aCC and you get this error: \verbatim @@ -258,7 +258,7 @@ If you are compiling for HP-UX with aCC and you get this error: If that does not help, try removing ce_parse.cpp and let bison rebuild it (this worked for me). -If you are compiling for Digital Unix, the same problem can be solved +If you are compiling for Digital UNIX, the same problem can be solved (according to Barnard Schmallhof) by replacing the following in ce_parse.cpp: @@ -370,7 +370,7 @@ before running make. From version 1.7.0 onwards, build files are provided for Visual Studio 2008. Also the free (as in beer) "Express" version of Developer Studio can be used to compile doxygen. Alternatively, you can compile doxygen -\ref install_src_unix "the Unix way" using +\ref install_src_unix "the UNIX way" using Cygwin or MinGW. @@ -430,7 +430,7 @@ it and use the INPUT_FILTER, you will run to risk of crashing Windows! The problem is reported to and confirmed by Microsoft so maybe it will fixed in the next service pack. -Since Windows comes without all the nice tools that Unix users are +Since Windows comes without all the nice tools that UNIX users are used to, you'll need to install a number of these tools before you can compile doxygen for Windows from the command-line. @@ -579,7 +579,7 @@ In order to generate PDF output or use scientific formulas you will also need to install LaTeX and Ghostscript. -For LaTeX a number of distributions exists. Popular onces that should work with +For LaTeX a number of distributions exists. Popular ones that should work with doxygen are MikTex and XemTex. diff --git a/doc/language.doc b/doc/language.doc index df662a5..ba65745 100644 --- a/doc/language.doc +++ b/doc/language.doc @@ -60,8 +60,8 @@ when the translator was updated. Arabic - Moaz Reyad - moazreyad at yahoo dot com + Moaz Reyad
    -- searching for the maintainer -- + [resigned]
    [Please, try to help to find someone.] 1.4.6 @@ -73,7 +73,7 @@ when the translator was updated. Catalan Maximiliano Pin
    Albert Mora - max dot pin at bitroit dot com
    [unreachable] + max dot pin at bitroit dot com
    [unreachable] 1.6.3 @@ -151,7 +151,7 @@ when the translator was updated. Hungarian Ákos Kiss
    Földvári György - akiss at users dot sourceforge dot net
    [unreachable] + akiss at users dot sourceforge dot net
    [unreachable] 1.4.6 @@ -169,7 +169,7 @@ when the translator was updated. Japanese Hiroki Iseri
    Ryunosuke Satoh
    Kenji Nagamatsu
    Iwasa Kazmi - goyoki at gmail dot com
    sun594 at hotmail dot com
    naga at joyful dot club dot ne dot jp
    [unreachable] + goyoki at gmail dot com
    sun594 at hotmail dot com
    naga at joyful dot club dot ne dot jp
    [unreachable] 1.6.0 @@ -181,7 +181,7 @@ when the translator was updated. Korean Kim Taedong
    SooYoung Jung
    Richard Kim - fly1004 at gmail dot com
    jung5000 at gmail dot com
    [unreachable] + fly1004 at gmail dot com
    jung5000 at gmail dot com
    [unreachable] up-to-date @@ -192,8 +192,8 @@ when the translator was updated. Lithuanian - Tomas Simonaitis
    Mindaugas Radzius
    Aidas Berukstis
    -- contact lost -- - [unreachable]
    [unreachable]
    [unreachable]
    [Please, try to help to find someone.] + Tomas Simonaitis
    Mindaugas Radzius
    Aidas Berukstis
    -- searching for the maintainer -- + [unreachable]
    [unreachable]
    [unreachable]
    [Please, try to help to find someone.] 1.4.6 @@ -217,13 +217,13 @@ when the translator was updated. Polish Piotr Kaminski
    Grzegorz Kowal
    Krzysztof Kral - [unreachable]
    [unreachable]
    krzysztof dot kral at gmail dot com + [unreachable]
    [unreachable]
    krzysztof dot kral at gmail dot com 1.6.3 Portuguese Rui Godinho Lopes - [resigned] + [resigned] 1.3.3 @@ -241,7 +241,7 @@ when the translator was updated. Serbian Dejan Milosavljevic - [unreachable] + [unreachable] 1.6.0 @@ -265,7 +265,7 @@ when the translator was updated. Spanish Bartomeu
    Francisco Oltra Thennet
    David Vaquero - bartomeu at loteria3cornella dot com
    [unreachable]
    david at grupoikusnet dot com + bartomeu at loteria3cornella dot com
    [unreachable]
    david at grupoikusnet dot com up-to-date @@ -282,8 +282,8 @@ when the translator was updated. Ukrainian - Olexij Tkatchenko
    -- searching for the maintainer -- - [resigned]
    [Please, try to help to find someone.] + Olexij Tkatchenko
    -- searching for the maintainer -- + [resigned]
    [Please, try to help to find someone.] 1.4.1 @@ -310,7 +310,8 @@ when the translator was updated. \hline Afrikaans & Johan Prinsloo & {\tt\tiny johan at zippysnoek dot com} & 1.6.0 \\ \hline - Arabic & Moaz Reyad & {\tt\tiny moazreyad at yahoo dot com} & 1.4.6 \\ + Arabic & Moaz Reyad & {\tt\tiny [resigned] moazreyad at yahoo dot com} & 1.4.6 \\ + ~ & -- searching for the maintainer -- & {\tt\tiny [Please, try to help to find someone.]} & ~ \\ \hline Brazilian Portuguese & Fabio "FJTC" Jun Takada Chino & {\tt\tiny jun-chino at uol dot com dot br} & up-to-date \\ \hline @@ -367,7 +368,7 @@ when the translator was updated. Lithuanian & Tomas Simonaitis & {\tt\tiny [unreachable] haden at homelan dot lt} & 1.4.6 \\ ~ & Mindaugas Radzius & {\tt\tiny [unreachable] mindaugasradzius at takas dot lt} & ~ \\ ~ & Aidas Berukstis & {\tt\tiny [unreachable] aidasber at takas dot lt} & ~ \\ - ~ & -- contact lost -- & {\tt\tiny [Please, try to help to find someone.]} & ~ \\ + ~ & -- searching for the maintainer -- & {\tt\tiny [Please, try to help to find someone.]} & ~ \\ \hline Macedonian & Slave Jovanovski & {\tt\tiny slavejovanovski at yahoo dot com} & 1.6.0 \\ \hline @@ -641,7 +642,7 @@ Looking at the base class of the language translator, the script guesses also the status of the translator -- see the last column of the table with languages above. The \c translator.py is called automatically when the doxygen documentation is generated. You can -also run the script manualy whenever you feel that it can help you. +also run the script manually whenever you feel that it can help you. Of course, you are not forced to use the results of the script. You can find the same information by looking at the adapter class and its base classes. @@ -677,7 +678,7 @@ end with =0;). If everything compiles fine, try to run \c translator.py, and have a look at the translator report (ASCII file) at the \c doxygen/doc directory. Even if your translator is marked as up-to-date, there -still may be some remarks related to your souce code. Namely, the +still may be some remarks related to your source code. Namely, the obsolete methods--that are not used at all--may be listed in the section for your language. Simply, remove their code (and run the \c translator.py again). Also, you will be informed when you forgot to @@ -700,7 +701,7 @@ TranslatorAdapter_1_2_4, if it does not implement the methods below the comment new since 1.2.4. When you implement them, your class should use newer translator adapter. -Run the \c translator.py script occasionaly and give it your \c xx +Run the \c translator.py script occasionally and give it your \c xx identification (from \c translator_xx.h) to create the translator report shorter (also produced faster) -- it will contain only the information related to your translator. Once you reach the state when diff --git a/doc/language.tpl b/doc/language.tpl index 5664bd4..7a0d15c 100644 --- a/doc/language.tpl +++ b/doc/language.tpl @@ -265,7 +265,7 @@ Looking at the base class of the language translator, the script guesses also the status of the translator -- see the last column of the table with languages above. The \c translator.py is called automatically when the doxygen documentation is generated. You can -also run the script manualy whenever you feel that it can help you. +also run the script manually whenever you feel that it can help you. Of course, you are not forced to use the results of the script. You can find the same information by looking at the adapter class and its base classes. @@ -301,7 +301,7 @@ end with =0;). If everything compiles fine, try to run \c translator.py, and have a look at the translator report (ASCII file) at the \c doxygen/doc directory. Even if your translator is marked as up-to-date, there -still may be some remarks related to your souce code. Namely, the +still may be some remarks related to your source code. Namely, the obsolete methods--that are not used at all--may be listed in the section for your language. Simply, remove their code (and run the \c translator.py again). Also, you will be informed when you forgot to @@ -324,7 +324,7 @@ TranslatorAdapter_1_2_4, if it does not implement the methods below the comment new since 1.2.4. When you implement them, your class should use newer translator adapter. -Run the \c translator.py script occasionaly and give it your \c xx +Run the \c translator.py script occasionally and give it your \c xx identification (from \c translator_xx.h) to create the translator report shorter (also produced faster) -- it will contain only the information related to your translator. Once you reach the state when diff --git a/doc/lists.doc b/doc/lists.doc index c55277a..f5f9f96 100644 --- a/doc/lists.doc +++ b/doc/lists.doc @@ -101,7 +101,7 @@ Here is the above example with HTML commands: \note In this case the indentation is not important. -Using \\arg or \@li +Using \\arg or \\li For compatibility with the Qt Software's internal documentation tool qdoc and with KDoc, doxygen has two commands that can be used to create simple diff --git a/doc/maintainers.txt b/doc/maintainers.txt index 04ec526..ec4480a 100644 --- a/doc/maintainers.txt +++ b/doc/maintainers.txt @@ -7,6 +7,9 @@ % The following one or more lines contain information about % the maintainer(s) for the language (one line, one maintainer) % in the form: +% If the readable name name starts with '--' it will be displayed in HTML +% output as a highlighted text notice related to the langluage (usually +% '-- searching for the maintainer --'). % If the is prefixed [some_text] it is not displayed in the table % of maintainers in the Doxygen documentation, nor it is used when building % the mailto.txt by translator.py. The mark is displayed in the documentation @@ -16,7 +19,8 @@ TranslatorAfrikaans Johan Prinsloo: johan at zippysnoek dot com TranslatorArabic -Moaz Reyad: moazreyad at yahoo dot com +Moaz Reyad: [resigned] moazreyad at yahoo dot com +-- searching for the maintainer --: [Please, try to help to find someone.] TranslatorBrazilian Fabio "FJTC" Jun Takada Chino: jun-chino at uol dot com dot br @@ -89,7 +93,7 @@ TranslatorLithuanian Tomas Simonaitis: [unreachable] haden at homelan dot lt Mindaugas Radzius: [unreachable] mindaugasradzius at takas dot lt Aidas Berukstis: [unreachable] aidasber at takas dot lt --- contact lost --: [Please, try to help to find someone.] +-- searching for the maintainer --: [Please, try to help to find someone.] TranslatorNorwegian Lars Erik Jordet: lejordet at gmail dot com diff --git a/doc/perlmod.doc b/doc/perlmod.doc index 4a0ae91..9c0d79f 100644 --- a/doc/perlmod.doc +++ b/doc/perlmod.doc @@ -137,7 +137,7 @@ in DVI format.

    The Perl Module documentation generated by Doxygen is stored in DoxyDocs.pm. This is a very simple Perl module that contains -only two statements: an assigment to the variable $doxydocs and +only two statements: an assignment to the variable $doxydocs and the customary 1; statement which usually ends Perl modules. The documentation is stored in the variable $doxydocs, which can then be accessed by a Perl script using DoxyDocs.pm. diff --git a/doc/perlmod_tree.doc b/doc/perlmod_tree.doc index 0d412ba..e2b1366 100644 --- a/doc/perlmod_tree.doc +++ b/doc/perlmod_tree.doc @@ -15,7 +15,7 @@ Where

      -
    • The "key =>" part only appears if the parent node is a hash. +
    • The "key =>" part only appears if the parent node is a hash. "key" is the key for this node.
    • "Name" is a unique name for the node, defined in diff --git a/doc/preprocessing.doc b/doc/preprocessing.doc index aa25ff6..dd4702a 100644 --- a/doc/preprocessing.doc +++ b/doc/preprocessing.doc @@ -46,7 +46,7 @@ Then by default doxygen will feed the following to its parser: You can disable all preprocessing by setting \ref cfg_enable_preprocessing "ENABLE_PREPROCESSING" to \c -NO in the configuation file. In the case above doxygen will then read +NO in the configuration file. In the case above doxygen will then read both statements, i.e: \verbatim diff --git a/doc/searching.doc b/doc/searching.doc index 03cd2b7..93dd0d2 100644 --- a/doc/searching.doc +++ b/doc/searching.doc @@ -137,12 +137,12 @@ has its own advantages and disadvantages: first search for an keyword. To enable the help plugin set - \ref cfg_generate_eclipsehelp "GENERATE_ECLIPSE_HELP" to \c YES, + \ref cfg_generate_eclipsehelp "GENERATE_ECLIPSEHELP" to \c YES, and define a unique identifier for your project via \ref cfg_eclipse_doc_id "ECLIPSE_DOC_ID", i.e: \verbatim - GENERATE_ECLIPSE_HELP = YES - ECLIPSE_DOC_ID = com.yourcompany.yourproject + GENERATE_ECLIPSEHELP = YES + ECLIPSE_DOC_ID = com.yourcompany.yourproject \endverbatim then create the \c com.yourcompany.yourproject directory (so with the same name as the value of \c ECLIPSE_DOC_ID) in the diff --git a/doc/starting.doc b/doc/starting.doc index d90d136..451a533 100644 --- a/doc/starting.doc +++ b/doc/starting.doc @@ -127,7 +127,7 @@ Please note that as a consequence warnings about undocumented members will not be generated as long as \ref cfg_extract_all "EXTRACT_ALL" is set to \c YES. -To analyse an existing piece of software it is useful to cross-reference +To analyze an existing piece of software it is useful to cross-reference a (documented) entity with its definition in the source files. Doxygen will generate such cross-references if you set the \ref cfg_source_browser "SOURCE_BROWSER" tag to \c YES. @@ -250,7 +250,7 @@ basically two options:
      1. Place a \e special documentation block in front of the declaration or definition of the member, class or namespace. For file, class and namespace - members it is also allowed to place the documention directly after the + members it is also allowed to place the documentation directly after the member. See section \ref specialblock to learn more about special documentation blocks.
      2. Place a special documentation block somewhere else (another file or diff --git a/doc/translator.py b/doc/translator.py index 995f910..32c70d5 100644 --- a/doc/translator.py +++ b/doc/translator.py @@ -59,6 +59,7 @@ 2010/08/20 - maintainers.txt to UTF-8, related processin of unicode strings - [any mark] introduced instead of [unreachable] only - marks hihglighted in HTML + 2010/09/30 - Highlighting in what will be the table in langhowto.html modified. """ from __future__ import generators @@ -536,7 +537,6 @@ class Transl: else: self.langReadable = self.lang - def __unexpectedToken(self, status, tokenId, tokenLineNo): """Reports unexpected token and quits with exit code 1.""" @@ -1871,18 +1871,26 @@ class TrManager: # and the list of their mangled e-mails. For English-based # translators that are coupled with the non-English based, # insert the 'see' note. - mm = None # init - ee = None # init + mm = None # init -- maintainer + ee = None # init -- e-mail address if obj.status == 'En': # Check whether there is the coupled non-English. classId = obj.classId[:-2] - if self.__translDic.has_key(classId): + if classId in self.__translDic: lang = self.__translDic[classId].langReadable mm = u'see the %s language' % lang ee = u' ' - if not mm and self.__maintainersDic.has_key(obj.classId): - lm = [ m[0] for m in self.__maintainersDic[obj.classId] ] + if not mm and obj.classId in self.__maintainersDic: + # Build a string of names separated by the HTML break element. + # Special notes used instead of names are highlighted. + lm = [] + for maintainer in self.__maintainersDic[obj.classId]: + name = maintainer[0] + if name.startswith(u'--'): + name = u''\ + + name + u'' + lm.append(name) mm = u'
        '.join(lm) # The marked adresses (they start with the mark '[unreachable]', @@ -1894,7 +1902,7 @@ class TrManager: address = maintainer[1] m = rexMark.search(address) if m is not None: - address = u''\ + address = u''\ + m.group(u'mark') + u'' le.append(address) ee = u'
        '.join(le) diff --git a/doc/trouble.doc b/doc/trouble.doc index ee4dfd7..7bd0804 100644 --- a/doc/trouble.doc +++ b/doc/trouble.doc @@ -44,7 +44,7 @@ const int (a); \endverbatim is also seen as a function declaration with name - int, because only the syntax is analysed, + int, because only the syntax is analyzed, not the semantics. If the redundant braces can be detected, as in \verbatim int *(a[20]); @@ -107,7 +107,7 @@ always try to include the following information in your bug report: doxygen --version if you are not sure). - The name and version number of your operating system (for instance SuSE Linux 6.4) -- It is usually a good idea to send along the configuation file as well, +- It is usually a good idea to send along the configuration file as well, but please use doxygen with the -s flag while generating it to keep it small (use doxygen -s -u [configName] to strip the comments from an existing config file). diff --git a/src/classdef.cpp b/src/classdef.cpp index 04f8934..557604f 100644 --- a/src/classdef.cpp +++ b/src/classdef.cpp @@ -1065,7 +1065,8 @@ void ClassDef::writeInheritanceGraph(OutputList &ol) bool renderDiagram = FALSE; - if (Config_getBool("HAVE_DOT") && Config_getBool("CLASS_DIAGRAMS")) + if (Config_getBool("HAVE_DOT") && + (Config_getBool("CLASS_DIAGRAMS") || Config_getBool("CLASS_GRAPH"))) // write class diagram using dot { DotClassGraph inheritanceGraph(this,DotNode::Inheritance); diff --git a/src/cmdmapper.cpp b/src/cmdmapper.cpp index 16e8a7a..1e5cc17 100644 --- a/src/cmdmapper.cpp +++ b/src/cmdmapper.cpp @@ -112,7 +112,8 @@ CommandMap cmdMap[] = { "endmanonly", CMD_ENDMANONLY }, { "includelineno", CMD_INCWITHLINES }, { "inheritdoc", CMD_INHERITDOC }, - { 0, 0 } + { "mscfile", CMD_MSCFILE }, + { 0, 0 }, }; //---------------------------------------------------------------------------- diff --git a/src/cmdmapper.h b/src/cmdmapper.h index 011ebad..1f4bd02 100644 --- a/src/cmdmapper.h +++ b/src/cmdmapper.h @@ -113,7 +113,8 @@ enum CommandType CMD_TPARAM = 79 | SIMPLESECT_BIT, CMD_COPYBRIEF = 80, CMD_COPYDETAILS = 81, - CMD_QUOTE = 82 + CMD_QUOTE = 82, + CMD_MSCFILE = 83 }; enum HtmlTagType diff --git a/src/code.l b/src/code.l index 1543f53..e973bf9 100644 --- a/src/code.l +++ b/src/code.l @@ -2851,13 +2851,15 @@ OPERATOR {ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP} if (cd) { setClassScope(cd->name()); + g_scopeStack.push(SCOPEBLOCK); + DBG_CTX((stderr,"** scope stack push SCOPEBLOCK\n")); } - else + else { - setClassScope(g_realScope); + //setClassScope(g_realScope); + g_scopeStack.push(INNERBLOCK); + DBG_CTX((stderr,"** scope stack push INNERBLOCK\n")); } - DBG_CTX((stderr,"** scope stack push SCOPEBLOCK\n")); - g_scopeStack.push(SCOPEBLOCK); } else { @@ -3356,7 +3358,8 @@ void parseCCode(CodeOutputInterface &od,const char *className,const QCString &s, int startLine,int endLine,bool inlineFragment, MemberDef *memberDef,bool showLineNumbers) { - //printf("***parseCode() exBlock=%d exName=%s fd=%p\n",exBlock,exName,fd); + //printf("***parseCode() exBlock=%d exName=%s fd=%p className=%s\n", + // exBlock,exName,fd,className); if (s.isEmpty()) return; if (g_codeClassSDict==0) { @@ -3386,6 +3389,7 @@ void parseCCode(CodeOutputInterface &od,const char *className,const QCString &s, g_theCallContext.clear(); g_scopeStack.clear(); g_classScope = className; + //printf("parseCCode %s\n",className); g_exampleBlock = exBlock; g_exampleName = exName; g_sourceFileDef = fd; diff --git a/src/commentscan.l b/src/commentscan.l index 892ac71..d4f7f0e 100644 --- a/src/commentscan.l +++ b/src/commentscan.l @@ -1038,7 +1038,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$" ^{B}*"."{B}*/\n { // explicit end autolist: e.g " ." addOutput(yytext); } -("."+)[a-z_A-Z0-9] { // . at start or in the middle of a word, or ellipsis +("."+)[a-z_A-Z0-9\)] { // . at start or in the middle of a word, or ellipsis addOutput(yytext); } ".\\"[ \t] { // . with escaped space. diff --git a/src/compound.xsd b/src/compound.xsd index 369e230..7f67a2c 100644 --- a/src/compound.xsd +++ b/src/compound.xsd @@ -577,6 +577,7 @@ + @@ -585,6 +586,12 @@ + + + + + + diff --git a/src/compound_xsd.h b/src/compound_xsd.h index fd92308..0404b78 100644 --- a/src/compound_xsd.h +++ b/src/compound_xsd.h @@ -577,6 +577,7 @@ "\n" " \n" " \n" +" \n" " \n" " \n" " \n" @@ -585,6 +586,12 @@ " \n" " \n" " \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" " \n" " \n" "\n" diff --git a/src/config.l b/src/config.l index b45097c..532b1c4 100644 --- a/src/config.l +++ b/src/config.l @@ -1084,7 +1084,7 @@ void Config::check() paperType=paperType.lower().stripWhiteSpace(); if (paperType.isEmpty()) { - paperType = "a4wide"; + paperType = "a4"; } if (paperType!="a4" && paperType!="a4wide" && paperType!="letter" && paperType!="legal" && paperType!="executive") diff --git a/src/config.xml b/src/config.xml index 17d3644..8919ab3 100644 --- a/src/config.xml +++ b/src/config.xml @@ -290,7 +290,7 @@ doxygen to be busy swapping symbols to and from disk most of the time causing a significant performance penality. If the system has enough physical memory increasing the cache will improve the performance by keeping more symbols in memory. Note that the value works on -a logarithmic scale so increasing the size by one will rougly double the +a logarithmic scale so increasing the size by one will roughly double the memory usage. The cache size is given by this formula: 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, corresponding to a cache size of 2^16 = 65536 symbols @@ -514,7 +514,7 @@ parameters in a documented function, or documenting parameters that don't exist or using markup commands wrongly. ' defval='1'/>