Skip to content

Upstream merge conflict - #1

Draft
shahmoradi wants to merge 6354 commits into
cdslaborg:masterfrom
doxygen:master
Draft

Upstream merge conflict#1
shahmoradi wants to merge 6354 commits into
cdslaborg:masterfrom
doxygen:master

Conversation

@shahmoradi

Copy link
Copy Markdown
Member

Upstream merge conflict with the fork by @shahmoradi

doxygen and others added 30 commits June 18, 2026 20:59
Display Additional inherited members in HTML
issue #12218 Compilation of 1.17.0 fails for gcc-based openSUSE
Compatibility code for reading obsolete settings in doxywizard
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Adding missing block protection for `\mermaid`  command (analogous to `\msc`, `\starrtuml`, ...)
Adding missing handling the `\mermaidfile` command (analogous to `\mscfile`, `\plantumlfile`, ...)
Adding missing block protection for `\mermaid`  command
…ons/checkout-7

Bump actions/checkout from 6 to 7
Check and autocorrect the attributes of the option settings in translated configuration files.
Check and autocorrect the value tags of the option settings in translated configuration files.
Note: during the corrections no automatic translations are done.
Check and autocorrect translated configuration files
Spelling correction
Reformulate conditional inclusions in configuration file from a "don't include" to an "do include" version
Remove obsolete `DOT_MULTI_TARGETS` from docs_internal as it is obsolete since 1.17.0
…nternal

