Bug#819606: Bug#836168: doxygen: Injects unescaped '%' signs into LaTeX source

Andreas Tille tille at debian.org
Wed Aug 31 11:39:14 UTC 2016


Hi Helmut,

On Wed, Aug 31, 2016 at 11:52:56AM +0200, Helmut Grohne wrote:
> 
> I'm not sure that making every Doxygen bug that makes it crash or
> produce invalid output release critical is useful. If pursuing that
> road, one can easily generate a stream of such bugs that makes it
> permanently rc-buggy (e.g. try afl) and we should simply release without
> it.  Would that be a better outcome? If not, we shouldn't file them at
> rc severity and have the consumers (that must know about Doxygen's
> fragility) paper over its bugs. I see that this sounds backwards, but if
> you don't want breakage, it's probably better to move to sphinx.

While admitting that I'm not an doxygen expert and do not really know
about its fragility (so far the packages I maintained were not broken by
doxygen changes) I tend to disagree here.  As far as I can see a bug
that breaks the build of another package is RC - otherwise all those
packages that are broken remain RC buggy and can not be released which
is also the wrong outcome.
 
> Looks like you are patching the wrong function (or maybe too few
> functions). Can you try whether adding the same escape to
> latexEscapePDFString instead of filterLatexString solves your problem?

I can confirm that you are right according to this issue and the
attached patch helps fixing the said problem.  Unfortunately I was
running into a different problem.  I checked the LaTeX output and found
that the following diff will enable building the PDF properly:


# diff -u structcimg__library_1_1CImg.tex.orig structcimg__library_1_1CImg.tex     
--- structcimg__library_1_1CImg.tex.orig        2016-08-31 11:36:13.944519203 +0000
+++ structcimg__library_1_1CImg.tex     2016-08-31 11:34:51.259233203 +0000
@@ -15264,7 +15264,7 @@
 \begin{DoxyParams}{Parameters}
 {\em filename} & Filename, as a C-\/string. \\
 \hline
-{\em colorspace} & Colorspace data field in output file (see \href{http://www.greyc.ensicaen.fr/~regis/Pandore/#documentation}{\tt Pandore file specifications} for more information). \\
+{\em colorspace} & Colorspace data field in output file (see \href{http://www.greyc.ensicaen.fr/~regis/Pandore/\#documentation}{\tt Pandore file specifications} for more information). \\
 \hline
 \end{DoxyParams}
 \index{cimg\+\_\+library\+::\+C\+Img@{cimg\+\_\+library\+::\+C\+Img}!save\+\_\+pandore@{save\+\_\+pandore}}


So it seems that also '#' needs to be escaped in *some* circumstances
but surely not in all.  I hesitate to simply add the '#' to the
characters to be escaped in the attached patch since I'm not convenient
with the doxygen code thus leaving it for your inspection.

Hope this helps

       Andreas.

-- 
http://fam-tille.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix_unescaped_percent.diff
Type: text/x-diff
Size: 980 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/debian-science-maintainers/attachments/20160831/c2326aa3/attachment.diff>


More information about the debian-science-maintainers mailing list