After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 721032 - Trouble with /cond /endcond
Trouble with /cond /endcond
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: general
1.8.6
Other Windows
: Normal major
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2013-12-25 10:16 UTC by Volodymyr
Modified: 2014-04-21 10:09 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Classes A B C with block cond inside (83.13 KB, application/octet-stream)
2013-12-25 11:50 UTC, Volodymyr
Details
Sample A, B, C (120.57 KB, application/zip)
2013-12-27 07:44 UTC, Volodymyr
Details

Description Volodymyr 2013-12-25 10:16:19 UTC
I have downloaded version 1.8.6 today. And used it for my project.
When I have seen generated documentation - I seen that most of my classes missing in the list of classes.
I began compare them with the few resting. I noticed the difference: hidden classes contents \cond \endcond block inside.
I have deleted this block, after what the classes reappeared.
I try use @cond @endcond - but result the same (no classes).
I try use \@cond \@endcond - then classes reappeared.
Comment 1 Dimitri van Heesch 2013-12-25 10:22:13 UTC
\cond .. \endcond are made to hide stuff, so without example I cannot tell whether this a bug or desired behaviour.

Can you please attach a (minimal) self-contained example (source+config file in a tar or zip) that allows me to reproduce the problem?
Comment 2 Volodymyr 2013-12-25 11:50:26 UTC
Created attachment 264872 [details]
Classes A B C with block cond inside

Archive conteins A, B C java example classes, Doxyfile of the project, and results of documentation creation with 1.8.5 and 1.8.6 version.
Comment 3 Volodymyr 2013-12-25 12:00:00 UTC
In all classes I try to hide function foo1 for documentation.
For classes A and B it is work in version 1.8.5, but don't work in version 1.8.6.
Class C incorrect - but it is correctly work for both version. It demonstrates only that without cond tag documentation generates.
Comment 4 Dimitri van Heesch 2013-12-25 12:28:34 UTC
Confirmed. This happens for languages that do not have a C-Preprocessor (e.g. java) and if you use /** @cond */.

A workaround is to use

/// @cond

or 

/** @cond
 */

instead.
Comment 5 Volodymyr 2013-12-27 07:42:16 UTC
Hello, I try to use style (/// @cond) like you recomended. And old bug has been fixed.
But I noticed a new one.
Problem when I use two cond blocks in succession. After this before third function I see * or ** (depending on the syntax)  near returned type.
I add sample in additional files. In sample A **, in sample B *, in sample C without.
Comment 6 Volodymyr 2013-12-27 07:44:56 UTC
Created attachment 264924 [details]
Sample A, B, C

All classes have same text but different formating. And sample A and B return incorrect documentation for third function.
Comment 7 Dimitri van Heesch 2014-04-21 10:09:24 UTC
This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.8.7. Please verify if this is indeed the case. Reopen the
bug if you think it is not fixed and please include any additional information 
that you think can be relevant (preferrably in the form of a self-contained example).