GNOME Bugzilla – Bug 726219
python3 import style causes doxygen to ignore some inheritances
Last modified: 2016-01-09 18:43:58 UTC
Created attachment 271685 [details] config file + two very short .py files that reproduce the bug An old python2's style of import statement was: "from foo import *" In python3, it becomes "from .foo import *" and also such statements do appear: "from . import something" This small dot prevents doxygen from linking the classes correctly. The diagrams appear to be scattered in different sections instead of having only one diagram containing all classes. In the attached example, run "doxygen Doxyfile" will create the wrong doc. (Also already included). Open html/index.html and check Classes > Root: the classes B1 and C1 are missing If you suppress the dot (in another_class.py, just change the line "from .root_classes import *" to "from root_classes import *"), and then run "doxygen Doxyfile", you'll see that the classes B1 and C1 now show up when checking Classes > Root. The example I provide does not execute correctly BUT it shows the bug very clearly and the same bug shows up on my project, which DOES execute correctly (but which is too big to provide as example) (plus, the workaround - see below, that's no patch... - that I applied successfully on my project, consists of deleting these dots that seem to cause problem to doxygen). More details: - I have also tested this with doxygen 1.7.6.1 (original install from my distro) but also doxygen-1.6.3/ and with doxygen-1.8.6/ (compiled from source) - Kernal info: Linux 3.2.0-35-generic #55-Ubuntu SMP i686 i386 GNU/Linux - I use Python 3.2.3 Workaround: I make a copy of my project and in the main directory, I change the new statements back to the old ones by executing: sed -i 's/from \. //g' */*.py */*/*.py */*/*/*.py */*/*/*/*.py sed -i 's/from \./from /g' */*.py */*/*.py */*/*/*.py */*/*/*/*.py For information, the project that executes correctly and where the bug shows up: Python2 version: (no bug when doxygenning) https://sourceforge.net/p/mathmaker/code/ci/legacy_python2/tree/ Python3 version: (bug shows up) For now, on the dev branch, the last commit (116adc0) executes fines
Confirmed. Should be fixed in the next GIT update.
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).
It would be easier for me to monitor that code change when you would point to the concrete commit or if you would use the Issue-system of your git-hoster. It would be easier and more secure than for you, too. Because I am able to test the new code quickly out of git.
For this just look at the change log and search for this bug number: https://www.doxygen.org/manual/changelog.html I resolve all assigned bugs in one go, so I cannot put different text in each report.
Sorry link should be http://www.doxygen.org/changelog.html
Sorry, this was definitly the wrong bug. :)