GNU bug report logs -
#61193
'-D' option of diff 3.9 - #ifdef directives missing
Previous Next
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
[Message part 1 (text/plain, inline)]
Your message dated Fri, 10 Feb 2023 15:47:53 -0800
with message-id <1af2b347-5375-8cb3-edd8-a78da2239067 <at> cs.ucla.edu>
and subject line Re: [bug-diffutils] bug#61193: '-D' option of diff 3.9 - #ifdef directives missing
has caused the debbugs.gnu.org bug report #61193,
regarding '-D' option of diff 3.9 - #ifdef directives missing
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> 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)]
[Message part 3 (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 4 (text/html, inline)]
[Message part 5 (message/rfc822, inline)]
[Message part 6 (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)]
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.