groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Groff] Bug report: interaction between tbl and string variables


From: Ralph Corderoy
Subject: Re: [Groff] Bug report: interaction between tbl and string variables
Date: Tue, 04 Dec 2007 10:11:57 +0000

Hi Larry,

> As can be seen above, the page number is shifted improperly when its
> string name contains numerals.

It's something to do with tbl not correctly copying the whole string
register name into the troff output.  Consider

    $ cat foo.tbl
    .TS
    expand;
    l n .
    one     \*[aaaXbbb]
    two     \*[ccc1ddd]
    .TE
    $
    $ tbl foo.tbl | g 'aaa|bbb|ccc|ddd' | cat -A
    .nr 3w1 \n[3w1]>?\w\[tbl]\*[aaaXbbb]\[tbl]$
    .nr 3tbw1,1 0\w\[tbl]\*[ccc1\[tbl]$
    .nr 3rnw1 \n[3rnw1]>?\w\[tbl]ddd]\[tbl]$
    \&\h'|\n[3cl0]u'one\h'|\n[3cl1]u'^B^C\*[aaaXbbb]^C^B$
    
\&\h'|\n[3cl0]u'two\h'|(\n[3w1]u-\n[3lnw1]u-\n[3rnw1]u/2u+\n[3lnw1]u+\n[3cl1]u-\n[3tbw1,1]u)'\*[ccc1ddd]$
    $

\*[aaaXbbb] is always passed through but \*[ccc1ddd] is split into
\*[ccc1 (no closing bracket) and ddd] when working out widths.  A
similar thing happens with \(z9 and \(9z.

Given tbl is a preprocessor and looks at the text you give to work out
alignment, it's probably not surprising?  I suppose tbl's logic could
become troff logic that was evaluated later, when the contents of string
registers are known.  This would be a change in behaviour though.

Cheers,


Ralph.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]