From owner-freebsd-standards Fri Feb 8 19:10: 4 2002 Delivered-To: freebsd-standards@freebsd.org Received: from descent.robbins.dropbear.id.au (028.b.006.mel.iprimus.net.au [210.50.45.28]) by hub.freebsd.org (Postfix) with ESMTP id 65BED37B417 for ; Fri, 8 Feb 2002 19:09:56 -0800 (PST) Received: (from tim@localhost) by descent.robbins.dropbear.id.au (8.11.6/8.11.6) id g19330H54285; Sat, 9 Feb 2002 14:03:00 +1100 (EST) (envelope-from tim) Date: Sat, 9 Feb 2002 14:02:59 +1100 From: Tim Robbins To: "M. Warner Losh" Cc: freebsd-standards@FreeBSD.ORG, fyre@orbital.wiretapped.net Subject: Re: diff problem Message-ID: <20020209140259.A51448@descent.robbins.dropbear.id.au> Reply-To: fyre@orbital.wiretapped.net Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG GNU diff, from diffutils 2.7 did give a warning before it was locally hacked to pieces. This is the relevant change: diff --show-c-function -ru diffutils-2.7/util.c /usr/src/contrib/diff/util.c --- diffutils-2.7/util.c Sat Oct 1 15:14:15 1994 +++ /usr/src/contrib/diff/util.c Wed Sep 20 13:24:32 2000 @@ -480,7 +485,7 @@ print_1_line (line_flag, line) output_1_line (text, limit, flag_format, line_flag); if ((!line_flag || line_flag[0]) && limit[-1] != '\n') - fprintf (out, "\n\\ No newline at end of file\n"); + fputc ('\n', out); } /* Output a line from TEXT up to LIMIT. Without -t, output verbatim. Commit message for the reverse of this: == revision 1.3 date: 2000/07/24 07:40:02; author: green; state: Exp; lines: +2 -3 Get rid of the stupid bug where diff sticks trash in your generated diff output; there being no trailing newline caused it to bitch and moan and ruin diffs. That's dumb, if I may say so myself. Yes, this file is coming off the vendor branch. It hasn't been updated in 6 years. Approved by: peter == When a file is missing the final newline, GNU diff 2.7 and GNU patch 2.5.4 can reconstruct the file correctly. I have absolutely no idea why we have both version 2.5 and version 2.1 of patch in the tree. 2.5 lives in /usr/src/contrib/patch, 2.1 lives in /usr/src/gnu/usr.bin/patch. Version 2.1 ends up in /usr/bin, version 2.5 is not installed anywhere I can find. IMO patch 2.1 should be installed as 'patch21' or similar, patch 2.5 should be actually installed(!!) and the "stupid bug" patch to GNU diff should be rolled back. I will submit a problem report on this. The standards don't specify what should be done when the file is missing a trailing newline so this isn't really a standards matter. Tim To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message