Bug#840189: dblatex fails in pdflatex: Use of \@xmultirow doesn't match its definition

2016-10-10 Thread ben.guillon

Hi Andreas again,

I've checked and you're right: multirow by itself is no more used, it's  
multirow2 that is used. The changes have been made in 2006:


https://sourceforge.net/p/dblatex/dblatex/ci/bc27ce5770bd70c2d9799e6c30cfb3ffebe379df/tree/latex/misc/multirow2.sty?diff=e8552fb986f46b7d6def8d1a39bfa0c34e63d8af

And the initial bug fix to have \@xmultirow \long is from one of your bug  
report in 2005:


https://sourceforge.net/p/dblatex/mailman/message/2402596/
https://sourceforge.net/p/dblatex/mailman/message/2402609/

I completely forgot those steps! So the patch is what you said: just  
remove the multirow references:


--- a/latex/style/dbk_table.sty Sun Oct 02 23:21:03 2016 +0200
+++ b/latex/style/dbk_table.sty Mon Oct 10 21:31:00 2016 +0200
@@ -9,7 +9,6 @@
 \usepackage{longtable}
 \usepackage{lscape}
 \usepackage{colortbl}
-\usepackage{multirow}
 \usepackage{calc}
 \usepackage{hhline}

@@ -21,16 +20,6 @@
   \expandafter[\expandafter3\expandafter]\expandafter{%
   \multicolumn{#1}{#2}{#3}}

-% Make \@xmultirow long
-\expandafter\long\expandafter\def%
-\expandafter\@xmultirow%
-\expandafter#\expandafter1%
-\expandafter[\expandafter#\expandafter2\expandafter]%
-\expandafter#\expandafter3%
-\expandafter[\expandafter#\expandafter4\expandafter]%
-\expandafter#\expandafter5%
-\expandafter{\@xmultirow{#1}[#2]{#3}[#4]{#5}}
-
 % For the newtbl code
 \newdimen\newtblstarfactor%
 \newdimen\newtblsparewidth%

Regards,
BG

On Mon, 10 Oct 2016 20:42:58 +0200, ben.guillon   
wrote:



Hi Andreas,

The internal macro \@xmultirow is called by \mutirow and is never called  
directly. That's why you dont see any \@xmultirow call in dblatex. This  
macro has been transformed into a \long macro because it fails in some  
cases.


So, for now it is best to apply your quick fix (which is the actual  
fix). I know it is not really good to patch a package like this, but I  
prefer using the current implementation with its improvements and just  
patching it, than providing my own macro.


This said, I will try to retrieve the case that made \@xmultirow fail;  
maybe that the current implementation is now robust to this case. Then  
the \long patching could be removed.


Regards,
BG


Hi Benoît,

is the problematic paragraph labeled "% Make \@xmultirow long" in
dbk_table.sty *needed at all* within current dblatex?  I can't find any
calls of the \@xmultirow macro within dblatex, and after commenting out
the paragraph a DocBook example with a table containing multirows still
is transformed to PDF without errors and looks as expected.

Eliminating this paragraph from dbk_table.sty seems to be cleaner, more
robust and future-proof than my previous hotfix candidate.

What do you think?

Regards, Andreas




Bug#840189: dblatex fails in pdflatex: Use of \@xmultirow doesn't match its definition

2016-10-10 Thread ben.guillon

Hi Andreas,

The internal macro \@xmultirow is called by \mutirow and is never called  
directly. That's why you dont see any \@xmultirow call in dblatex. This  
macro has been transformed into a \long macro because it fails in some  
cases.


So, for now it is best to apply your quick fix (which is the actual fix).  
I know it is not really good to patch a package like this, but I prefer  
using the current implementation with its improvements and just patching  
it, than providing my own macro.


This said, I will try to retrieve the case that made \@xmultirow fail;  
maybe that the current implementation is now robust to this case. Then the  
\long patching could be removed.


Regards,
BG

On Mon, 10 Oct 2016 11:41:02 +0200, Andreas Hoenen  
 wrote:



Andreas Hoenen  wrote:


Andreas Hoenen  wrote:

> Anders Kaseorg  wrote:
>
> > Package: dblatex
> > Version: 0.3.8-1
> > Severity: grave
> >
> > dblatex in sid fails on every document as follows:
>
> Hi Benoît,
>
> I want to notify you about Debian BTS report #840189 [1], indicating
> that dblatex doesn't work together with the new version of  
multirow.sty

> [2]:

Hi Benoît,

the attached hotfix [1] seems to resolve the incompatibility between
dblatex and the new multirow.sty version.

However avoiding to call the \@xmultirow macro if it an internal one
would be a cleaner solution.



Hi Benoît,

is the problematic paragraph labeled "% Make \@xmultirow long" in
dbk_table.sty *needed at all* within current dblatex?  I can't find any
calls of the \@xmultirow macro within dblatex, and after commenting out
the paragraph a DocBook example with a table containing multirows still
is transformed to PDF without errors and looks as expected.

Eliminating this paragraph from dbk_table.sty seems to be cleaner, more
robust and future-proof than my previous hotfix candidate.

What do you think?

Regards, Andreas




Bug#840189: dblatex fails in pdflatex: Use of \@xmultirow doesn't match its definition

2016-10-10 Thread Andreas Hoenen
Andreas Hoenen  wrote:

> Andreas Hoenen  wrote:
>
> > Anders Kaseorg  wrote:
> >
> > > Package: dblatex
> > > Version: 0.3.8-1
> > > Severity: grave
> > >
> > > dblatex in sid fails on every document as follows:
> >
> > Hi Benoît,
> >
> > I want to notify you about Debian BTS report #840189 [1], indicating
> > that dblatex doesn't work together with the new version of multirow.sty
> > [2]:
>
> Hi Benoît,
>
> the attached hotfix [1] seems to resolve the incompatibility between
> dblatex and the new multirow.sty version.
>
> However avoiding to call the \@xmultirow macro if it an internal one
> would be a cleaner solution.
>

Hi Benoît,

is the problematic paragraph labeled "% Make \@xmultirow long" in
dbk_table.sty *needed at all* within current dblatex?  I can't find any
calls of the \@xmultirow macro within dblatex, and after commenting out
the paragraph a DocBook example with a table containing multirows still
is transformed to PDF without errors and looks as expected.

Eliminating this paragraph from dbk_table.sty seems to be cleaner, more
robust and future-proof than my previous hotfix candidate.

What do you think?

Regards, Andreas
-- 
Andreas Hoenen 
GPG: 1024D/B888D2CE
 A4A6 E8B5 593A E89B 496B
 82F0 728D 8B7E B888 D2CE


signature.asc
Description: PGP signature


Processed: Re: Bug#840189: dblatex fails in pdflatex: Use of \@xmultirow doesn't match its definition

2016-10-09 Thread Debian Bug Tracking System
Processing control commands:

> clone -1 -2
Bug #840189 [dblatex] dblatex fails in pdflatex: Use of \@xmultirow doesn't 
match its definition
Bug 840189 cloned as bug 840229
> reassign -2 texlive-latex-extra 2016.20161008-1
Bug #840229 [dblatex] dblatex fails in pdflatex: Use of \@xmultirow doesn't 
match its definition
Bug reassigned from package 'dblatex' to 'texlive-latex-extra'.
No longer marked as found in versions dblatex/0.3.8-1.
Ignoring request to alter fixed versions of bug #840229 to the same values 
previously set
Bug #840229 [texlive-latex-extra] dblatex fails in pdflatex: Use of \@xmultirow 
doesn't match its definition
Marked as found in versions texlive-extra/2016.20161008-1.
> retitle -2 texlive-latex-extra should Breaks: dblatex (<< 0.3.8-2~)
Bug #840229 [texlive-latex-extra] dblatex fails in pdflatex: Use of \@xmultirow 
doesn't match its definition
Changed Bug title to 'texlive-latex-extra should Breaks: dblatex (<< 0.3.8-2~)' 
from 'dblatex fails in pdflatex: Use of \@xmultirow doesn't match its 
definition'.
> severity -2 serious
Bug #840229 [texlive-latex-extra] texlive-latex-extra should Breaks: dblatex 
(<< 0.3.8-2~)
Severity set to 'serious' from 'grave'

-- 
840189: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=840189
840229: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=840229
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



Bug#840189: dblatex fails in pdflatex: Use of \@xmultirow doesn't match its definition

2016-10-09 Thread Anders Kaseorg
Control: clone -1 -2
Control: reassign -2 texlive-latex-extra 2016.20161008-1
Control: retitle -2 texlive-latex-extra should Breaks: dblatex (<< 0.3.8-2~)
Control: severity -2 serious

Although it is not texlive-latex-extra’s fault that dblatex fails with the 
new version, I believe it should not enter testing without declaring this 
Breaks.  If you disagree, feel free to downgrade or close this.

Anders



Bug#840189: dblatex fails in pdflatex: Use of \@xmultirow doesn't match its definition

2016-10-09 Thread Andreas Hoenen
Andreas Hoenen  wrote:

> Anders Kaseorg  wrote:
>
> > Package: dblatex
> > Version: 0.3.8-1
> > Severity: grave
> >
> > dblatex in sid fails on every document as follows:
>
> Hi Benoît,
>
> I want to notify you about Debian BTS report #840189 [1], indicating
> that dblatex doesn't work together with the new version of multirow.sty
> [2]:

Hi Benoît,

the attached hotfix [1] seems to resolve the incompatibility between
dblatex and the new multirow.sty version.

However avoiding to call the \@xmultirow macro if it an internal one
would be a cleaner solution.

What do you think?

[1] Author: Andreas Hoenen 
Description: hotfix for BTS report #840189:
Adapt to signature change of \@xmultirow macro (between texlive-latex-extra
versions 2016.20160819-1 and 2016.20161008-1).
--- a/latex/style/dbk_table.sty
+++ b/latex/style/dbk_table.sty
@@ -24,12 +24,13 @@
 % Make \@xmultirow long
 \expandafter\long\expandafter\def%
 \expandafter\@xmultirow%
-\expandafter#\expandafter1%
-\expandafter[\expandafter#\expandafter2\expandafter]%
-\expandafter#\expandafter3%
-\expandafter[\expandafter#\expandafter4\expandafter]%
-\expandafter#\expandafter5%
-\expandafter{\@xmultirow{#1}[#2]{#3}[#4]{#5}}
+\expandafter[\expandafter#\expandafter1\expandafter]%
+\expandafter#\expandafter2%
+\expandafter[\expandafter#\expandafter3\expandafter]%
+\expandafter#\expandafter4%
+\expandafter[\expandafter#\expandafter5\expandafter]%
+\expandafter#\expandafter6%
+\expandafter{\@xmultirow[#1]{#2}[#3]{#4}[#5]{#6}}
 
 % For the newtbl code
 \newdimen\newtblstarfactor%

Regards, Andreas
-- 
Andreas Hoenen 
GPG: 1024D/B888D2CE
 A4A6 E8B5 593A E89B 496B
 82F0 728D 8B7E B888 D2CE


signature.asc
Description: PGP signature


Bug#840189: dblatex fails in pdflatex: Use of \@xmultirow doesn't match its definition

2016-10-09 Thread Anders Kaseorg
Package: dblatex
Version: 0.3.8-1
Severity: grave

dblatex in sid fails on every document as follows:

$ echo 'Hello, world!' > 
hello.xml
$ dblatex hello.xml
Build the book set list...
Build the listings...
XSLT stylesheets DocBook - LaTeX 2e (0.3.8-1)
===
Build hello.pdf
pdflatex failed
/usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: Use of \@xmultirow 
doesn't match its definition.
/usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: leading text: 
\expandafter{\@xmultirow{
/usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: Missing 
\begin{document}.
/usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: leading text: 
\expandafter{\@xmultirow{#1}[
/usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: You can't use `macro 
parameter character #' in horizontal mode.
/usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: leading text: 
\expandafter{\@xmultirow{#1}[#
/usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: You can't use `macro 
parameter character #' in horizontal mode.
/usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: leading text: 
\expandafter{\@xmultirow{#1}[#2]{#
/usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: You can't use `macro 
parameter character #' in horizontal mode.
/usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: leading text: 
\expandafter{\@xmultirow{#1}[#2]{#3}[#
/usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: You can't use `macro 
parameter character #' in horizontal mode.
/usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: leading text: 
\expandafter{\@xmultirow{#1}[#2]{#3}[#4]{#
/usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: Too many }'s.
/usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: leading text: 
\expandafter{\@xmultirow{#1}[#2]{#3}[#4]{#5}}
Unexpected error occured
Error: pdflatex compilation failed

This causes openafs to FTBFS.

The problem seems to have been triggered by texlive-latex-extra 
2016.20161008-1, whose multirow.sty has a different \@xmultirow macro that 
takes six arguments rather than five.  Downgrading to texlive-latex-extra 
2016.20160819-1 from stretch makes the problem goes away.

Since \@xmultirow is a private internal macro, dblatex should not rely on 
it.