diff options
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | src/seq.c | 2 | ||||
-rwxr-xr-x | tests/misc/seq.pl | 4 |
3 files changed, 10 insertions, 0 deletions
@@ -51,6 +51,10 @@ GNU coreutils NEWS -*- outline -*- the output numbers are properly aligned and of the correct width. [This bug was present in "the beginning".] + seq -w ensures correct alignment when the step value includes a precision + while the start value does not, and the number sequence narrows. + [This bug was present in "the beginning".] + seq -s no longer prints an erroneous newline after the first number, and outputs a newline after the last number rather than a trailing separator. [bug introduced in coreutils-8.20] @@ -336,6 +336,8 @@ get_default_format (operand first, operand step, operand last) last_width--; /* don't include space for '.' */ if (last.precision == 0 && prec) last_width++; /* include space for '.' */ + if (first.precision == 0 && prec) + first_width++; /* include space for '.' */ size_t width = MAX (first_width, last_width); if (width <= INT_MAX) { diff --git a/tests/misc/seq.pl b/tests/misc/seq.pl index 40a75714d..64c62b2bc 100755 --- a/tests/misc/seq.pl +++ b/tests/misc/seq.pl @@ -77,6 +77,10 @@ my @Tests = ['eq-wid-11',qw(-w -1.e-3 1), {OUT => [qw(-0.001 00.999)]}], ['eq-wid-12',qw(-w -1.0e-4 1), {OUT => [qw(-0.00010 00.99990)]}], ['eq-wid-13',qw(-w 999 1e3), {OUT => [qw(0999 1000)]}], + # Prior to 8.21, if the start value hadn't a precision, while step did, + # then misalignment would occur if the sequence narrowed. + ['eq-wid-14',qw(-w -1 1.0 0), {OUT => [qw(-1.0 00.0)]}], + ['eq-wid-15',qw(-w 10 -.1 9.9), {OUT => [qw(10.0 09.9)]}], # Prior to coreutils-4.5.11, some of these were not accepted. ['fmt-1', qw(-f %2.1f 1.5 .5 2),{OUT => [qw(1.5 2.0)]}], |