GNU bug report logs - #61193
'-D' option of diff 3.9 - #ifdef directives missing

Previous Next

Package: diffutils;

Reported by: Robert Webb <ro.webbdg <at> gmail.com>

Date: Tue, 31 Jan 2023 05:37:03 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: Robert Webb <ro.webbdg <at> gmail.com>
Subject: bug#61193: closed (Re: [bug-diffutils] bug#61193: '-D' option of
 diff 3.9 - #ifdef directives missing)
Date: Fri, 10 Feb 2023 23:49:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#61193: '-D' option of diff 3.9 - #ifdef directives missing

which was filed against the diffutils package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 61193 <at> debbugs.gnu.org.

-- 
61193: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=61193
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Robert Webb <ro.webbdg <at> gmail.com>
Cc: 61193-done <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#61193: '-D' option of diff 3.9 - #ifdef
 directives missing
Date: Fri, 10 Feb 2023 15:47:53 -0800
[Message part 3 (text/plain, inline)]
Thanks for the bug report and test case. This is due to a "sizeof 
sizeof" typo I introduced in diff 3.9; sorry about that. I installed the 
attached to fix things and add a regression test.
[0001-diff-fix-bug-where-D-does-not-work.patch (text/x-patch, attachment)]
[Message part 5 (message/rfc822, inline)]
From: Robert Webb <ro.webbdg <at> gmail.com>
To: bug-diffutils <at> gnu.org
Subject: '-D' option of diff 3.9 - #ifdef directives missing
Date: Mon, 30 Jan 2023 19:02:43 -0800
[Message part 6 (text/plain, inline)]
Hi,
The merged output from 'diff -D' (v3.9) is missing the '#ifdef'
directives.  A test script and logs from runs with two versions of diff,
one not working, and the second older one working, follows.

-------------------------------------------------------------------------
#!/bin/sh
# diff_ifdef_example.sh   2023-01-30   rw
#
# The -D option (--ifdef) of 'diff' version 3.9 does not work correctly.
# The '#ifdef' directives are not included in the merged output.

diff -v |grep diff
seq 5 > c
for OPT in '' '-D ZZZ' '-u'  ;do
  printf '\n=== diff %s\n' "$OPT"
  sed 2,3d c  |diff $OPT c -
  done

-------------------------------------------------------------------------
openSUSE Tumbleweed 20230129
diff (GNU diffutils) 3.9

=== diff
2,3d1
< 2
< 3

=== diff -D ZZZ
1
2
3
4
5

=== diff -u
--- c 2023-01-30 16:29:06.165608569 -0800
+++ - 2023-01-30 16:29:06.188398585 -0800
@@ -1,5 +1,3 @@
 1
-2
-3
 4
 5

-------------------------------------------------------------------------
openSUSE Tumbleweed 20220312
diff (GNU diffutils) 3.8

=== diff
2,3d1
< 2
< 3

=== diff -D ZZZ
1
#ifndef ZZZ
2
3
#endif /* ! ZZZ */
4
5

=== diff -u
--- c 2023-01-30 16:32:59.516569839 -0800
+++ - 2023-01-30 16:32:59.529462800 -0800
@@ -1,5 +1,3 @@
 1
-2
-3
 4
 5

-- 
Robert Webb
[Message part 7 (text/html, inline)]

This bug report was last modified 2 years and 160 days ago.

Previous Next


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