summaryrefslogtreecommitdiffstats
path: root/src/configimpl.l
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'feature/bug_xml_settings' of ↵Dimitri van Heesch2021-04-291-15/+106
|\ | | | | | | https://github.com/albert-github/doxygen into albert-github-feature/bug_xml_settings
| * Write out used settings when generating XML outputalbert-github2021-03-281-15/+108
| | | | | | | | | | When generating XML output is is afterwards unknown which settings have been used to generate the XML output, e.g. whether `EXTRACT_PRIVATE` was set or not as the XML output tries to write out all information contained in the sources and not to limit it. By writing out a Doxyfile.xml with all the used settings this can be overcome.
* | Merge pull request #8496 from albert-github/feature/issue_7346Dimitri van Heesch2021-04-271-10/+30
|\ \ | | | | | | issue #7346 Incompatibility with MathJax 3.0
| * | issue #7346 Incompatibility with MathJax 3.0albert-github2021-04-121-10/+30
| | | | | | | | | | | | | | | | | | | | | Implementing the possibility to use MathJax versie 3 - Added setting MATHJAX_VERSION - made setting for MATHJAX_RELPATH so that is suited for version Mathjax version3, i.e. selecting right default - made setting for MATHJAX_FORMAT so that is suited for version Mathjax version3, automatic conversion between MathJax 2 and MathJax3 format setting
* | | Fix issues caused by QCString::rawData and QCString::operator[]Dimitri van Heesch2021-04-261-1/+1
| | | | | | | | | | | | | | | - methods were marked const but still returned a non-const reference, cause wrongly optimized code for some platforms/compilers
* | | Merge branch 'master' of github.com:doxygen/doxygenDimitri van Heesch2021-04-231-2/+2
|\ \ \
| * \ \ Merge pull request #8514 from albert-github/feature/bug_aliases_regexDimitri van Heesch2021-04-221-2/+2
| |\ \ \ | | | | | | | | | | No warning for incorrect ALIASES
| | * | | No warning for incorrect ALIASESalbert-github2021-04-221-2/+2
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When having the alias: ``` "\latexonly mytable=\\mytable \endlatexonly" ``` the 1.9.1. version gave a warning: ``` error: Illegal ALIASES format '\latexonly mytable=\\mytable \endlatexonly'. Use "name=value" or "name{n}=value", where n is the number of arguments ``` though the current version doesn't give a warning, probably due to the regexp replacement. Now most likely the string found starts at `mytable=` The alias should start at the beginning of the string when searching.
* | | | Fix for crash due to wrong function prototype for portable_iconv_openDimitri van Heesch2021-04-231-1/+1
|/ / /
* | | Refactoring: remove implicit conversion from QCString to const char *Dimitri van Heesch2021-04-221-73/+72
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit changes the following in relation to string use - The implicit convert from 'QCString' to 'const char *' is removed - Strings parameters use 'const QCString &' as much as possible in favor over 'const char *' - 'if (s)' where s is a QCString has been replaced by 'if(!s.isEmpty())' - data() now always returns a valid C-string and not a 0-pointer. - when passing a string 's' to printf and related functions 'qPrint(s)' is used instead of 's.data()' - for empty string arguments 'QCString()' is used instead of '0' - The copy() operation has been removed - Where possible 'qstrcmp(a,b)==0' has been replaces by 'a==b' and 'qstrcmp(a,b)<0' has been replaced by 'a<b' - Parameters of string type that were default initialized with '= 0' are no initialized with '= QCString()'
* | Incorrect DOXYFILE_ENCODING upon updatealbert-github2021-03-291-1/+8
| | | | | | | | When the Doxyfile is updated the DOXYFILE_ENCODING remains at the original setting although the setting should now be UTF-8
* | Refactoring: Add TextStream buffer to improve output writing performanceDimitri van Heesch2021-03-281-24/+25
|/ | | | | - direct use of std::stringstream and std::ostream gave a 30% drop in performance.
* Refactoring: make qcstring.h a local includeDimitri van Heesch2021-03-261-1/+0
|
* Refactoring: replace QMIN/QMAX by std::min/std::maxDimitri van Heesch2021-03-261-1/+1
|
* Regression: dead code in configimpl.lalbert-github2021-03-201-7/+1
| | | | | | | | | | According to coverity: ``` CID 315169 (#1 of 1): Structurally dead code (UNREACHABLE)unreachable: This code cannot be reached: if (!fileOpened) { config.... ``` this problem has been introduced in: Refactoring: replace QFile/FTextStream with fstream/stringstream (Commit: fa1897b1889f7bf74de68f1ac99cf3be343a7551)
* Refactoring: replace QFile/FTextStream with fstream/stringstreamDimitri van Heesch2021-03-181-76/+55
|
* Refactoring: Replaced QDir with DirDimitri van Heesch2021-03-181-7/+6
| | | | | - Dir is based on ghc::filesystem, a std::filesystem compatible implementation that does not require C++17.
* Refactoring: Replaced QFileInfo with FileInfoDimitri van Heesch2021-03-181-22/+25
| | | | | - FileInfo is based on ghc::filesystem, a std::filesystem compatible implementation that does not require C++17.
* Refactoring: replaced std::regex with own much faster implementationDimitri van Heesch2021-03-021-27/+31
|
* Some performance tweaks + remove setting of global localeDimitri van Heesch2021-02-221-2/+2
|
* Refactoring: make better use of capture groupsDimitri van Heesch2021-02-201-3/+2
|
* Refactoring: replace QRegExp by std::regex in configimpl.lDimitri van Heesch2021-02-201-23/+29
|
* Refactoring: modernize configimplDimitri van Heesch2021-01-221-63/+39
|
* issue #8343 doxygen-1.9.1 crashes when parsing config file (part 2)albert-github2021-01-191-3/+2
| | | | | - In the past in case of a quoted string there was a space at the end of the string (as also indicated in the comment), now this space is gone so the `wasQuoted` would not kick in. A string with an escaped double quote should be / has to be escaped so it should also be included in the `wasQuoted` - missing one `data()` -> `str()` (should not give a problem due to the guard, but better for consistency).
* issue #8343: doxygen-1.9.1 crashes when parsing config fileDimitri van Heesch2021-01-181-6/+6
|
* issue #8297 fails to parse list of INPUT filesalbert-github2021-01-021-1/+1
| | | | The rule also caught a `\n` at the second position.
* issue #8282 Error on ALIAS declaration without quotesalbert-github2020-12-291-1/+1
| | | | | - also escape a "," (comma) when writing out string values (doxygen and doxywizard) - check on empty lists in stringlist for the wizard
* Refactoring: removed some dead codeDimitri van Heesch2020-12-251-2/+0
|
* Refactoring: better processing of (un)quoted values for tags in the ↵Dimitri van Heesch2020-12-251-46/+46
| | | | configuration file (part 2)
* Refactoring: better processing of (un)quoted values for tags in the ↵Dimitri van Heesch2020-12-241-318/+427
| | | | configuration file
* Silently ignoring unexpected characters in configurationalbert-github2020-11-181-1/+1
| | | | Should also ignore `\r` as white space
* Silently ignoring unexpected characters in configurationalbert-github2020-11-181-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | When having a doxygen configuration file like: ``` QUIET=YES @INPUT = file @UNKNOWN = @UNKNOWN1 @UNKNOWN 1 @UNK # test ``` we get the warnings ``` warning: ignoring unsupported tag 'UNKNOWN' at line 3, file Doxyfile warning: ignoring unknown tag 'UNKNOWN1' at line 4, file Doxyfile warning: ignoring unknown tag 'UNKNOWN' at line 5, file Doxyfile warning: ignoring unknown tag '1' at line 5, file Doxyfile warning: ignoring unknown tag 'UNK' at line 6, file Doxyfile # Difference with default Doxyfile 1.9.0 (fa65bb38f81457d00f9c900bb57eb68bea59b1b4) QUIET = YES INPUT = file ``` especially the missing of a warning about the `@` in `@INPUT` can be a bit misleading (it might be that the user wanted to use `@INCLUDE` and and specified `@INPUT` It would be better to have a warning about a not handled character instead of just ignoring it.
* Merge pull request #8128 from albert-github/feature/bug_configDimitri van Heesch2020-11-061-41/+61
|\ | | | | Incorrect handling of string with spaces and no quotes
| * Incorrect handling of string with spaces and no quotesalbert-github2020-10-251-1/+0
| | | | | | | | Correcting some (Cygwin) compilation warnings / errors
| * Incorrect handling of string with spaces and no quotesalbert-github2020-10-251-40/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During some tests on the documentation of LLVM the (CMake generated) doxygen configuration file contained the line: ``` DOT_PATH=D:\Program Files (x86)\Graphviz2.38\bin\dot.exe ``` and this was interpreted by doxygen as ``` DOT_PATH = D:\ProgramFiles(x86)\Graphviz2.38\bin\dot.exe ``` without any message other than that later on the `dot` executable could not be found. It is clear that here the double quotes were missing. This problem has been solved by giving a warning and setting the value to the default value. - configimpl.l - config_doxyw.l during the checking some debug facilities for the doxywizard were required and this has been implemented: - config_doxyw.l - doxywizard.h - doxywizard.cpp it was also discovered that in case of none existing int or bool values were specified the wrong "defaults" were taken (it was set to `0` / `false`), now the correct defaults are taken - inputbool.cpp - inputint.cpp
* | Problem with `\\` at end of an ALIASES in the configuration filealbert-github2020-10-301-0/+3
|/ | | | | In principle a configuration file should not know anything about the doxygen commands, but the handling of the escaped `\` and `@` are an exception of this rule (especially in `ALIASES`). The mentioned escaped characters were not handled properly.
* issue #7951: Doxywizard 1.8.19 (Windows): Source code directory seems to be ↵Dimitri van Heesch2020-08-101-2/+2
| | | | ignored
* Merge branch 'feature/bug_chm_tests' of ↵Dimitri van Heesch2020-08-011-0/+8
|\ | | | | | | https://github.com/albert-github/doxygen into albert-github-feature/bug_chm_tests
| * Creating chm files for doxygen testsalbert-github2020-05-301-0/+5
| | | | | | | | | | | | | | By means of `nmake tests TEST_FLAGS="--xhtml --keep --cfg GENERATE_HTMLHELP=YES --cfg HHC_LOCATION=C:/PROGRA~2/HTMLHE~1/hhc.exe --cfg SEARCHENGINE=NO" it is possible to generate for each doxygen test an index.chm, but there are a number of problems: - it is only possible to use extension `.html` so this is now automatically done (configimpl.l) otherwise when opening the file an error is displayed. - it is not [possible to use "empty" hhc / hhk file (i.e. no `<li>` elements), in this case the files are still generated but not used anymore (error like `error: failed to run html help compiler on index.hhp` e.g. for test 1). - a full qualified / absolute is not allowed for e.g msc images (test 37) the files should anyway be on the "html" directory so just using the filename in the "hhp" file (` t << QFileInfo(imageFiles.at(i)).fileName().data() << endl;`)
* | Prevent potential empty stringDimitri van Heesch2020-06-061-1/+1
| |
* | issue #7833 Empty string in PREDEFINED throwsalbert-github2020-06-061-1/+1
| | | | | | | | Ignore empty strings
* | Refactor: modernize configuration valuesDimitri van Heesch2020-06-041-294/+268
| |
* | Empty enum setting in configuration filealbert-github2020-05-291-0/+5
|/ | | | | | | | | | | | | | In case we have an empty setting in the doxygen configuration file, where an enum value is expected like: ``` OUTPUT_LANGUAGE = ``` we get the warning: ``` warning: argument '(null)' for option OUTPUT_LANGUAGE is not a valid enum value Using the default: English! ``` The default value should immediately have been used.
* Merge branch 'remove_tcl'Dimitri van Heesch2020-03-221-3/+0
|\
| * Remove support for TCL (code is too buggy and unmaintained, language not ↵Dimitri van Heesch2020-03-151-3/+0
| | | | | | | | very popular)
* | Remove last QThread-ReferenceMoritz 'Morty' Strübe2020-03-211-3/+3
| |
* | Doxygen version information (#7645)albert-github2020-03-171-6/+2
|/ | | | | - add doxygen version to rtf, comment, output - remove duplicate code (getFullVersion) - more clear name to get doxygen version (getVersion becomes getrDoxygenVersion). Also to overcomecofusion with the version information for files.
* Enabled stricter compiler warnings and fixed all new warningsDimitri van Heesch2020-03-081-149/+162
|
* Problem in case using PREDEFINED with comma and using +=albert-github2020-02-271-1/+8
| | | | In pull request #7603 the problem regarding `PREDEFINED = A(x,y)`, but the same patch must be applied to the construct `PREDEFINED += A(x,y)`
* Problem in case using PREDEFINED with commaalbert-github2020-02-201-5/+24
| | | | | | | | | | | | | | | | | | | | | | In the pull request "Enable comma as separator in configuration lists enhancement " (#6563) it was made possible to have commas as separators for lists. In case we have: ``` PREDEFINED = A(x,y)=sin(x),cos(y) ``` and use `doxygen -x` (or usethe define): this results in: ``` PREDEFINED = A(x \ y)=sin(x) \ cos(y) ``` this can be overcome by means of: ``` PREDEFINED = "A(x,y)=sin(x),cos(y)" ``` But for a lot of existing packages this poses a problem. (Found by looking at the doxygen configuration files as used by Fossies).