Remove obsolete `DOT_MULTI_TARGETS` from docs_internal
…b/doxygen into albert-github-feature/bug_dw_cond_include
When we have the setting `INLINE_SIMPLE_STRUCTS` set to `YES`  the representation of the long form (as can be seen with the `struct my_struct_t` of the second example in #112228) is not correct, the header of the table is missing.
Introducing here the css class `memberdecls-inline` as adding the settings directly to the css class `memberdecls` leads to problem with other `memberdecls` headers.
The words "Data fields" are also representing a header and should be noted as such.
Make the texts for the different types of output identical.
(Note: the sectioning has been kept so no difference occurs, i.e. properly retaining the new line, in the different output versions, doxyfile, documentation, doxywizard).
…onditionals

Remove conditionals from `ALIASES`  in configuration file.
Regression in 1.17.0 compared to 1.16.0
In the doxywizard the from translated configuration files only the first `<docs>` section in an `<option>` section was handled.
In the different translated configuration files the handling of the specific parts for the doxywizard was, incorrectly, done with the main `<docs>` part. was missing or was incomplete.
In the config.xml a sentence that just belongs to the documentation was placed in a main section and thus visible everywhere.
Handling of multiple `<docs>` sections in an `<option>` section
claude and others added 30 commits August 19, 2026 23:32
PlantUML is nowadays also distributed as a native image and as wrapper
scripts, neither of which needs a JVM (see issue #11469). Doxygen could
only run PlantUML as `java -jar <jar>`, so these variants could not be
used at all.

The new PLANTUML_TOOL option specifies a PlantUML executable that is run
directly, instead of running the jar file via java. When it is set,
PLANTUML_JAR_PATH and PLANTUML_JAVA_PATH are not used; when it is empty
(the default) nothing changes.

Rather than deriving the invocation from the extension of the configured
path, the two ways of running PlantUML get their own option, so that both
the doxygen code and the user configuration state explicitly what is run.

The java specific arguments are only passed in the jar case:
- `-Djava.awt.headless=true` is a JVM property and has no meaning for a
  native image.
- `-Dplantuml.include.path=...` is a java system property as well, so for
  an executable the PLANTUML_INCLUDE_PATH environment variable is used
  instead. PlantUML looks up the include path as a system property first,
  then as an environment variable (SecurityUtils.getenv()), so both ways
  end up in the same place.

As PlantUML can now be enabled by either option, the checks whether
PlantUML is available are moved into PlantumlManager::isEnabled().
When PLANTUML_JAVA_PATH is not set and the JAVA_HOME environment variable
points to a directory containing a java executable, that executable is
used instead of relying on the default search path.

Note that this does change the behavior of an existing configuration on
systems where JAVA_HOME and PATH refer to different Java runtime
environments, so this commit can be dropped if that is not wanted.
In case we have an example with `<tabs>` the determination of the column number is not correct and will result (with XML output to e.g.):
```
xml/058__strong__enum_8cpp.xml:        <location file="058_strong_enum.cpp" line="30" column="6" bodyfile="058_strong_enum.cpp" bodystart="30" bodyend="31"/>
xml/058__strong__enum_8cpp.xml:        <location file="058_strong_enum.cpp" line="33" column="10" bodyfile="058_strong_enum.cpp" bodystart="33" bodyend="34"/>
```
as the code at line 30 contains a `<tab>` whilst line 33 doesn't. Both should (in case of the proper `TAB_SIZE               = 4` setting) return:
```
xml/058__strong__enum_8cpp.xml:        <location file="058_strong_enum.cpp" line="30" column="10" bodyfile="058_strong_enum.cpp" bodystart="30" bodyend="31"/>
xml/058__strong__enum_8cpp.xml:        <location file="058_strong_enum.cpp" line="33" column="10" bodyfile="058_strong_enum.cpp" bodystart="33" bodyend="34"/>
```
Incorrect column number in XML in case of `<tab>`
…-path-ymvktn

issue #11469 Configurable PlantUML command: PLANTUML_JAVA_PATH and PLANTUML_TOOL
- Remove unused dependencies
- Replace #include's by forward declarations when possible
- Alphabetically sort system includes, local includes and forward declarations
- struct->class for forward declarations
- cleanup copyright comment at the top
Co-authored-by: doxygen <1300762+doxygen@users.noreply.github.com>
…g files

Co-authored-by: doxygen <1300762+doxygen@users.noreply.github.com>
When having something like:
```
void without_colon()
{
}

void with_colon()
{
}

int main(int argc, char ** argv)
{
  without_colon();
  with_colon();
  return 0;
}
```
we get, for the main function, when `REFERENCED_BY_RELATION` and `REFERENCES_RELATION` are set, a.o.:
```
References main(), with_colon(), and without_colon().

Referenced by main().
```
Note the recursive mentioning of main.
This is due to:
```
Commit: 772ac86 [772ac86]

Date: Sunday, August 2, 2026 9:32:35 PM

Commit Date: Saturday, August 8, 2026 9:29:19 PM
Refactoring: Better align interface of QCString with std::string
```
Co-authored-by: doxygen <1300762+doxygen@users.noreply.github.com>
The text is shown when adding the issue (i.e. in edit mode) but hidden in the rendered mode
In the comments of #12303 it was noted that empty lines disappeared from the corrected output when the `-auto` option of `configgen.py` was used, this has been corrected.
Make text hidden in template issue when rendered
…to_empty_line

Empty lines disappear in output of `configgen.py -auto`
Co-authored-by: doxygen <1300762+doxygen@users.noreply.github.com>
…ranslation

Add PLANTUML_JAVA_PATH and PLANTUML_TOOL to i18n config translations
Commit 772ac86 changed find() to return size_t/npos instead of int/-1,
but left addVariable()'s `ai>ii` test that used to reject "not found".
A type without '[' now takes the function pointer array branch, whose
statements are both no-ops for ai==npos, so the correction that splits
`int(*)` / `(int a, int b)` into `int(*` / `)(int a, int b)` never runs
and type + name + argsstring no longer concatenate into valid C.

Add test 123 covering a function pointer typedef, a function pointer
array typedef, and a function pointer struct member.
XML output for function pointers is no longer a valid C declaration
- commentscan.l usage of `idx` has to be protected against `npos`
- scanner.l it is, according to the used rule (`{B}+`) possible that there are no spaces but just tabs
Potential problems with `size_t` and `find` / `rfind`
Potential problems with `size_t` and `find` / `rfind`
Potential problems with `size_t` and `find` / `rfind` (2)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants