Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Troff and friends

12 views
Skip to first unread message

Charles Lindsey

unread,
Nov 19, 2008, 10:14:08 AM11/19/08
to
I am sure that nobody has seriously tried to change the code of the troff
family of programs since forever. And I grant you that they are little
used, except for ancient applications and niche usages, such as man pages
and RFCs (though they do have their uses, as in my case, for providing
decent output formatting for application programs - not easy to discover
how to pipe your output into Word or its clones). And for sure they were
ugly as hell.

And they weren't broke, so why fix them?

BUT, for modern-day usage, they ARE broke, since they were written for the
days when even 680000 bytes of memory was more than was usually available.

So I found that 'tbl' was giving strange results, and eventually
discovered that it has a builtin limit of 200 lines in any one table (it
declares arrays of that size, and produces no diagnostic complaint - just
bad formatting - if that limit is exceeded).

The solution was simple. The source is available from opensolaris.org, so
simply change

#define MAXLIN 200
to
#define MAXLIN 2000

and recompile. Problem solved!

But why has noone done this before? Why is this ridiculous limit still in
Solaris 10, (or indeed in anything since about Solaris 2.3)? And what
other such limits are there that ought to be increased in this day and age?

And what is the proper channel through which to cause this to happen in
future releases?

--
Charles H. Lindsey ---------At Home, doing my own thing------------------------
Tel: +44 161 436 6131 Fax: +44 161 436 6133 Web: http://www.cs.man.ac.uk/~chl
Email: c...@clerew.man.ac.uk Snail: 5 Clerewood Ave, CHEADLE, SK8 3JU, U.K.
PGP: 2C15F1A9 Fingerprint: 73 6D C2 51 93 A0 01 E7 65 E8 64 7E 14 A4 AB A5

Darren Dunham

unread,
Nov 19, 2008, 12:52:58 PM11/19/08
to
Charles Lindsey <c...@clerew.man.ac.uk> wrote:
> And what is the proper channel through which to cause this to happen in
> future releases?

Since you got the source there, file a bug at opensolaris.org. Any
changes there will wind their way back into future versions of Solaris.

No one's going to produce a patch for existing Solaris unless contract
customers request it.

--
Darren

Tim Bradshaw

unread,
Nov 19, 2008, 3:34:29 PM11/19/08
to
On Nov 19, 3:14 pm, "Charles Lindsey" <c...@clerew.man.ac.uk> wrote:

> But why has noone done this before? Why is this ridiculous limit still in
> Solaris 10, (or indeed in anything since about Solaris 2.3)? And what
> other such limits are there that ought to be increased in this day and age?

I'm guessing because no one (who was paying for support) has come
across these limits, until you.

Andrew Gabriel

unread,
Nov 19, 2008, 8:19:32 PM11/19/08
to
In article <f95de8c4-9229-47e5...@e12g2000yqm.googlegroups.com>,

The most recent versions of the Documenters Workbench Tools
are to be found in Plan 9 (except picasso). A number of years ago,
I did wonder about refreshing the Solaris versions from there.
One of them had been changed to use Plan 9's native i/o functions,
but the others were still using stdio at the time (but may have
changed since then). The initial motivation for this was that
Solaris is missing grap(1) (which came with Documenters Workbench).
grap(1) is used internally in Sun but the original DWB source for
it was nowhere to be found anymore, and there was no x86 binary
around. It was possible to use the grap(1) binary from Interactive
UNIX on Solaris under the iBCS compatibility system, but that no
longer exists.

--
Andrew Gabriel
[email address is not usable -- followup in the newsgroup]

Rich Teer

unread,
Nov 20, 2008, 11:28:56 AM11/20/08
to
On Wed, 19 Nov 2008, Charles Lindsey wrote:

> But why has noone done this before? Why is this ridiculous limit still in
> Solaris 10, (or indeed in anything since about Solaris 2.3)? And what
> other such limits are there that ought to be increased in this day and age?

I don't know if groff and co have eliminated this problem, but I don't
recall being bitten by arbitrary limits when I was writing Solaris
Systems Programming.

> And what is the proper channel through which to cause this to happen in
> future releases?

File a bug and your proposed fix at bugs.opensolaris.org.

--
Rich Teer, SCSA, SCNA, SCSECA

CEO,
My Online Home Inventory

URLs: http://www.rite-group.com/rich
http://www.linkedin.com/in/richteer
http://www.myonlinehomeinventory.com

Charles Lindsey

unread,
Nov 20, 2008, 9:03:09 AM11/20/08
to

I had a look at the source of tbl in Plan 9, but they have only increased
MAXLIN from 200 to 250, which is a purely cosmetic change. But yes, it
might be worth adopting some of their other changes

Andrew Gabriel

unread,
Nov 20, 2008, 9:20:05 PM11/20/08
to
In article <Pine.SOL.4.64.0811200827010.3220@marrakesh>,

Rich Teer <rich...@rite-group.com> writes:
> On Wed, 19 Nov 2008, Charles Lindsey wrote:
>
>> But why has noone done this before? Why is this ridiculous limit still in
>> Solaris 10, (or indeed in anything since about Solaris 2.3)? And what
>> other such limits are there that ought to be increased in this day and age?
>
> I don't know if groff and co have eliminated this problem, but I don't
> recall being bitten by arbitrary limits when I was writing Solaris
> Systems Programming.

groff and co are not compatible enough with the proper Documenters
Workbench tools. I'm afraid this is one of those cases where 100%
compatibility is pretty essential, including most of the bugs, and
you can't get that by reimplementing from the user manuals.

0 new messages