Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.utils.bug > #2184

Diff doesn't properly ignore whitespace for this input

Path csiph.com!aioe.org!news.glorb.com!usenet.stanford.edu!not-for-mail
From Tyler Bletsch <tkbletsc@ncsu.edu>
Newsgroups gnu.utils.bug
Subject Diff doesn't properly ignore whitespace for this input
Date Tue, 14 Jul 2015 15:01:28 -0400
Lines 57
Approved bug-gnu-utils@gnu.org
Message-ID <mailman.6949.1436953025.904.bug-gnu-utils@gnu.org> (permalink)
NNTP-Posting-Host lists.gnu.org
Mime-Version 1.0
Content-Type text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding 7bit
X-Trace usenet.stanford.edu 1436953026 2216 208.118.235.17 (15 Jul 2015 09:37:06 GMT)
X-Complaints-To action@cs.stanford.edu
To bug-gnu-utils@gnu.org
Envelope-to bug-gnu-utils@gnu.org
X-Google-DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :subject:content-type:content-transfer-encoding; bh=vmLzw4bOOxz9CeD9rXqopGxI92Jrb8HJYWcrjANgasw=; b=i/Gk+9aFhfIi+R/kjmcoe2+pxg5DDfSMsoe9JVnou3H2DtGhS3CQ7XRFtYRnwxj0M9 syTdukSPIXazizQH4LpSs1LsPZdb9N4Nkd4MzwbY9dpSctIWvX+JvUw5lHmg0gIsu8V2 s0MGEutTRqjfaW/rmfBIzUd8spxDx+IaqLjjoNVaB48ZcovJkZn0ERz7Z/xsIZTYwVm/ DTn04NIAIENhNEYE+6hFT7k0bLCAeixVvoBPjjVR/zSeK2ff/IUF2z7cPPQjbOE6It72 c8RjhatMIGGjKgXkS3/nHxLmFc8su/7QuN/wrUMwd56irCxijptli2OcRzCUkIjcNXIU vR3g==
X-Gm-Message-State ALoCoQn85biTmEwmppLw9uM6pKdT+crU7NSzMomzspD2U0r8NNDmvEb5Bj6zjeyx+JLO3WsqMLEv
X-Received by 10.170.47.197 with SMTP id 188mr185111ykp.62.1436900489704; Tue, 14 Jul 2015 12:01:29 -0700 (PDT)
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0
X-detected-operating-system by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy]
X-Received-From 209.85.160.177
X-Mailman-Approved-At Wed, 15 Jul 2015 05:37:05 -0400
X-BeenThere bug-gnu-utils@gnu.org
X-Mailman-Version 2.1.14
Precedence list
List-Id Bug reports for the GNU utilities <bug-gnu-utils.gnu.org>
List-Unsubscribe <https://lists.gnu.org/mailman/options/bug-gnu-utils>, <mailto:bug-gnu-utils-request@gnu.org?subject=unsubscribe>
List-Archive <http://lists.gnu.org/archive/html/bug-gnu-utils>
List-Post <mailto:bug-gnu-utils@gnu.org>
List-Help <mailto:bug-gnu-utils-request@gnu.org?subject=help>
List-Subscribe <https://lists.gnu.org/mailman/listinfo/bug-gnu-utils>, <mailto:bug-gnu-utils-request@gnu.org?subject=subscribe>
Xref aioe.org gnu.utils.bug:2184

Show key headers only | View raw


I believe I've found a bug in diff's handling of "ignore whitespace" 
mode. I have two test files that differ only in whitespace and newlines; 
I've verified this using a separate tool (WinMerge) plus doing a diff on 
the files after doing s/\s*/ / on the whole file. When I ask for the 
diff using "-wb", it reports a spurious difference only in whitespace if 
I give the arguments in one order, but correctly reports no differences 
if I give it the reverse order.  Further, I get consistently correct 
behavior if I add the "-d" option.

Example:

$ diff -wB in1.txt in2.txt
3946c4201,4203
< Exits:
---
 >
 >
 > Exits:
$ diff -wB in2.txt in1.txt
$ diff -dwB in1.txt in2.txt
$ diff -dwB in2.txt in1.txt

This came up while using diff to automatically grade a text adventure 
I'm having students do in my class -- this is the ONLY file pair out of 
over 3000 that appears to exhibit the problem. This leads me to believe 
that it must be a fairly rare issue. I'm fixing it on my end by always 
using -d, but I think this should be classified as a bug, because it 
reports a non-whitespace difference in files where none exists.

I'm not sure if this mailing list allows attachments, so I've put the 
files in question here:

https://dl.dropboxusercontent.com/u/68643317/diff-bug-test-files.zip

I tried paring the files down to just demonstrate the bug and nothing 
else, but the behavior would seemingly go away at random as I removed 
content from the files. Therefore, I'm including the files in their 
original form. The files represent test output of the text adventure, 
specifically navigation of the default world from the ROM 2.4b6 MUD 
(after having been converted to a format for my class's assignment). 
This content is safe to share.

I've confirmed that this behavior is present in the following builds of 
diff:
- diff (GNU diffutils) 2.8.1 on Red Hat Enterprise Linux Server release 
6.5 (Santiago)
- diff (GNU diffutils) 3.2 on Ubuntu 12.04.4 LTS
- diff (GNU diffutils) 2.9 on Cygwin 32-bit (Windows 7 x64)

Let me know if there's any further information I can provide that might 
assist. Thanks for producing quality utilities used the world over!

Regards,
Dr. Tyler Bletsch
Adjunct Professor, NC State University

Back to gnu.utils.bug | Previous | Next | Find similar


Thread

Diff doesn't properly ignore whitespace for this input Tyler Bletsch <tkbletsc@ncsu.edu> - 2015-07-14 15:01 -0400

csiph-web