Subject: Re: replacement for bc(1), dc(1), diff(1), and diff(3)
To: Phil Nelson <email@example.com>
From: Otto Moerbeek <firstname.lastname@example.org>
Date: 03/27/2005 21:54:43
On Sun, 27 Mar 2005, Phil Nelson wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> On Sunday 27 March 2005 07:24, Phil Nelson wrote:
> > On Sunday 27 March 2005 04:11, you wrote:
> > > That's 68 digits, a backslash and 3 digits.
> > > Line lenght is 69
> > You are right. GNU bc is wrong.
> Well, after thinking about this for a while, I went back to the ChangeLog and
> found a change in March of 1995 where I changed the line length to 68
> numbers, the backslash and then the linefeed for a total of 70 characters. I
> was convinced by someone else that POSIX line lengths include the linefeed.
> My first implementation did it the same way that your bc does it.
Note that your dc and bc do not agree (I know that POSIX says nothing
about dc, but I'd expect the two to behave the same):
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
om@xs3:~$ dc # this is GNU dc
10 70 ^p
Apart form the question whether line feeds should be counter or not,
there's this corner case:
10 69 ^p
10 69 ^p
In other words, should a number of exactly line max length be printed with
a line continuation or not? Seems kinda silly to have a line continuation
if what follows is only 1 extra char.