GNU bug report logs - #64485
"diff -y" broken since yesterday

Previous Next

Package: diffutils;

Reported by: Bruno Haible <bruno <at> clisp.org>

Date: Wed, 5 Jul 2023 17:31:02 UTC

Severity: normal

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#64485: closed ("diff -y" broken since yesterday)
Date: Wed, 05 Jul 2023 17:41:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Wed, 5 Jul 2023 10:40:26 -0700
with message-id <ad3a87e0-3d0e-d18d-4307-f3690ad1b005 <at> cs.ucla.edu>
and subject line Re: [bug-diffutils] bug#64485: "diff -y" broken since yesterday
has caused the debbugs.gnu.org bug report #64485,
regarding "diff -y" broken since yesterday
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
64485: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=64485
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Bruno Haible <bruno <at> clisp.org>
To: bug-diffutils <at> gnu.org
Subject: "diff -y" broken since yesterday
Date: Wed, 05 Jul 2023 19:30:31 +0200
[Message part 3 (text/plain, inline)]
Hi Paul,

I'm trying to understand the meaning of 'in_position' and 'out_position' in
function 'print_half_line'. While doing this, I spotted a bug:

$ cat foo1.txt
a
ab
abc
$ cat foo2.txt
ab
abcd
$ src/diff -t -y foo1.txt foo2.txt
a                                                                <
ab                                                                   ab
abc                                                                |  abcd

This is obviously not how it's intended to be. The attached patch fixes it.
The cause is that in the case of a character of width 1, the assignment

  out_position = in_position;

was lost in commit 05cdf3102ef3fb261db311a3e5d090fb63dbc792 (yesterday).
With this patch, the result is again as it should be:

$ src/diff -t -y foo1.txt foo2.txt
a                                                               <
ab                                                                 ab
abc                                                             |  abcd

The patch also improves comments in this function. So that next time,
I (or anyone else) don't spent 30 minutes to understand the difference
between 'in_position' and 'out_position'.

Bruno


[0001-diff-Fix-diff-y-output.patch (text/x-patch, attachment)]
[Message part 5 (message/rfc822, inline)]
From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Bruno Haible <bruno <at> clisp.org>
Cc: 64485-done <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#64485: "diff -y" broken since yesterday
Date: Wed, 5 Jul 2023 10:40:26 -0700
Thanks, I installed that.


This bug report was last modified 1 year and 321 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.