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 763104 - hyperref link label drop underscores
hyperref link label drop underscores
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: general
1.8.11
Other Linux
: Normal normal
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2016-03-04 15:15 UTC by Brice Goglin
Modified: 2016-09-05 13:46 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Example to reproduce (25.25 KB, application/x-compressed-tar)
2016-03-04 20:20 UTC, Brice Goglin
Details

Description Brice Goglin 2016-03-04 15:15:31 UTC
Hello

After upgrading to 1.8.11, all my hyperref link names miss all underscores. My function "foo_bar_baz" appears as "foobarbaz" in the PDF index (in the bookmark names). The links work fine. The PDF looks good. It's only the index link label generated by hyperref that is wrong.

This is a regression from 1.8.10.

This is likely related to this warning that appears a lot in 1.8.11 when building with pdflatex:

Package hyperref Warning: Token not allowed in a PDF string (Unicode):
(hyperref)                removing `subscript' on input line 135.

Seems to come from this line:

\subsubsection[{\texorpdfstring{H\+W\+L\+O\+C\+\_\+\+A\+P\+I\+\_\+\+V\+E\+R\+S\+I\+ON}{HWLOC_API_VERSION}}]{\setlength{\rightskip}{0pt plus 5cm}\#define H\+W\+L\+O\+C\+\_\+\+A\+P\+I\+\_\+\+V\+E\+R\+S\+I\+ON~0x00020000}\hypertarget{a00080_ga8f4dfb8eef138af55dd1a0fa802e5476}{}\label{a00080_ga8f4dfb8eef138af55dd1a0fa802e5476}

In 1.8.10, I see no such warning from the corresponding line:

\subsubsection[{H\+W\+L\+O\+C\+\_\+\+A\+P\+I\+\_\+\+V\+E\+R\+S\+I\+O\+N}]{\setlength{\rightskip}{0pt plus 5cm}\#define H\+W\+L\+O\+C\+\_\+\+A\+P\+I\+\_\+\+V\+E\+R\+S\+I\+O\+N~0x00020000}\label{a00098_ga8f4dfb8eef138af55dd1a0fa802e5476}

Thanks
Brice
Comment 1 albert 2016-03-04 18:25:24 UTC
Can you please attach a (small) self-contained example (source+config file in a tar or zip) that allows me to reproduce the problem?
Comment 2 Brice Goglin 2016-03-04 20:20:30 UTC
Created attachment 323128 [details]
Example to reproduce

Here's a small test case.

tar xfj doxygen-bug.tar.bz2
cd doxygen-bug
doxygen doxygen.cfg
cd doc/latex
pdflatex refman.tex
pdflatex refman.tex (again to fix references and actually get PDF bookmarks)

Then open refman.pdf, go in the index and look at the bookmarks inside 2.1.2, 2.1.3 and 2.2.2. All names there are hwlocfoobar instead of hwloc_foo_bar (function names, function parameter types, enum types).

Regards
Comment 3 Brice Goglin 2016-03-04 20:30:32 UTC
By the way, when I say "go in the index", I mean the PDF summary/index in the left tab in PDF readers such as evince.

I don't mean the summary/index that doxygen puts in the "Contents" section on pages iii and iv, those link names are OK.
Comment 4 albert 2016-03-05 18:47:16 UTC
I've just pushed a proposed patch to github (pull request 454)
Comment 5 albert 2016-03-05 19:41:24 UTC
Pushed a second part to pull request 454 as a proposed fix for bug 762982
Comment 6 Brice Goglin 2016-03-05 20:12:12 UTC
The output is correct with your patch, thanks!
Comment 7 albert 2016-03-13 10:17:15 UTC
Proposed patch code has been integrated in master branch on github
Comment 8 Dimitri van Heesch 2016-09-05 13:46:30 UTC
This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.8.12. 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 (preferably in the form of a self-contained example).