From 9947c11284542a74c56e52b55be032350c6bbc3e Mon Sep 17 00:00:00 2001 From: albert-github Date: Sun, 16 Aug 2015 17:44:20 +0200 Subject: Correcting print format error in config.l This patch corrects a format error in config.l, and a spelling error in comment. --- src/config.l | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/config.l b/src/config.l index 1bbe320..2cdb123 100644 --- a/src/config.l +++ b/src/config.l @@ -242,7 +242,7 @@ QStrList &Config::getList(const char *fileName,int num,const char *name) const } else if (opt->kind()!=ConfigOption::O_List) { - config_err("%d<%d>: Internal error: Requested option %s not of list type!\n",fileName,num,name); + config_err("%s<%d>: Internal error: Requested option %s not of list type!\n",fileName,num,name); exit(1); } return *((ConfigList *)opt)->valueRef(); @@ -1077,7 +1077,7 @@ void Config::checkFileName(const char *optionName) (val=="no" || val=="false" || val=="0" || val=="none")) { config_err("file name expected for option %s, got %s instead. Ignoring...\n",optionName,s.data()); - s=""; // note tihe use of &s above: this will change the option value! + s=""; // note the use of &s above: this will change the option value! } } -- cgit v0.12 From b8bd3d84590d9adee7084f066f0e3e8c75a99245 Mon Sep 17 00:00:00 2001 From: albert-github Date: Sun, 23 Aug 2015 09:53:20 +0200 Subject: Stop when doxygen configuration file ("Doxyfile") cannot be read When the configuration file cannot be read a default configuration is used ad as the error message "error: cannot open file `Doxyfile' for reading" is show at the top of the output this is easily overseen. By stopping the doxygen process it is made clearer that there is an error. --- src/config.l | 1 + 1 file changed, 1 insertion(+) diff --git a/src/config.l b/src/config.l index 1bbe320..5949b46 100644 --- a/src/config.l +++ b/src/config.l @@ -1756,6 +1756,7 @@ static QCString configFileToString(const char *name) if (!fileOpened) { config_err("cannot open file `%s' for reading\n",name); + exit(1); } return ""; } -- cgit v0.12 From 404468ac5484d54e47129ce2a00b3ad6e1c2c72a Mon Sep 17 00:00:00 2001 From: albert-github Date: Thu, 27 Aug 2015 15:36:18 +0200 Subject: Better handling of implicit statement in source code browser When using e.g. IMPLICIT INTEGER only the IMPLICIT was seen as keyword and INTEGER was not seen as keyword. Now types are seen as keywords as well. --- src/fortrancode.l | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fortrancode.l b/src/fortrancode.l index af1a82e..fb91a83 100644 --- a/src/fortrancode.l +++ b/src/fortrancode.l @@ -795,7 +795,7 @@ PREFIX (RECURSIVE{BS_}|IMPURE{BS_}|PURE{BS_}|ELEMENTAL{BS_}){0,3}(RECURSIVE|I codifyLines(yytext); endFontClass(); } -"implicit"{BS}"none" { +"implicit"{BS}("none"|{TYPE_SPEC}) { startFontClass("keywordtype"); codifyLines(yytext); endFontClass(); -- cgit v0.12 From 6dacbd9b22bdd6cd1a8c3e9b5ec8c2f7d15977b8 Mon Sep 17 00:00:00 2001 From: albert-github Date: Thu, 27 Aug 2015 16:09:42 +0200 Subject: Add support for "value" attribute in FORTRAN scanner The "value" attribute was already supported in the FORTRAN code browser, but not yet in the scanner. --- src/fortranscanner.l | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/fortranscanner.l b/src/fortranscanner.l index cbe13fd..bd1fe83 100644 --- a/src/fortranscanner.l +++ b/src/fortranscanner.l @@ -100,13 +100,14 @@ struct SymbolModifiers { bool pass; bool contiguous; bool volat; /* volatile is a reserverd name */ + bool value; /* volatile is a reserverd name */ QCString passVar; SymbolModifiers() : type(), returnName(), protection(NONE_P), direction(NONE_D), optional(FALSE), protect(FALSE), dimension(), allocatable(FALSE), external(FALSE), intrinsic(FALSE), parameter(FALSE), pointer(FALSE), target(FALSE), save(FALSE), deferred(FALSE), nonoverridable(FALSE), - nopass(FALSE), pass(FALSE), contiguous(FALSE), volat(FALSE), passVar() {} + nopass(FALSE), pass(FALSE), contiguous(FALSE), volat(FALSE), value(FALSE), passVar() {} SymbolModifiers& operator|=(const SymbolModifiers &mdfs); SymbolModifiers& operator|=(QCString mdfrString); @@ -259,7 +260,7 @@ CHAR (CHARACTER{ARGS}?|CHARACTER{BS}"*"({BS}[0-9]+|{ARGS})) TYPE_SPEC (({NUM_TYPE}({BS}"*"{BS}[0-9]+)?)|({NUM_TYPE}{KIND})|DOUBLE{BS}COMPLEX|DOUBLE{BS}PRECISION|{CHAR}|TYPE{ARGS}|CLASS{ARGS}|PROCEDURE{ARGS}?) INTENT_SPEC intent{BS}"("{BS}(in|out|in{BS}out){BS}")" -ATTR_SPEC (EXTERNAL|ALLOCATABLE|DIMENSION{ARGS}|{INTENT_SPEC}|INTRINSIC|OPTIONAL|PARAMETER|POINTER|PROTECTED|PRIVATE|PUBLIC|SAVE|TARGET|NOPASS|PASS{ARGS}?|DEFERRED|NON_OVERRIDABLE|CONTIGUOUS|VOLATILE) +ATTR_SPEC (EXTERNAL|ALLOCATABLE|DIMENSION{ARGS}|{INTENT_SPEC}|INTRINSIC|OPTIONAL|PARAMETER|POINTER|PROTECTED|PRIVATE|PUBLIC|SAVE|TARGET|NOPASS|PASS{ARGS}?|DEFERRED|NON_OVERRIDABLE|CONTIGUOUS|VOLATILE|VALUE) ACCESS_SPEC (PRIVATE|PUBLIC) LANGUAGE_BIND_SPEC BIND{BS}"("{BS}C{BS}(,{BS}NAME{BS}"="{BS}"\""(.*)"\""{BS})?")" /* Assume that attribute statements are almost the same as attributes. */ @@ -1652,6 +1653,7 @@ SymbolModifiers& SymbolModifiers::operator|=(const SymbolModifiers &mdfs) passVar = mdfs.passVar; contiguous |= mdfs.contiguous; volat |= mdfs.volat; + value |= mdfs.value; return *this; } @@ -1738,6 +1740,10 @@ SymbolModifiers& SymbolModifiers::operator|=(QCString mdfString) { newMdf.volat = TRUE; } + else if (mdfString=="value") + { + newMdf.value = TRUE; + } else if (mdfString.contains("pass")) { newMdf.pass = TRUE; @@ -1902,6 +1908,11 @@ static QCString applyModifiers(QCString typeName, SymbolModifiers& mdfs) if (!typeName.isEmpty()) typeName += ", "; typeName += "volatile"; } + if (mdfs.value) + { + if (!typeName.isEmpty()) typeName += ", "; + typeName += "value"; + } return typeName; } -- cgit v0.12 From 564c8cd257e0dd1797d94633a0e92ddc5a496540 Mon Sep 17 00:00:00 2001 From: albert-github Date: Fri, 28 Aug 2015 13:00:10 +0200 Subject: Small documentation corrections - syntax correction - cross reference between HTML table and Markdown table - removed reference through "here" (problematic in printed documentation, one does not know where to go). --- doc/docblocks.doc | 6 +++--- doc/markdown.doc | 4 +++- doc/tables.doc | 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/doc/docblocks.doc b/doc/docblocks.doc index f073de5..3b42506 100644 --- a/doc/docblocks.doc +++ b/doc/docblocks.doc @@ -601,15 +601,15 @@ Markdown is designed to be very easy to read and write. It's formatting is inspired by plain text mail. Markdown works great for simple, generic formatting, like an introduction page for your project. Doxygen also supports reading of markdown files -directly. See \ref markdown "here" for more details regards Markdown support. +directly. For more details see chapter \ref markdown. For programming language specific formatting doxygen has two forms of additional markup on top of Markdown formatting. 1. Javadoc like markup. - See \ref cmd_intro "here" for a complete overview of all commands supported by doxygen. + See \ref commands for a complete overview of all commands supported by doxygen. 2. XML markup - as specified in the C# standard. See \ref xmlcmds "here" for the XML commands supported by doxygen. + as specified in the C# standard. See \ref xmlcmds for the XML commands supported by doxygen. If this is still not enough doxygen also supports a \ref htmlcmds "subset" of the HTML markup language. diff --git a/doc/markdown.doc b/doc/markdown.doc index 87af3d8..cec2191 100644 --- a/doc/markdown.doc +++ b/doc/markdown.doc @@ -337,6 +337,8 @@ which will look as follows: | 10 | 10 | 10 | | 1000 | 1000 | 1000 | +For more complex tables in doxygen please have a look at: \ref tables + \subsection md_fenced Fenced Code Blocks Another feature defined by "Markdown Extra" is support for @@ -437,7 +439,7 @@ details). By default the name and title of the page are derived from the file name. If the file starts with a level 1 header however, it is used as the title of the page. If you specify a label for the -header (as shown \ref md_header_id "here") doxygen will use that as the +header (as shown in \ref md_header_id) doxygen will use that as the page name. If the label is called `index` or `mainpage` doxygen will put the diff --git a/doc/tables.doc b/doc/tables.doc index 32bd1c0..5dc166d 100644 --- a/doc/tables.doc +++ b/doc/tables.doc @@ -18,7 +18,7 @@ Doxygen supports two ways to put tables in the documentation. -The easiest is to use the Markdown format as shown @ref md_tables "here". +The easiest is to use the Markdown format as shown in @ref markdown_extra section @ref md_tables. Although this format is easy to use and read, it is also rather limited. It supports only a simple grid of cells, while each cell is a @@ -58,7 +58,7 @@ It has a caption, table heading, various row and column spans, a nested table as one of the cells, and a item list in another cell. Note that the end tags (like ``) are left out in the example above. -This is allowed, and in the HTML output doxygen will be add the end tags again. +This is allowed, and in the HTML output doxygen will add the end tags again. The output will look as follows: -- cgit v0.12 From a0880ff1c41a1c57bc92c1ccf99cf750064e2995 Mon Sep 17 00:00:00 2001 From: albert-github Date: Fri, 28 Aug 2015 14:59:36 +0200 Subject: Alignment in LaTeX parameter table Too be consistent between HTML, LaTeX and RTF the items should all be left aligned in the param table. --- templates/latex/doxygen.sty | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/templates/latex/doxygen.sty b/templates/latex/doxygen.sty index 53d198f..2051b30 100644 --- a/templates/latex/doxygen.sty +++ b/templates/latex/doxygen.sty @@ -273,10 +273,10 @@ \tabulinesep=1mm% \par% \ifthenelse{\equal{#1}{}}% - {\begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}}% name + description + {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|}}% name + description {\ifthenelse{\equal{#1}{1}}% - {\begin{longtabu} spread 0pt [l]{|X[-1,c]|X[-1,r]|X[-1,l]|}}% in/out + name + desc - {\begin{longtabu} spread 0pt [l]{|X[-1,c]|X[-1,c]|X[-1,r]|X[-1,l]|}}% in/out + type + name + desc + {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + name + desc + {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + type + name + desc } \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]% \hline% -- cgit v0.12 From 68dd27139e50e048f081549394e6fc6dc04fc699 Mon Sep 17 00:00:00 2001 From: albert-github Date: Fri, 28 Aug 2015 19:16:00 +0200 Subject: Small correction of errors in case of CSharp XML tags Extended / corrected some error messages --- src/docparser.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/docparser.cpp b/src/docparser.cpp index 3588efd..c3963c9 100644 --- a/src/docparser.cpp +++ b/src/docparser.cpp @@ -5945,7 +5945,7 @@ int DocPara::handleHtmlStartTag(const QCString &tagName,const HtmlAttribList &ta { if (Config_getBool("WARN_NO_PARAMDOC")) { - warn_doc_error(g_fileName,doctokenizerYYlineno,"empty 'name' attribute for tag."); + warn_doc_error(g_fileName,doctokenizerYYlineno,"empty 'name' attribute for tag.",tagId==XML_PARAM?"":"type"); } } else @@ -5957,7 +5957,7 @@ int DocPara::handleHtmlStartTag(const QCString &tagName,const HtmlAttribList &ta } else { - warn_doc_error(g_fileName,doctokenizerYYlineno,"Missing 'name' attribute from tag."); + warn_doc_error(g_fileName,doctokenizerYYlineno,"Missing 'name' attribute from tag.",tagId==XML_PARAM?"":"type"); } } break; @@ -5990,7 +5990,7 @@ int DocPara::handleHtmlStartTag(const QCString &tagName,const HtmlAttribList &ta } else { - warn_doc_error(g_fileName,doctokenizerYYlineno,"Missing 'name' attribute from tag."); + warn_doc_error(g_fileName,doctokenizerYYlineno,"Missing 'cref' attribute from tag."); } } break; -- cgit v0.12 From 63094c8bb34a2e02e8490860660303d849e4a984 Mon Sep 17 00:00:00 2001 From: albert-github Date: Sun, 30 Aug 2015 11:39:23 +0200 Subject: Cmake tries to remove directory refman.tex instead of file refman.tex --- doc/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 20eafa9..345e898 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -142,7 +142,7 @@ add_custom_target(run_doxygen add_custom_target(doxygen_pdf COMMENT "Generating Doxygen Manual PDF." - COMMAND ${CMAKE_COMMAND} -E remove_directory refman.tex + COMMAND ${CMAKE_COMMAND} -E remove refman.tex COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/doc/doxygen_manual.tex . COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/doc/manual.sty . COMMAND ${EPSTOPDF} ${CMAKE_SOURCE_DIR}/doc/doxygen_logo.eps --outfile=doxygen_logo.pdf -- cgit v0.12