groff
[Top][All Lists]
Advanced

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

Re: [Groff] bug in GNU troff?


From: Ralph Corderoy
Subject: Re: [Groff] bug in GNU troff?
Date: Sat, 20 Jan 2001 19:46:37 +0000

Hi Larry/Werner,

> Werner LEMBERG writes:
> > This gives
> > 
> > a     b
> > aa     bb
> > 
> > which is incorrect.  What is the behaviour of UNIX troff?
> 
> Identical.

This behaviour is correct.  Brian Kernighan has said it's a feature,
not a bug, and that "joe [Ossanna] always insisted on this behavior".

If you look at page 19 of the _Troff User's Guide_ you'll section 9.1
says

    "In the following table, /D/ is the distance from the current
    position on the /input/ line (where a tab or leader was found) to
    the next tab stop...

It goes on to say that for a left tab type the motion is /D/.

Joe and Brian knew this.  The user's guide states it.  And James Clark
must know it too, that's why groff does it.

It can be seen more clearly if the PostScript output of groff is
examined with both a thin and thick preceding character.
Alternatively, here's the ditroff.

    % cat f
    i       x
    .br
    W       x
    .br
    i\c
            x
    .br
    W\c
            x
    .br

    % troff f | g '^[th]'
    ti
    h33220        # 36000 - (width i == 2780)
    tx
    tW
    h26560        # 36000 - (width W == 9440)
    tx
    ti
    h36000        # nothing preceded tab
    tx
    tW
    h36000        # nothing preceded tab
    tx

It seems clear that groff is correct.


Ralph Corderoy.


reply via email to

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