[tex-live] TexLive version of CWEB can't handle strings >1024 characters

Arthur O'Dwyer arthur.j.odwyer at gmail.com
Tue Sep 4 02:53:53 CEST 2012

On Mon, Sep 3, 2012 at 3:12 PM, Norbert Preining <preining at logic.at> wrote:
> Hi Arthur,
>> CWEAVE 3.64 (TeX Live 2009/Debian)
> First of all to make a few things clear:
> - this is a list for the development of TeX Live
> - TeX Live 2012 has been released a few months ago from TUG
> - your question is Debian/Ubuntu specific and should be asked
>   at the appropriate places, which is not here, but some
>   Ubuntu support channel

The only way your statement could be true is if TeX Live doesn't
actually include CWEAVE. I admit it's been a long time since I
installed it, so it's *possible* that I got CWEB from some other
source, rather than from the official TeX Live distribution.

But!  I did some more googling, and found a way to download the
official TeX Live sources:

> rsync -a --delete --exclude=.svn tug.org::tldevsrc/Build/source/ /your/dir/

So I did this, and looked at the macros defined by TeX Live's
distribution of CWEAVE.

ajo at ubuntu:/tmp$ rsync -a --delete --exclude=.svn
tug.org::tldevsrc/Build/source/ ./texlive-2012
ajo at ubuntu:/tmp$ cd texlive-2012/texk/web2c/cwebdir
ajo at ubuntu:/tmp/texlive-2012/texk/web2c/cwebdir$ grep longest_name
cweave.w | head -1
@d longest_name 1000 /* section names and strings shouldn't be longer
than this */

Ah-HA! TeX Live's build of CWEAVE is setting longest_name to 1000.
This is Too Short; it results in garbage output when string literals
exceed 1000 characters. I recommend using Levy & Knuth's original
value of 10000.

Would it be possible for the next patch-release of TexLive to build
CWEAVE with the "longest_name" macro set to at least 3000?

> The next version of TeX Live for Debian is already in Debian sid and
> testing and will be included in the soon to be released Debian stable.
> In Ubuntu it is included in the current dev branch and will be in the 12.10
> release.

I'm not sure how your statement is relevant. I understand that it
could take a long time for any new changes in TeX Live to propagate
down into Ubuntu's package system --- and in particular that I
shouldn't expect upgrading my Ubuntu system to 12.10 to magically fix
the problem --- but that doesn't mean that
> there is nothing else we can do now.
I think I've pointed out a real deficiency in the CWEAVE currently
distributed with TeX Live (a deficiency which does not exist in
Levy/Knuth's original), and in this followup email I've even gone so
far as to pinpoint the exact line in the current TeXLive sources
hosted on tug.org. Tell me where to send the patch, and I'll patch it
for you too. :)

> You could think about installing the TeX Live 2012 backport for Ubuntu
> (please search yourself), or even better, just install the normal
> upstream TeX Live as provided from tug.org.

If this deficiency gets fixed in TeX Live 2013, I'll definitely
consider upgrading to TeX Live 2013. It is *not* fixed in TeX Live
2012, so there's no point in my upgrading yet.


More information about the tex-live mailing list