1170754Sdelphij2004-04-13  Paul Eggert  <eggert@twinsun.com>
2170754Sdelphij
3170754Sdelphij	* NEWS, configure.ac (AC_INIT): Version 2.8.7.
4170754Sdelphij	* configure.ac (AM_GNU_GETTEXT_VERSION): Add.
5170754Sdelphij	(XGETTEXT): Restore from pre-2004-04-12 version.  This fixes
6170754Sdelphij	a bug that lost many msgids in doc/diffutils.pot.
7170754Sdelphij	* bootstrap: New file.
8170754Sdelphij	* exgettext: Don't generate a temporary file, as this runs afoul
9170754Sdelphij	of "make distcheck" which operates with read-only directories.
10170754Sdelphij	* Makefile.am (EXTRA_DIST): Add bootstrap.
11170754Sdelphij	Remove config/config.rpath as it is deduced automatically these days.
12170754Sdelphij
13170754Sdelphij2004-04-12  Paul Eggert  <eggert@twinsun.com>
14170754Sdelphij
15170754Sdelphij	* NEWS, configure.ac (AC_INIT): Version 2.8.6.
16170754Sdelphij
17170754Sdelphij	* NEWS: Add news for 2.8.4, 2.8.6.
18170754Sdelphij
19170754Sdelphij	* README: Move copyright notice to end.  Defer to "configure
20170754Sdelphij	--help" for special "configure" options.  Suggest latest libiconv.
21170754Sdelphij	Update version numbers of Autoconf etc. to current.
22170754Sdelphij
23170754Sdelphij	* configure.ac: Quote various arguments better.
24170754Sdelphij	(AC_CONFIG_MACRO_DIR): Add call, specifying "m4".
25170754Sdelphij	(AC_CONFIG_HEADER): Replaces AM_CONFIG_HEADER.
26170754Sdelphij	(gl_USE_SYSTEM_EXTENSIONS): Replaces AC_GNU_SOURCE.
27170754Sdelphij	(AC_ISC_POSIX): Remove; nobody ports to ancient ISC any more.
28170754Sdelphij	(AC_PROG_CPP, AC_PROG_INSTALL, AC_C_INLINE,
29170754Sdelphij	AC_HEADER_STDBOOL, AC_HEADER_STDC, AM_GNU_GETTEXT, XGETTEXT,
30170754Sdelphij	AC_HEADER_STAT, AC_FUNC_VPRINTF, jm_FUNC_GLIBC_UNLOCKED_IO,
31170754Sdelphij	jm_FUNC_GNU_STRFTIME, jm_FUNC_MALLOC, jm_FUNC_REALLOC,
32170754Sdelphij	jm_PREREQ_C_STACK, jm_PREREQ_ERROR, jm_PREREQ_HARD_LOCALE,
33170754Sdelphij	jm_PREREQ_QUOTEARG, jm_PREREQ_REGEX, AC_FUNC_FNMATCH_GNU, jm_AC_DOS):
34170754Sdelphij	Remove; not needed here, as our files don't use them directly
35170754Sdelphij	or we rely on gnulib modules.
36170754Sdelphij	(AC_C_CONST): Remove; we assume C89 now.
37170754Sdelphij	(AC_CHECK_HEADERS): Remove libintl.h, limits.h, stdlib.h, string.h,
38170754Sdelphij	time.h.
39170754Sdelphij	(AC_CHECK_TYPE): Remove ptrdiff_t, ssize_t.
40170754Sdelphij	(AC_CHECK_FUNCS): Remove diraccess, strchr, strerror, tmpnam).
41170754Sdelphij	(AC_REPLACE_FUNCS): Remove memchr, mkstemp, strcasecmp.
42170754Sdelphij	(GNULIB_AUTOCONF_SNIPPET): Add call.  This replaces much of
43170754Sdelphij	the above.
44170754Sdelphij	(AC_CONFIG_FILES): Remove lib/posix/Makefile.
45170754Sdelphij	(AC_CONFIG_COMMANDS): Remove.
46170754Sdelphij	
47170754Sdelphij	* doc/diff.texi (dircategory): Change to "Text creation and
48170754Sdelphij	manipulation" from "GNU packages".
49170754Sdelphij	(Translations): New node.
50170754Sdelphij	(Overview): Improve quality of algorithm citations.
51170754Sdelphij	(Binary): -q doesn't exactly cause diff to assume files are binary.
52170754Sdelphij	(Normal): Place after Side by Side, since it's less important.
53170754Sdelphij	(Detailed Context, Detailed Unified, Detailed ed,
54170754Sdelphij	Detailed if-then-else, diff3 Hunks, Detailed diff3 Normal):
55170754Sdelphij	Place at end of menu.
56170754Sdelphij	(Detailed Unified): Mention that fractional timestamps are
57170754Sdelphij	omitted on hosts that don't support them.
58170754Sdelphij	Mention what happens when hunks contain just one line.
59170754Sdelphij	(Line Group Formats, Reject Names): Fix duplicate-word typos.
60170754Sdelphij	(Comparing Directories): Trailing white space and empty lines are
61170754Sdelphij	ignored in the -X file.
62170754Sdelphij	(diff Options): Add --strip-trailing-cr.
63170754Sdelphij	(Projects): gnu -> gvc@gnu.org.
64170754Sdelphij
65170754Sdelphij	* lib/Makefile.am (SUBDIRS): Remove.
66170754Sdelphij	(EXTRA_DIST, noinst_HEADERS): Remove most entries.
67170754Sdelphij	(libdiffutils_a_SOURCES): Now just lib_SOURCES.
68170754Sdelphij	(lib_SOURCES): New macro.
69170754Sdelphij	(DISTCLEANFILES, MOSTLYCLEANFILES): Set to empty now.
70170754Sdelphij	(gnulib.mk): Include: this does most of the work eliminated
71170754Sdelphij	by the above changes.
72170754Sdelphij
73170754Sdelphij	* lib/inttostr.c (inttostr): Protect i < 0 by compile-time
74170754Sdelphij	test intended to suppress compiler warnings.
75170754Sdelphij	* lib/inttostr.h: Include limits.h unilaterally.
76170754Sdelphij	(CHAR_BIT): Remove.
77170754Sdelphij	(PARAMS): Remove; all uses changed.
78170754Sdelphij	* lib/setmode.c (__attribute__): New macro.
79170754Sdelphij	(set_binary_mode): Define only if HAVE_SETMODE_DOS.
80170754Sdelphij	Otherwise define a dummy static char, as C89 requires
81170754Sdelphij	that we define something.
82170754Sdelphij	* lib/setmode.h (set_binary_mode): Return true, not 1.
83170754Sdelphij
84170754Sdelphij	* src/analyze.c, src/context.c, src/diff.c, src/io.c, src/util.c:
85170754Sdelphij	Do not include regex.h, as diff.h does this now.
86170754Sdelphij
87170754Sdelphij	* src/cmp.c: Sort includes.  Include <exit.h>, <unlocked-io.h>.
88170754Sdelphij	(specify_comparison_type): Don't report an error if the comparison
89170754Sdelphij	type has already been specified the same way as this one.
90170754Sdelphij
91170754Sdelphij	* src/cmp.c (usage): Mention exit status.
92170754Sdelphij	* src/diff.c (option_help_msgid): Likewise.
93170754Sdelphij	* src/diff3.c (usage): Likewise.
94170754Sdelphij	* src/sdiff.c (usage): Likewise.
95170754Sdelphij
96170754Sdelphij	* src/cmp.c (main): Adjust to latest gnulib c_stack_action
97170754Sdelphij	calling conventions.
98170754Sdelphij	* src/diff.c (main): Likewise.
99170754Sdelphij	* src/diff3.c (main): Likewise.
100170754Sdelphij	* src/sdiff.c (main): Likewise.
101170754Sdelphij
102170754Sdelphij	* src/cmp.c (main): Adjust to latest version_etc calling conventions.
103170754Sdelphij	* src/diff.c (main): Likewise.
104170754Sdelphij	* src/diff3.c (main): Likewise.
105170754Sdelphij	* src/sdiff.c (main): Likewise.
106170754Sdelphij
107170754Sdelphij	* src/diff.c: Include <exit.h>.
108170754Sdelphij	(binary): Define to true if not declared.
109170754Sdelphij	(longopts): Set tabsize flag to 1.
110170754Sdelphij	(main): Don't output nanoseconds if platform lacks them.
111170754Sdelphij	Don't treat files as binary if !binary.
112170754Sdelphij	(set_mtime_to_now): Use 0, not NULL.
113170754Sdelphij	(compare_files): Mark files as nonexistent if it looks like
114170754Sdelphij	'patch' created inaccessible regular empty files to denote
115170754Sdelphij	nonexistent backups.  Don't compare such files.
116170754Sdelphij	Clear st_* members of status of	nonexistent file.
117170754Sdelphij	Remove now-unnecessary tests.
118170754Sdelphij
119170754Sdelphij	* src/diff.h: Include regex.h, unlocked-io.h.
120170754Sdelphij	(struct file_data.changed): Now char *, not bool *, to save
121170754Sdelphij	space on hosts where bool takes more space than char.
122170754Sdelphij	All uses changed.
123170754Sdelphij
124170754Sdelphij	* src/diff3.c: Include unlocked-io.h.
125170754Sdelphij	(strip_trailing_cr): New var.
126170754Sdelphij	(STRIP_TRAILING_CR_OPTION): New enum.
127170754Sdelphij	(longopts, main, option_help_msgid, read_diff):
128170754Sdelphij	Add --strip-trailing-cr support.
129170754Sdelphij	(read_diff): Exit with status 126 (not 127) if errno != ENOENT
130170754Sdelphij	after failed execvp in child.  Report this in parent.
131170754Sdelphij
132170754Sdelphij	* src/dir.c: Include <strcase.h>.
133170754Sdelphij	(failed_locale_specific_sorting): Renamed from failed_strcoll.
134170754Sdelphij	All uses changed.
135170754Sdelphij	(compare_names): Don't invoke strcasecmp first thing when
136170754Sdelphij	ignore_file_name_case; if locale_specific_sorting, we should
137170754Sdelphij	just use that.
138170754Sdelphij
139170754Sdelphij	* src/ifdef.c (next_line): Remove; replace with...
140170754Sdelphij	(next_line0, next_line1): New vars.
141170754Sdelphij	(print_ifdef_script, print_ifdef_hunk):
142170754Sdelphij	Use them to fix line-number computation bug.
143170754Sdelphij
144170754Sdelphij	* src/io.c (find_and_hash_each_line): Don't convert char *
145170754Sdelphij	to unsigned char *; just leave pointers as char *.  This
146170754Sdelphij	lessens the number of potentially-dangerous casts.
147170754Sdelphij	* src/util.c (lines_differ): Likewise.
148170754Sdelphij
149170754Sdelphij	* src/sdiff.c: Include <unlocked-io.h>, <exit.h>.
150170754Sdelphij	(check_child_status): Renamed from ck_editor_status, and
151170754Sdelphij	accept a new arg MAX_OK_STATUS.  All callers changed.
152170754Sdelphij	Handle status 126/127 as per POSIX.
153170754Sdelphij	(edit): Likewise.
154170754Sdelphij	(main): Likewise.  Fix getopt typo: -E wasn't supported.
155170754Sdelphij
156170754Sdelphij	* src/system.h (S_IRWXU, S_IRWXG, S_IRWXO): Define if not defined.
157170754Sdelphij	(S_IXUSR, S_IXGRP, S_IXOTH): Remove.
158170754Sdelphij	Include <time.h> unconditionally, since we can assume C89 now.
159170754Sdelphij	Likewise for <stdlib.h>, <string.h>.
160170754Sdelphij	(getenv, EXIT_SUCCESS, EXIT_FAILURE, SSIZE_MAX, strchr, strrchr,
161170754Sdelphij	memcmp, memcpy): Remove decl; no longer needed.
162170754Sdelphij	(strcasecoll, strcasecmp): Define if not built in.
163170754Sdelphij	(CTYPE_DOMAIN, ISPRINT, ISSPACE, TOLOWER, _tolower, errno): Remove;
164170754Sdelphij	we now assume C89 or better.  All uses changed.
165170754Sdelphij	Include <stdbool.h> unconditionally now, since gnulib supports it
166170754Sdelphij	if the C compiler doesn't.  All boolean uses of 0 and 1 now
167170754Sdelphij	changed to false and true.
168170754Sdelphij	(lin_is_printable_as_long_int): Renamed from lin_is_printable_as_long.
169170754Sdelphij
170170754Sdelphij	* src/util.c (begin_output): Fix bug: 0 wasn't cast to char * arg,
171170754Sdelphij	which led to undefined behavior on 64-bit hosts.
172170754Sdelphij	Use more-standard test for exit status 126 versus 127.
173170754Sdelphij	(finish_output): Likewise.
174170754Sdelphij	(analyze_hunk): Do not cast bool to int.
175170754Sdelphij
176170754Sdelphij2004-03-15  Paul Eggert  <eggert@twinsun.com>
177170754Sdelphij
178170754Sdelphij	* src/cmp.c (main): Don't consider two files with the same name to
179170754Sdelphij	be the same, if their initial skip values differ.  This fixes a
180170754Sdelphij	bug reported by Hideki Iwamoto in
181170754Sdelphij	<http://mail.gnu.org/archive/html/bug-gnu-utils/2004-03/msg00024.html>.
182170754Sdelphij
183170754Sdelphij2004-03-11  Paul Eggert  <eggert@twinsun.com>
184170754Sdelphij
185170754Sdelphij	* src/analyze.c (diag): Return void, not lin, since the return
186170754Sdelphij	value wasn't needed.  All callers changed.
187170754Sdelphij	(diag, diff_2_files):
188170754Sdelphij	Use 'true' and 'false' instead of '1' and '0', when appropriate.
189170754Sdelphij	(compareseq): Use lin const * local variables instead of lin *.
190170754Sdelphij	Don't bother checking diag's return value.
191170754Sdelphij	(shift_boundaries, build_reverse_script, build_script, diff_2_files):
192170754Sdelphij	Use char arrays, not bool arrays, since
193170754Sdelphij	sizeof (bool) might be greater than 1.
194170754Sdelphij
195170754Sdelphij2004-02-09  Paul Eggert  <eggert@twinsun.com>
196170754Sdelphij
197170754Sdelphij	* m4/setmode.m4 (AC_FUNC_SETMODE_DOS): AC_LIBOBJ(setmode) if
198170754Sdelphij	we would return true.
199170754Sdelphij
200170754Sdelphij2002-10-14  Paul Eggert  <eggert@twinsun.com>
201170754Sdelphij
202170754Sdelphij	* src/Makefile.am (diff3.$(OBJEXT), diff.$(OBJEXT),
203170754Sdelphij	sdiff.$(OBJEXT)): Rename from (misspelled) diff3.$(OBJECT),
204170754Sdelphij	diff.$(OBJECT), sdiff.$(OBJECT).  Patch by Paul D. Smith in
205170754Sdelphij	<http://mail.gnu.org/pipermail/bug-gnu-utils/2002-October/003251.html>.
206170754Sdelphij	Bug reported by Chris Bainbridge.
207170754Sdelphij
208170754Sdelphij2002-10-13  Paul Eggert  <eggert@twinsun.com>
209170754Sdelphij
210170754Sdelphij	* src/Makefile.am (MOSTLYCLEANFILES): Add paths.ht.
211170754Sdelphij	(paths.h): Send output to paths.ht first, and then rename to
212170754Sdelphij	paths.h at the end.  This avoids problems if the disk is full.
213170754Sdelphij	It also works around what appears to be a bug with GNU make -j
214170754Sdelphij	(3.79.1); see <http://bugs.gentoo.org/show_bug.cgi?id=8934>.
215170754Sdelphij
216170754Sdelphij2002-06-27  Paul Eggert  <eggert@twinsun.com>
217170754Sdelphij
218170754Sdelphij	* NEWS, configure.ac (AC_INIT): Version 2.8.4.
219170754Sdelphij
220170754Sdelphij	* config/config.sub: Sync with latest version maintained in other
221170754Sdelphij	packages.
222170754Sdelphij
223170754Sdelphij	* lib/file-type.h: Protect against double inclusion.  Detect
224170754Sdelphij	whether <sys/stat.h> has been included.  Fix from Jim Meyering.
225170754Sdelphij
226170754Sdelphij	* src/analyze.c (briefly_report): Don't say "Binary files differ",
227170754Sdelphij	since one of the files may not be a binary file.
228170754Sdelphij	Bug reported by Dan Jacobson.
229170754Sdelphij
230170754Sdelphij2002-06-22  Paul Eggert  <eggert@twinsun.com>
231170754Sdelphij
232170754Sdelphij	* lib/c-stack.c (segv_handler, c_stack_action) [! defined
233170754Sdelphij	SA_SIGINFO]: Do not assume SA_SIGINFO behavior.
234170754Sdelphij	Bug reported by Jim Meyering on NetBSD 1.5.2.
235170754Sdelphij
236170754Sdelphij2002-06-16  Paul Eggert  <eggert@twinsun.com>
237170754Sdelphij
238170754Sdelphij	* NEWS, configure.ac (AC_INIT): Version 2.8.3.
239170754Sdelphij
240170754Sdelphij	* config/depcomp, config/missing, README: Update to automake 1.6.2.
241170754Sdelphij
242170754Sdelphij	* po/LINGUAS: Add en_US.
243170754Sdelphij	* po/en_US.po: New file.
244170754Sdelphij	* po/POTFILES.in: Remove lib/freesoft.c.
245170754Sdelphij	Add lib/file-type.c, lib/version-etc.c, lib/xmalloc.c.
246170754Sdelphij
247170754Sdelphij2002-06-15  Paul Eggert  <eggert@twinsun.com>
248170754Sdelphij
249170754Sdelphij	* doc/diff.texi (Special Files): Document behavior of symlink
250170754Sdelphij	loops.
251170754Sdelphij
252170754Sdelphij	* lib/Makefile.am (noinst_HEADERS): Remove freesoft.h.
253170754Sdelphij	Add version-etc.h.
254170754Sdelphij	(libdiffutils_a_SOURCES): Remove freesoft.c.  Add version-etc.c.
255170754Sdelphij	* lib/freesoft.c, lib/freesoft.h: Remove.
256170754Sdelphij	* lib/version-etc.h (PARAMS): Remove; we now assume C89 at least.
257170754Sdelphij
258170754Sdelphij	* lib/version-etc.h (version_etc): Remove package and version args.
259170754Sdelphij	(version_etc_copyright): Remove.
260170754Sdelphij	* lib/version-etc.c: Likewise.
261170754Sdelphij	Do not include unlocked-io.h; no longer needed.
262170754Sdelphij	Include gettext.h rather than libinto.h.
263170754Sdelphij	(_): Define unconditionally.
264170754Sdelphij	(version_etc): Adjust wording to match current GNU coding standards.
265170754Sdelphij	Translate "(C)" if possible.
266170754Sdelphij
267170754Sdelphij	* lib/version-etc.c, lib/version-etc.h: New files, taken from
268170754Sdelphij	fileutils.
269170754Sdelphij
270170754Sdelphij	* src/Makefile.am (cmp_SOURCES, diff3_SOURCES, sdiff_SOURCES,
271170754Sdelphij	diff_SOURCES): Remove version.c.
272170754Sdelphij	(MAINTAINERCLEANFILES, $(srcdir)/version.c): Remove.
273170754Sdelphij
274170754Sdelphij	* src/cmp.c: Include version-etc.h, not freesoft.h.
275170754Sdelphij	(copyright_notice): Remove.
276170754Sdelphij	(main): Use version_etc to print version.
277170754Sdelphij	* src/diff.c, src/diff3.c, src/sdiff.c: Likewise.
278170754Sdelphij
279170754Sdelphij	* src/cmp.c (version_string): Remove decl.
280170754Sdelphij	* src/diff.h, src/diff3.c, src/sdiff.c: Likewise.
281170754Sdelphij
282170754Sdelphij2002-06-11  Paul Eggert  <eggert@twinsun.com>
283170754Sdelphij
284170754Sdelphij	* lib/fnmatch.c, lib/fnmatch_loop.c (WIDE_CHAR_SUPPORT):
285170754Sdelphij	New macro.  Use it uniformly instead of
286170754Sdelphij	(defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
287170754Sdelphij	It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
288170754Sdelphij	reported by Vin Shelton.
289170754Sdelphij	* m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
290170754Sdelphij
291170754Sdelphij	* NEWS, configure.ac (AC_INIT): Version 2.8.2.
292170754Sdelphij
293170754Sdelphij	* ABOUT-NLS, config/config.guess, config/config.sub,
294170754Sdelphij	config/depcomp, config/texinfo.tex, lib/posix/regex.h,
295170754Sdelphij	m4/c-bs-a.m4, m4/gettext.m4, m4/gnu-source.m4, m4/lib-link.m4,
296170754Sdelphij	m4/malloc.m4:
297170754Sdelphij	Update to recent version (maintained in other packages).
298170754Sdelphij	* m4/prereq.m4 (jm_PREREQ_EXCLUSIVE): AC_FUNC_FNMATCH_GNU
299170754Sdelphij	no longer takes a lib.
300170754Sdelphij
301170754Sdelphij	* README: Incorporate contents from INSTALLME.
302170754Sdelphij	* INSTALLME: Remove.
303170754Sdelphij	* Makefile.am (EXTRA_DIST): Remove INSTALLME.
304170754Sdelphij
305170754Sdelphij	* configure.ac (AC_GNU_SOURCE): Move up, so that it affects
306170754Sdelphij	later compilations properly.
307170754Sdelphij	(DEFAULT_DIFF_PROGRAM, AC_TYPE_SIGNAL): Remove.
308170754Sdelphij	(jm_AC_TYPE_INTMAX_T): Add.
309170754Sdelphij	(AC_FUNC_FNMATCH_GNU): Use this, instead of AC_FUNC_FNMATCH.
310170754Sdelphij	(AC_CONFIG_LINKS): regex.hin renamed from regex_.h.
311170754Sdelphij
312170754Sdelphij	* doc/diff.texi: Reword "@option{-f} and @option{--foo}" to
313170754Sdelphij	"@option{-f} or @option{--foo}".
314170754Sdelphij	Use @acronym instead of @sc where appropriate.
315170754Sdelphij	(Specified Lines): Renamed from Specified Folding.
316170754Sdelphij	(Comparison, Blank Lines):
317170754Sdelphij	Clarify wordings for Blank Lines and Specified Lines nodes.
318170754Sdelphij	(Binary): Mention --verbose and --print-bytes.
319170754Sdelphij	(Tabs, sdiff Option Summary, diff Options):
320170754Sdelphij	New option --tabsize=COLUMNS.
321170754Sdelphij
322170754Sdelphij	* lib/Makefile.am (EXTRA_DIST): Add fnmatch_loop.c.
323170754Sdelphij	(noinst_HEADERS): fnmatch_.h renamed from fnmatch.hin.
324170754Sdelphij	regex_.h renamed from regex.hin.
325170754Sdelphij	Add file-type.h.
326170754Sdelphij	(libdiffutils_a_SOURCES): Add file-type.c.
327170754Sdelphij	(DISTCLEANFILES): Remove fnmatch.hno, regex.hno.
328170754Sdelphij
329170754Sdelphij	* lib/c-stack.c (__attribute__): New macro.
330170754Sdelphij	(EOVERFLOW): Define if not defined.
331170754Sdelphij	(stack_t): Define to struct sigaltstack if not defined or declared.
332170754Sdelphij	Include <sys/resource.h>, <ucontext.h> if available.
333170754Sdelphij	Include <stdio.h> if DEBUG.
334170754Sdelphij	Do not include <inttypes.h> or <stdint.h>.
335170754Sdelphij	(c_stack_die): Remove info and context args.  All uses changed.
336170754Sdelphij	(segv_action): Likewise.
337170754Sdelphij	(alternate_signal_stack): Change uintmax_t to long, to ease porting.
338170754Sdelphij	(get_stack_location, min_address_from_argv, max_address_from_argv,
339170754Sdelphij	null_action): New functions.
340170754Sdelphij	(stack_base, stack_size): New vars.
341170754Sdelphij	(segv_handler): context arg may not be used.
342170754Sdelphij	Use global stack_base, stack_size if
343170754Sdelphij	! HAVE_XSI_STACK_OVERFLOW_HEURISTIC.
344170754Sdelphij	Add debug code.
345170754Sdelphij	Invoke die (rather than segv_action) to exit.
346170754Sdelphij	(c_stack_action): Accept new argv arg, and simpler handler arg.
347170754Sdelphij	All uses changed.  Move code into new functions above.
348170754Sdelphij	Allow null action.
349170754Sdelphij	[! (defined SA_ONSTACK && defined _SC_PAGESIZE)]: Assume all segvs
350170754Sdelphij	are stack overflows.
351170754Sdelphij	(main) [DEBUG]: Describe what output should be like.
352170754Sdelphij
353170754Sdelphij	* lib/c-stack.h (siginfo_t, c_stack_die): Remove decl.
354170754Sdelphij
355170754Sdelphij	* lib/file-type.c, lib/file-type.h: New files.  These contain code
356170754Sdelphij	that was in src/diff.c, but is now librarified and spiffed up a
357170754Sdelphij	bit.  Jim Meyering suggested this.
358170754Sdelphij
359170754Sdelphij	* lib/fnmatch.c (alloca, __builtin_expect): Define for non-GCC hosts.
360170754Sdelphij	<strings.h>: Include only if HAVE_STRINGS_H.
361170754Sdelphij	<stddef.h>: Include if we include stdlib.h.
362170754Sdelphij	Do not comment out all code if ! HAVE_FNMATCH_GNU.
363170754Sdelphij	(getenv): Do not declare if HAVE_DECL_GETENV.
364170754Sdelphij	(__strchrnul, __wcschrnul): Remove; not used.
365170754Sdelphij	(MEMPCPY): Use mempcpy if not _LIBC; use memcpy if neither _LIBC
366170754Sdelphij	nor HAVE_MEMPCPY.
367170754Sdelphij	(FOLD) [HANDLE_MULTIBYTE]: Do not pass wide char to ISUPPER.
368170754Sdelphij	(STRLEN, STRCAT, MEMPCPY) [HANDLE_MULTIBYTE && !defined _LIBC]:
369170754Sdelphij	Use wcslen rather than __wcslen, and likewise for wcscat, wmempcpy.
370170754Sdelphij	(MEMPCPY) [HANDLE_MULTIBYTE]: Use wmempcpy if not _LIBC; use wmemcpy
371170754Sdelphij	if neither _LIBC nor HAVE_WMEMPCPY.
372170754Sdelphij	* lib/fnmatch_.h (__const): Do not define to empty, as this breaks
373170754Sdelphij	Sun cc.  The code doesn't work with K&R anyway.
374170754Sdelphij	* lib/fnmatch_loop.c (struct patternlist.str): Size 1, not 0,
375170754Sdelphij	as C89 requires this.
376170754Sdelphij	(NEW_PATTERN): Use offsetof, not sizeof, since str now has size 1.
377170754Sdelphij	* lib/fnmatch_.h: Import from glibc fnmatch.h.
378170754Sdelphij	* lib/fnmatch.c, lib/fnmatch_loop.c: Import from glibc.
379170754Sdelphij
380170754Sdelphij	* lib/posixver.c: Include posixver.h.
381170754Sdelphij
382170754Sdelphij	* lib/regex_.h: Renamed from lib/regex.hin.
383170754Sdelphij
384170754Sdelphij	* m4/c-stack.m4 (jm_PREREQ_C_STACK): Do not AC_REQUIRE
385170754Sdelphij	jm_AC_TYPE_UINTMAX_T and do not use uintmax_t.
386170754Sdelphij	Check for sys/resource.h, uccontext.h.
387170754Sdelphij	Check for decls and existence of getcontext, sigaltstack.
388170754Sdelphij	Check for stack_t.
389170754Sdelphij
390170754Sdelphij	* m4/codeset.m4, m4/glibc21.m4, m4/lcmessage.m4: Remove.
391170754Sdelphij
392170754Sdelphij	* m4/fnmatch.m4: Update to latest Autoconf CVS for AC_FUNC_FNMATCH_GNU.
393170754Sdelphij	* m4/gnu-source.m4: Likewise, for AC_GNU_SOURCE (renamed from
394170754Sdelphij	AC__GNU_SOURCE).
395170754Sdelphij
396170754Sdelphij	* m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Renamed from AC_MBSTATE_T.
397170754Sdelphij	All uses changed.  Upgrade to recent Autoconf CVS.
398170754Sdelphij
399170754Sdelphij	* m4/stdbool.m4 (AC_HEADER_STDBOOL): Do not cast pointer to
400170754Sdelphij	bool in integer constant expression; C99 does not allow it.
401170754Sdelphij	Reported by Bruno Haible.
402170754Sdelphij
403170754Sdelphij	* po/LINGUAS: Add hu, pt_BR.
404170754Sdelphij	* po/hu.po, po/pt_BR.po: New files.
405170754Sdelphij
406170754Sdelphij	* src/Makefile.am (noinst_HEADERS): Remove diff.h.
407170754Sdelphij	(DEFS): Remove.
408170754Sdelphij	(diff_sources): Add diff.h.
409170754Sdelphij	(MOSTLYCLEANFILES): New macro.
410170754Sdelphij	(cmp.$(OBJEXT) diff3.$(OBJECT) diff.$(OBJECT) sdiff.$(OBJECT)): Depend
411170754Sdelphij	on paths.h.
412170754Sdelphij	(paths.h): New rule.
413170754Sdelphij
414170754Sdelphij	* src/analyze.c, src/cmp.c, src/diff.c, src/diff3.c, src/io.c,
415170754Sdelphij	src/sdiff.c: Include <file-type.h>.
416170754Sdelphij
417170754Sdelphij	* src/cmp.c: Include paths.h.
418170754Sdelphij	(copyright_notice): Renamed from copyright_string.
419170754Sdelphij	Now a msgid, so that copyright symbol can be translated.
420170754Sdelphij	All uses changed.
421170754Sdelphij	* src/diff.c, src/diff3.c, src/sdiff.c: Likewise.
422170754Sdelphij
423170754Sdelphij	* src/diff.c: Include posixver.h.
424170754Sdelphij	(TABSIZE_OPTION): New constant.
425170754Sdelphij	(main): Allow widths up to SIZE_MAX.
426170754Sdelphij	(filetype): Move to lib/file-type.c and rename to file_type.
427170754Sdelphij	All uses changed.
428170754Sdelphij
429170754Sdelphij	* src/diff.c (longopts, main, usage): New option --tabsize=COLUMNS.
430170754Sdelphij	* src/io.c (find_and_hash_each_line): Likewise.
431170754Sdelphij
432170754Sdelphij	* src/diff.h (TAB_WIDTH): Remove.
433170754Sdelphij	(tabsize): New decl.
434170754Sdelphij	(sdiff_half_width, sdiff_column2_offset): Now size_t rather than
435170754Sdelphij	unsigned int.
436170754Sdelphij
437170754Sdelphij	* src/diff3.c (skipwhite, readnum): New functions.
438170754Sdelphij	(process_diff_control): Use them.
439170754Sdelphij	(SKIPWHITE, READNUM): Remove.
440170754Sdelphij	(read_diff): Don't worry about errno == ENOEXEC.
441170754Sdelphij
442170754Sdelphij	* src/sdiff.c (catchsig, signal_handler, initial_action): Signal
443170754Sdelphij	handlers return void, not RETSIGTYPE, since we no longer support
444170754Sdelphij	K&R.
445170754Sdelphij	(TABSIZE_OPTION): New constant.
446170754Sdelphij	(longopts, usage, main): New option --tabsize=COLUMNS.
447170754Sdelphij	(cleanup): New arg signo.  All uses changed.
448170754Sdelphij	(ck_editor_status, main, edit): Don't worry about ENOEXEC.
449170754Sdelphij
450170754Sdelphij	* src/side.c (tab_from_to, print_half_line, print_1sdiff_line):
451170754Sdelphij	New option --tabsize=COLUMNS.
452170754Sdelphij
453170754Sdelphij	* src/system.h (S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISREG,
454170754Sdelphij	S_ISSOCK): Remove; now in lib/file-type.h.
455170754Sdelphij
456170754Sdelphij	* src/util.c (finish_output): Check for ENOEXEC.
457170754Sdelphij	(lines_differ, output_1_line): New option --tabsize=COLUMNS.
458170754Sdelphij	(analyze_hunk): If -b or -w is also specified, -B now considers
459170754Sdelphij	lines to be empty if they contain only white space.
460170754Sdelphij
461170754Sdelphij2002-04-05  Paul Eggert  <eggert@sic.twinsun.com>
462170754Sdelphij
463170754Sdelphij	* NEWS, configure.ac (AC_INIT): Version 2.8.1.
464170754Sdelphij
465170754Sdelphij	* configure.ac (AC_HEADER_STDBOOL): Add.
466170754Sdelphij	(AC_CHECK_HEADERS): Remove stdbool.h.
467170754Sdelphij	* m4/stdbool.m4: New file.
468170754Sdelphij	* m4/prereq.m4 (jm_PREREQ_EXCLUDE):
469170754Sdelphij	Use AC_HEADER_STDBOOL rather than AC_CHECK_HEADERS(stdbool.h).
470170754Sdelphij	(jm_PREREQ_HASH): Likewise.
471170754Sdelphij
472170754Sdelphij	* src/system.h (SSIZE_MAX): Define if limits.h doesn't.
473170754Sdelphij
474170754Sdelphij	* src/analyze.c (diff_2_files): Assign PTRDIFF_MAX - 1 to a
475170754Sdelphij	size_t variable, just in case there's a problem with ptrdiff_t
476170754Sdelphij	versus size_t.
477170754Sdelphij
478170754Sdelphij	* lib/cmpbuf.c (errno): Remove decl; K&R C is no longer supported.
479170754Sdelphij	Include limits.h.
480170754Sdelphij	(SIZE_MAX, SSIZE_MAX): Define if standard headers don't.
481170754Sdelphij	(MIN): New macro.
482170754Sdelphij	(block_read): Do not attempt to read more than SSIZE_MAX bytes, as the
483170754Sdelphij	resulting behavior is implementation-defined.  Work around bug in
484170754Sdelphij	Tru64 5.1, which can't read more than INT_MAX bytes at a time.
485170754Sdelphij	* src/cmp.c (cmp): Use block_read instead of read, to work
486170754Sdelphij	around Tru64 5.1 bug.
487170754Sdelphij	* src/diff3.c (read_diff): Likewise.
488170754Sdelphij	* src/diff3.c: Include cmpbuf.h.
489170754Sdelphij
490170754Sdelphij	* THANKS: Add Ulrich Drepper.
491170754Sdelphij
492170754Sdelphij	* INSTALLME: Mention GNU texinfo.
493170754Sdelphij
494170754Sdelphij	* doc/diff.texi:
495170754Sdelphij	Use new @copying directive.
496170754Sdelphij	Put @contents first, not last, since Texinfo now suggests this.
497170754Sdelphij	Fix bug in -w documentation noted by Karl Berry.
498170754Sdelphij	Mention links for speedup.
499170754Sdelphij	New node "Speedups" for future speedups.
500170754Sdelphij	Just say "Index", not "Concept Index".
501170754Sdelphij
502170754Sdelphij2002-03-26  Paul Eggert  <eggert@twinsun.com>
503170754Sdelphij
504170754Sdelphij	* src/Makefile.am:
505170754Sdelphij	(INCLUDES): Remove this obsolete macro,	replacing it with:
506170754Sdelphij	(AM_CPPFLAGS): New macro.
507170754Sdelphij
508170754Sdelphij2002-03-26  Albert Chin-A-Young  <china@thewrittenword.com>
509170754Sdelphij
510170754Sdelphij	* src/Makefile.am (datadir): Remove, as it conflicts with --datadir.
511170754Sdelphij
512170754Sdelphij2002-03-26  Paul Eggert  <eggert@twinsun.com>
513170754Sdelphij
514170754Sdelphij	* doc/diff.texi (dircategory GNU packages): Fix typo: a "* " was
515170754Sdelphij	missing before the menu entry.  Bug diagnosed by Adam Heath.
516170754Sdelphij	Also, put this dircategory after the Individual utilities dircategory,
517170754Sdelphij	to work around a compatibility problem with Debian install-info.
518170754Sdelphij
519170754Sdelphij2002-03-24  Eli Zaretskii  <eliz@is.elta.co.il>
520170754Sdelphij
521170754Sdelphij	* src/io.c (sip): Do not mishandle buffered count when reverting
522170754Sdelphij	to text mode.
523170754Sdelphij
524170754Sdelphij2002-03-23  Paul Eggert  <eggert@twinsun.com>
525170754Sdelphij
526170754Sdelphij	* NEWS, configure.ac (AC_INIT): Version 2.8.
527170754Sdelphij	* configure.ac (AC_PREREQ): 2.53.
528170754Sdelphij	* INSTALLME: Upgrade to gettext 0.11.1 and help2man 1.27.
529170754Sdelphij
530170754Sdelphij	* doc/diff.texi: Upgrade the description of `patch' to GNU patch
531170754Sdelphij	2.5.4, and revamp the documentation accordingly.
532170754Sdelphij
533170754Sdelphij	* src/diff.c (main): Fix typo that prevented diff -y from working.
534170754Sdelphij	Bug reported by Mitsuru Chinen.
535170754Sdelphij
536170754Sdelphij2002-03-15  Paul Eggert  <eggert@twinsun.com>
537170754Sdelphij
538170754Sdelphij	* lib/c-stack.c (c_stack_die) [!HAVE_SIGINFO_T]: Don't use info.
539170754Sdelphij	Bug reported by Eli Zaretskii.
540170754Sdelphij
541170754Sdelphij2002-03-15  Eli Zaretskii  <eliz@is.elta.co.il>
542170754Sdelphij
543170754Sdelphij	* ms/config.sed: Tweak editing of install-info-am target.
544170754Sdelphij
545170754Sdelphij2002-03-12  Paul Eggert  <eggert@twinsun.com>
546170754Sdelphij
547170754Sdelphij	* NEWS, configure.ac (AC_INIT): Version 2.7.10.
548170754Sdelphij
549170754Sdelphij	* NEWS: cmp -l -s and cmp -s -l are not allowed.
550170754Sdelphij	Deprecate diff -h, -H, -L, -P, --inhibit-hunk-merge.
551170754Sdelphij
552170754Sdelphij	* configure.ac (jm_PREREQ_HARD_LOCALE): Add.
553170754Sdelphij	(AM_INIT_AUTOMAKE): Do not distribute shar file.
554170754Sdelphij
555170754Sdelphij	* doc/diff.texi (Overview): byte != character.
556170754Sdelphij	(Detailed Context, Detailed Unified, Alternate Names, diff Options):
557170754Sdelphij	Do not document diff -L.
558170754Sdelphij	(Comparing Directories, Making Patches, diff Options):
559170754Sdelphij	Do not document diff -P.
560170754Sdelphij	(diff Performance, sdiff Option Summary, diff Options, sdiff Options):
561170754Sdelphij	Do not document diff -H.
562170754Sdelphij	(diff Performance, diff Options): Do not document --horizon-lines.
563170754Sdelphij	(cmp Options): Prefer -b to -c.
564170754Sdelphij	(cmp Options, diff Options, diff3 Options, patch Options,
565170754Sdelphij	sdiff Options): Put short options next to the similar long options.
566170754Sdelphij	Document --help, and use the same wording for --verbose.
567170754Sdelphij	(diff3 Options): Fix typo in description of -E, which used wrongly used
568170754Sdelphij	"-e" instead of "-E".
569170754Sdelphij
570170754Sdelphij	* lib/hard-locale.c (alloca): Remove.
571170754Sdelphij	Include stdlib.h if available, for malloc.
572170754Sdelphij	(hard_locale): Use malloc, not alloca, so that we need not worry about
573170754Sdelphij	alloca issues.  Test for storage allocation failure.
574170754Sdelphij
575170754Sdelphij	* m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HARD_LOCALE.
576170754Sdelphij	(jm_PREREQ_HARD_LOCALE): New macro.
577170754Sdelphij
578170754Sdelphij	* src/cmp.c (specify_comparison_type): New function.
579170754Sdelphij	(check_stdout): "indices and codes" -> "byte numbers and values"
580170754Sdelphij	(main): Detect clashing options.
581170754Sdelphij	(cmp): Use "byte" rather than "char" if a translation for "byte"
582170754Sdelphij	is available, even when in the POSIX locale.
583170754Sdelphij
584170754Sdelphij	* src/diff.c (option_help_msgid): Do not document -L, -P,
585170754Sdelphij	--horizon-lines, --inhibit-hunk-merge, -H.
586170754Sdelphij	* src/diff.h: -L -> --label
587170754Sdelphij
588170754Sdelphij2002-03-11  Paul Eggert  <eggert@twinsun.com>
589170754Sdelphij
590170754Sdelphij	* NEWS, configure.ac (AC_INIT): Version 2.7.9.
591170754Sdelphij
592170754Sdelphij	* INSTALLME: Update to autoconf 2.53, automake 1.6, help2man
593170754Sdelphij	1.25 with patch.
594170754Sdelphij
595170754Sdelphij	* configure.ac (AC_INIT):
596170754Sdelphij	Change package name from diff to diffutils.
597170754Sdelphij	(AM_INIT_AUTOMAKE): Use new form, with option gnits,
598170754Sdelphij	rather than old from that duplicated AC_INIT.
599170754Sdelphij	(AM_MISSING_PROG): Add help2man.
600170754Sdelphij	(REGEX_MALLOC): Define.
601170754Sdelphij	(AC_CONFIG_FILES): Add man/Makefile.
602170754Sdelphij
603170754Sdelphij	* Makefile.am (AUTOMAKE_OPTIONS): Remove.
604170754Sdelphij	* doc/Makefile.am (AUTOMAKE_OPTIONS): Remove.
605170754Sdelphij	* lib/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
606170754Sdelphij	* ms/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
607170754Sdelphij	* src/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
608170754Sdelphij
609170754Sdelphij	* lib/c-stack.c: Include <errno.h>
610170754Sdelphij	(ENOTSUP): Define if errno.h doesn't.
611170754Sdelphij	(SA_NODEFER, SA_ONSTACK, SA_RESETHAND, SA_SIGINFO, SIGSTKSZ,
612170754Sdelphij	_SC_PAGESIZE, ALTERNATE_STACK_SIZE, stack_t, sigaltstack):
613170754Sdelphij	Remove; we now assume them all when
614170754Sdelphij	HAVE_XSI_STACK_OVERFLOW_HEURISTIC, so we don't need
615170754Sdelphij	substitutes.
616170754Sdelphij	(<ucontext.h>): Include only if HAVE_XSI_STACK_OVERFLOW_HEURISTIC.
617170754Sdelphij	(alternate_signal_stack): Now of size SIGSTKSZ.
618170754Sdelphij	(segv_handler): Simplify, under the assumption that
619170754Sdelphij	HAVE_XSI_STACK_OVERFLOW_HEURISTIC is nonzero.
620170754Sdelphij	(c_stack_action): Likewise.
621170754Sdelphij	(exit_failure) [DEBUG]: Initialize to 0, not 1.
622170754Sdelphij	(recurse, main) [DEBUG]: Remove main args.
623170754Sdelphij
624170754Sdelphij	* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change
625170754Sdelphij	wording of message.  Do not check for stdbool.h or ucontext.h,
626170754Sdelphij	or for ucontext_t or sigaction or sigaltstack.
627170754Sdelphij
628170754Sdelphij	* po/LINGUAS: Add zh_TW.
629170754Sdelphij
630170754Sdelphij	* Makefile.am (SUBDIRS): Add man.
631170754Sdelphij	* man/Makefile.am: New file.
632170754Sdelphij	* src/cmp.c (usage): Reword for help2man.
633170754Sdelphij	* src/diff.c (option_help_msgid): Likewise.
634170754Sdelphij	* src/diff3.c (option_help_msgid, usage): Likewise.
635170754Sdelphij	* src/sdiff3.c (option_help_msgid, usage): Likewise.
636170754Sdelphij	Reword for help2man.
637170754Sdelphij
638170754Sdelphij	* THANKS: Add email address for Tower.
639170754Sdelphij
640170754Sdelphij	* config/config.guess, config/config.sub, config/depcomp,
641170754Sdelphij	config/install-sh, config/mdate-sh, config/missing,
642170754Sdelphij	config/mkinstalldirs, config/texinfo.tex: Update
643170754Sdelphij	to recent version (maintained in other packages).
644170754Sdelphij
645170754Sdelphij2002-03-04  Bruno Haible <haible@ilog.fr>
646170754Sdelphij
647170754Sdelphij	* m4/gettext.m4 (AM_GNU_GETTEXT): Set LIBINTL and LTLIBINTL to empty if
648170754Sdelphij	no preinstalled GNU gettext was found.
649170754Sdelphij
650170754Sdelphij2002-03-02  Eli Zaretskii  <eliz@is.elta.co.il>
651170754Sdelphij
652170754Sdelphij	* ms/config.sed: Tweak editing of install-info-am and
653170754Sdelphij	uninstall-info-am targets, to include 8+3-butchered names of Info
654170754Sdelphij	files.
655170754Sdelphij
656170754Sdelphij2002-02-28  Paul Eggert  <eggert@twinsun.com>
657170754Sdelphij
658170754Sdelphij	* NEWS, configure.ac (AC_INIT, AM_INIT_AUTOMAKE): Version 2.7.8.
659170754Sdelphij
660170754Sdelphij	* doc/diff.texi: Add vr index.
661170754Sdelphij	Update copyright to 2002.
662170754Sdelphij	(Standards conformance): New chapter.
663170754Sdelphij	(Binary): Differing binary files are trouble unless the user asked for
664170754Sdelphij	brief output.
665170754Sdelphij	(Detailed Context): Prefer ISO time stamp format in discussion.
666170754Sdelphij	(Detailed Unified, Pagination): Likewise.
667170754Sdelphij	(Less Context): Likewise.  Also use short option.
668170754Sdelphij	(Alternate Names): Separate option from arg.
669170754Sdelphij	(Making Patches): Mention -U 2.
670170754Sdelphij	(diff Options): Deprecate -LINES, as POSIX 1003.1-2001 does not
671170754Sdelphij	allow it.
672170754Sdelphij
673170754Sdelphij	* INSTALLME: Update advice for Solaris installation problems.
674170754Sdelphij	We no longer use a test version of gettext.
675170754Sdelphij	Autoconf test version updated from 2.52f to 2.52h.
676170754Sdelphij	POSIX 1003.1-2001 patch for Automake.
677170754Sdelphij
678170754Sdelphij	* configure.ac (AC__GNU_SOURCE): Add this,
679170754Sdelphij	replacing AH_VERBATIM of _GNU_SOURCE.
680170754Sdelphij	(tempname): Use AC_LIBOBJS, not LIBOBJS=, as now required by autoconf.
681170754Sdelphij	(jm_PREREQ_C_STACK): Add.
682170754Sdelphij	(AC_CONFIG_FILES): Remove intl/Makefile.
683170754Sdelphij	(AM_GNU_GETTEXT): Add external arg, from gettext 0.11.
684170754Sdelphij
685170754Sdelphij	* lib/c-stack.c, lib/c-stack.h, lib/exitfail.c, lib/exitfail.h,
686170754Sdelphij	lib/posixver.c, lib/posixver.h, m4/c-stack.m4, m4/gnu-source.m4,
687170754Sdelphij	po/cs.po, po/ja.po: New files.
688170754Sdelphij
689170754Sdelphij	* intl/ChangeLog, intl/Makefile.in, intl/VERSION,
690170754Sdelphij	intl/bindtextdom.c, intl/config.charset, intl/dcgettext.c,
691170754Sdelphij	intl/dcigettext.c, intl/dcngettext.c, intl/dgettext.c,
692170754Sdelphij	intl/dngettext.c, intl/explodename.c, intl/finddomain.c,
693170754Sdelphij	intl/gettext.c, intl/gettextP.h, intl/gmo.h, intl/hash-string.h,
694170754Sdelphij	intl/intl-compat.c, intl/l10nflist.c, intl/libgnuintl.h,
695170754Sdelphij	intl/loadinfo.h, intl/loadmsgcat.c, intl/localcharset.c,
696170754Sdelphij	intl/locale.alias, intl/localealias.c, intl/localename.c,
697170754Sdelphij	intl/ngettext.c, intl/os2compat.c, intl/os2compat.h, intl/osdep.c,
698170754Sdelphij	intl/plural-eval.c, intl/plural-exp.c, intl/plural-exp.h,
699170754Sdelphij	intl/plural.c, intl/plural.y, intl/ref-add.sin, intl/ref-del.sin,
700170754Sdelphij	intl/textdomain.c, m4/isc-posix.m4, m4/libtool.m4: Remove.
701170754Sdelphij
702170754Sdelphij	* ABOUT-NLS: Update to Gettext 0.11.
703170754Sdelphij
704170754Sdelphij	* Makefile.am (SUBDIRS): Remove intl.
705170754Sdelphij
706170754Sdelphij	* config/config.guess, config/config.rpath, config/config.sub,
707170754Sdelphij	config/texinfo.tex, config/depcomp, config/texinfo.tex,
708170754Sdelphij	lib/tempname.c: Update to latest version from other packages.
709170754Sdelphij
710170754Sdelphij	* lib/xalloc.h (xalloc_exit_failure): Remove; subsumed by exit_failure.
711170754Sdelphij	* lib/xmalloc.c: Include exitfail.h.
712170754Sdelphij	(xalloc_exit_failure): Remove; subsumed by exit_failure.
713170754Sdelphij	All uses changed.
714170754Sdelphij
715170754Sdelphij	* lib/Makefile.am (noinst_HEADERS): Add c-stack.h, exitfail.h.
716170754Sdelphij	(libdiffutils_a_SOURCES): Add c-stack.c, exitfail.c, quotesys.c.
717170754Sdelphij	(INCLUDES): Remove.
718170754Sdelphij
719170754Sdelphij	* lib/cmpbuf.h (buffer_lcm): New arg LCM_MAX.
720170754Sdelphij	* lib/cmpbuf.c: Include errno.h.
721170754Sdelphij	(errno): Declare if !STDC_HEADERS.
722170754Sdelphij	Include signal.h.
723170754Sdelphij	(SA_RESTART): Define if not already defined.
724170754Sdelphij	Include <inttypes.h>.
725170754Sdelphij	(PTRDIFF_MAX): Define if not already defined.
726170754Sdelphij	(TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
727170754Sdelphij	(block_read): Accommodate ancient AIX hosts that set errno to EINTR
728170754Sdelphij	after uncaught SIGCONT.
729170754Sdelphij	(buffer_lcm): Return a reasonable size if the multiple is too large.
730170754Sdelphij	New arg LCM_MAX.  All callers changed.
731170754Sdelphij
732170754Sdelphij	* lib/hard-locale.c: Include "hard-locale.h".
733170754Sdelphij	(hard_locale): Ignore ENABLE_NLS, since we want to operate on
734170754Sdelphij	locales other than LC_MESSAGES.
735170754Sdelphij
736170754Sdelphij	* m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_POSIXVER.
737170754Sdelphij	(jm_PREREQ_POSIXVER): New macro.
738170754Sdelphij
739170754Sdelphij	* m4/setmode.m4 (AC_FUNC_SETMODE_DOS):
740170754Sdelphij	Check for fcntl.h and unistd.h unconditionally.
741170754Sdelphij	Suggested by Bruno Haible.
742170754Sdelphij
743170754Sdelphij	* po/LINGUAS: Add cs, ja.
744170754Sdelphij	* po/POTFILES.in: Add lib/c-stack.c, src/dir.c.
745170754Sdelphij
746170754Sdelphij	* src/Makefile.am (datadir): @DATADIRNAME@ -> share.
747170754Sdelphij	(INCLUDES): Remove intl.
748170754Sdelphij	(LDADD): Change INTLLIBS to LIBINTL.
749170754Sdelphij	No longer need to link libdiffutils.a twice.
750170754Sdelphij
751170754Sdelphij	* src/analyze.c (diff_2_files):
752170754Sdelphij	Avoid arithmetic overflow in buffer size calculation.
753170754Sdelphij
754170754Sdelphij	* src/cmp.c: Include c-stack.h, exitfail.h.
755170754Sdelphij	(hard_locale_LC_MESSAGES): Depend on ENABLE_NLS.
756170754Sdelphij	(try_help, check_stdout, main, cmp): 2 -> EXIT_TROUBLE.
757170754Sdelphij	(main): Check for stack overflow.
758170754Sdelphij	0 -> EXIT_SUCCESS.
759170754Sdelphij	1 -> EXIT_FAILURE.
760170754Sdelphij	(cmp): Likewise.
761170754Sdelphij	Accommodate ancient AIX hosts that set errno to
762170754Sdelphij	EINTR after uncaught SIGCONT.
763170754Sdelphij
764170754Sdelphij	* src/context.c (pr_context_hunk):
765170754Sdelphij	Do not dump core if an enormous context causes an
766170754Sdelphij	arithmetic overflow.
767170754Sdelphij	(pr_unidiff_hunk): Likewise.
768170754Sdelphij	(find_hunk): Likewise.
769170754Sdelphij
770170754Sdelphij	* src/diff.h: unsigned -> unsigned int.
771170754Sdelphij	* src/diff.c: Include c-stack.h, exitfail.h.
772170754Sdelphij	Do not include signal.h.
773170754Sdelphij	(specify_style, specify_value): Bring these routines back, as POSIX
774170754Sdelphij	requires that the order of options not matter.
775170754Sdelphij	(shortopts): New constant.
776170754Sdelphij	(group_format_option, line_format_option): New constants.
777170754Sdelphij	(main): 0 -> EXIT_SUCCESS, 1 -> EXIT_FAILURE, 2 -> EXIT_TROUBLE.
778170754Sdelphij	Ensure that order of options does not matter.
779170754Sdelphij	Check for stack overflow.
780170754Sdelphij	If contexts overflow, substitute LIN_MAX, as that's good enough.
781170754Sdelphij	If multiple contexts are specified, use their maximum.
782170754Sdelphij	-c is equivalent to -C 3 now, instead of having an implicit context;
783170754Sdelphij	likewise for -u and -U 3.
784170754Sdelphij	Use specify_style and specify_value.
785170754Sdelphij	(SIGCHLD): Do not define; now done in a header.
786170754Sdelphij	Use new style time stamp format for -u / -U.
787170754Sdelphij	Reject numeric-string options if operating in POSIX 1003.1-2001 mode.
788170754Sdelphij	Avoid overflow problems with tab width.
789170754Sdelphij	Simplify from-file and to-file code.
790170754Sdelphij	(usage): Do not mention obsolete options.
791170754Sdelphij	(filetype): Do not mention whether a file is executable.
792170754Sdelphij	Add typed memory objects.
793170754Sdelphij	(compare_files): 0 -> EXIT_SUCCESS, 1 -> EXIT_FAILURE, 2 ->
794170754Sdelphij	EXIT_TROUBLE.
795170754Sdelphij
796170754Sdelphij	* src/diff3.c: Include c-stack.h, exitfail.h.
797170754Sdelphij	(ALLOCATE): Remove.  All uses changed to xmalloc, or to xmalloc plus
798170754Sdelphij	an overflow check.
799170754Sdelphij	(myread): Remove.
800170754Sdelphij	(main): Check for stack overflow.
801170754Sdelphij	0 -> EXIT_SUCCESS, 1 -> EXIT_FAIULRE, 2 -> EXIT_TROUBLE.
802170754Sdelphij	(try_help): Likewise.
803170754Sdelphij	(process_diff): Check for integer overflow, to avoid core dumps.
804170754Sdelphij	2 -> EXIT_TROUBLE.
805170754Sdelphij	(read_diff): Exit with status 126 if the file is not executable,
806170754Sdelphij	for compatibility with POSIX 1003.1-2001.
807170754Sdelphij	Accommodate ancient AIX hosts that set errno to EINTR after uncaught
808170754Sdelphij	SIGCONT.
809170754Sdelphij	Check for integer overflow to avoid core dumps.
810170754Sdelphij	(fatal, perror_with_exit): 2 -> EXIT_TROUBLE.
811170754Sdelphij
812170754Sdelphij	* src/dir.c (dir_read):
813170754Sdelphij	Ignore st_size of directories: POSIX says it's garbage.
814170754Sdelphij	Check for integer overflow to avoid core dumps.
815170754Sdelphij	(diff_dirs): 0 -> EXIT_SUCCESS, 2 -> EXIT_TROUBLE.
816170754Sdelphij
817170754Sdelphij	* src/ifdef.c: Include <xalloc.h>.
818170754Sdelphij	(format_group, print_ifdef_lines): Avoid core dumps with bad formats.
819170754Sdelphij	(do_printf_spec): Avoid alloca.
820170754Sdelphij
821170754Sdelphij	* src/io.c (sip):
822170754Sdelphij	Avoid integer overflow and core dumps if buffer alignments are
823170754Sdelphij	preposterously incompatible.
824170754Sdelphij	(slurp): Do not dump core if the file is growing as we read it.
825170754Sdelphij	If a regular file grows, keep reading until we catch up with its EOF.
826170754Sdelphij	(find_and_hash_each_line): Check for integer overflow to avoid cores.
827170754Sdelphij	(GUESS_LINES): Remove.
828170754Sdelphij	(guess_lines): New function.  Avoid integer overflow.
829170754Sdelphij	(find_identical_ends): Use it.
830170754Sdelphij	Avoid integer overflow and possible core dumps.
831170754Sdelphij
832170754Sdelphij	* src/sdiff.c: Include c-stack.h, exitfail.h.  Do not include signal.h.
833170754Sdelphij	0 -> EXIT_SUCCESS, 1 -> EXIT_FAILURE, 2 -> EXIT_TROUBLE.
834170754Sdelphij	(ck_editor_status): New function.
835170754Sdelphij	(main): Check for stack overflow.
836170754Sdelphij	Adopt POSIX convention for subsidiary programs not found.
837170754Sdelphij	(diffarg): Check for integer overflow to avoid core dumps.
838170754Sdelphij	(trapsigs): Remove SA_INTERRUPT special case; now done by header.
839170754Sdelphij	(SIGCHLD): Likewise.
840170754Sdelphij	(edit): Adopt POSIX convention for subsidiary programs not found.
841170754Sdelphij
842170754Sdelphij	* src/side.c: unsigned -> unsigned int.
843170754Sdelphij
844170754Sdelphij	* src/system.h: Don't use alloca or include <alloca.h>.
845170754Sdelphij	unsigned -> unsigned int
846170754Sdelphij	(EXIT_SUCCESS, EXIT_FAILURE, EXIT_TROUBLE): Define if not defined.
847170754Sdelphij	Include signal.h.
848170754Sdelphij	(SA_RESTART): Define if not defined.
849170754Sdelphij	(SIGCHLD): Likewise.
850170754Sdelphij
851170754Sdelphij	* src/util.c: 2 -> EXIT_TROUBLE.
852170754Sdelphij	Adopt POSIX convention for ENOEXEC and exit status 126.
853170754Sdelphij	unsigned -> unsigned int
854170754Sdelphij
855170754Sdelphij2002-01-24  Paul Eggert  <eggert@twinsun.com>
856170754Sdelphij
857170754Sdelphij	* NEWS, configure.ac (AC_INIT, AM_INIT_AUTOMAKE): Version 2.7.7.
858170754Sdelphij
859170754Sdelphij	* intl/plural.c: Regenerate with Bison 1.31.
860170754Sdelphij
861170754Sdelphij	* ABOUT-NLS, intl/*: Update to Gettext 0.11-pre5++.
862170754Sdelphij	* INSTALL: Update to Autoconf 2.52f.
863170754Sdelphij
864170754Sdelphij	* INSTALLME: New file.
865170754Sdelphij	* Makefile.am (EXTRA_DIST): Add config/config.rpath, INSTALLME.
866170754Sdelphij	(DISTCLEANFILES): Remove.
867170754Sdelphij	* NEWS: Reformat for imminent 2.8 release.
868170754Sdelphij	* README: Mention INSTALLME.
869170754Sdelphij	* README-alpha: Move most of contents to INSTALLME.
870170754Sdelphij	* THANKS: Add Bruno Haible, Jim Meyering, and Eli Zaretskii.
871170754Sdelphij
872170754Sdelphij	* config: New subdirectory, containing the following files from .:
873170754Sdelphij	config.guess, config.sub, depcomp, missing, install-sh, mkinstalldirs.
874170754Sdelphij	Move the following files here from doc: texinfo.tex, mdate-sh.
875170754Sdelphij	* config/config.guess, config/config.sub, config/texinfo.tex:
876170754Sdelphij	Update to latest version from FSF.
877170754Sdelphij	* config/config.rpath: New file, from Gettext 0.11-pre5++.
878170754Sdelphij
879170754Sdelphij	* configure.ac (AC_INIT): Use new 3-arg form.
880170754Sdelphij	(AC_CONFIG_SRCDIR): Specify src/diff.c here, not in AC_INIT.
881170754Sdelphij	(ALL_LINGUAS): Remove: now in po/LINGUAS as per Gettext 0.11.
882170754Sdelphij	(AC_CONFIG_AUX_DIR): New macro invocation.
883170754Sdelphij
884170754Sdelphij	* lib/Makefile.am (noinst_HEADERS): Add gettext.h.
885170754Sdelphij	* lib/gettext.h: New file, from Gettext 0.11-pre5++.
886170754Sdelphij	* lib/prepargs.c: Include <string.h>.  Reported by Bruno Haible.
887170754Sdelphij
888170754Sdelphij	* m4/codeset.m4, m4/gettext.m4, glibc21.m4, iconv.m4, isc-posix.m4,
889170754Sdelphij	lcmessage.m4, progtest.m4: Upgrade to Gettext 0.11-pre5++.
890170754Sdelphij	* m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
891170754Sdelphij	Gettext 0.11-pre5++.
892170754Sdelphij
893170754Sdelphij	* po/LINGUAS: New file.
894170754Sdelphij	* po/Makefile.in.in: Upgrade to Gettext 0.11-pre5++.
895170754Sdelphij	* po/Makevars, po/Rules-quot, po/boldquot.sed: New files,
896170754Sdelphij	from Gettext 0.11-pre5++.
897170754Sdelphij
898170754Sdelphij	* src/cmp.c (copyright_string): Update to 2002.
899170754Sdelphij	* src/diff.c (copyright_string): Likewise.
900170754Sdelphij	* src/diff3.c (copyright_string): Likewise.
901170754Sdelphij	* src/sdiff.c (copyright_string): Likewise.
902170754Sdelphij
903170754Sdelphij	* src/cmp.c (specify_ignore_initial): Renamed from
904170754Sdelphij	parse_ignore_initial, with different signature, to take the
905170754Sdelphij	maximum of multiple options rather than the last one.
906170754Sdelphij	All uses changed.
907170754Sdelphij
908170754Sdelphij	* src/cmp.c (bytes, specify_ignore_initial, cmp): Use UINTMAX_MAX
909170754Sdelphij	instead of (uintmax_t) -1, to avoid warnings on some compilers.
910170754Sdelphij	* src/io.c (file_block_read): Likewise, for SIZE_MAX.
911170754Sdelphij
912170754Sdelphij	* src/cmp.c (usage): Reformat messages to ease translation.
913170754Sdelphij	* src/diff3.c (usage): Likewise.
914170754Sdelphij	* src/sdiff.c (usage): Likewise.
915170754Sdelphij
916170754Sdelphij	* src/cmp.c (main): Two files with the same name are identical
917170754Sdelphij	only if the same offset is specified.
918170754Sdelphij	(block_compare_and_count): Avoid cast to unsigned char.
919170754Sdelphij
920170754Sdelphij	* src/diff3.c (main): Remove unused variable.
921170754Sdelphij
922170754Sdelphij	* src/dir.c: Include <setjmp.h>
923170754Sdelphij	(struct dirdata): New member nnames.
924170754Sdelphij	(locale_specific_sorting, failed_strcoll): New vars.
925170754Sdelphij	(dir_read): Renamed from dir_sort.  Don't sort the dir.
926170754Sdelphij	Set new nnames member of struct dirdata.  All callers changed.
927170754Sdelphij	(compare_names): Don't check for errno after strcasecmp.
928170754Sdelphij	Use strcoll only if locale_specific_sorting is nonzero.
929170754Sdelphij	If strcoll fails, longjmp out rather than returning a value
930170754Sdelphij	that might result in an invalid comparison function that might
931170754Sdelphij	make qsort dump core.
932170754Sdelphij	(diff_dirs): Sort the directory ourselves.  Use setjmp to recover
933170754Sdelphij	from strcoll failure, falling back on native byte comparison.
934170754Sdelphij	Make local variables volatile if they need to preserve their value
935170754Sdelphij	after setjmp/longjmp.
936170754Sdelphij
937170754Sdelphij	* src/sdiff.c (handler_index_of_SIGINT, handler_index_of_SIGPIPE):
938170754Sdelphij	New macros.
939170754Sdelphij	(main): Do not confuse signal numbers with their indices.
940170754Sdelphij	Bug reported by Bruno Haible.
941170754Sdelphij	(edit): Cat lin to long before printing with %ld, since lin might
942170754Sdelphij	be narrow than long.
943170754Sdelphij
944170754Sdelphij	* src/system.h (UINTMAX_MAX): New macro.
945170754Sdelphij	Include gettext.h, not libgettext.h.
946170754Sdelphij	(N_): Do not wrap arg in parentheses.  Fix from Bruno Haible.
947170754Sdelphij
948170754Sdelphij	* src/util.c (finish_output): Ensure that werrno is initialized.
949170754Sdelphij	(lines_differ): Have an explicit do-nothing case for
950170754Sdelphij	IGNORE_NO_WHITE_SPACE, to pacify gcc -Wall.
951170754Sdelphij
952170754Sdelphij2001-12-29  Eli Zaretskii  <eliz@is.elta.co.il>
953170754Sdelphij
954170754Sdelphij	* src/sdiff.c (interact): After extracting rlen from the editor
955170754Sdelphij	command, test for a terminating null character, not for a newline.
956170754Sdelphij
957170754Sdelphij	* ms/config.bat: Allow longer source directory names without
958170754Sdelphij	overflowing the line length limits.  Create the cache in the
959170754Sdelphij	build directory, not in the source directory
960170754Sdelphij	* ms/config.sed: Fix AC_CONFIG_LINKS for when symlinks are
961170754Sdelphij	unavailable.
962170754Sdelphij
963170754Sdelphij2001-12-23  Paul Eggert  <eggert@twinsun.com>
964170754Sdelphij
965170754Sdelphij	* NEWS, configure.ac (AM_INIT_AUTOMAKE): Version 2.7.6.
966170754Sdelphij
967170754Sdelphij	* configure.ac (ALL_LINGUAS): Add tr.
968170754Sdelphij
969170754Sdelphij	* src/util.c (begin_output):
970170754Sdelphij	Have child exit with status 127 rather than reporting
971170754Sdelphij	failure on its own.  Set errno to 0 before invoking popen.
972170754Sdelphij	(finish_output): Report errno on pclose failure.
973170754Sdelphij	Distinguish between subsidiary program not found, and failure.
974170754Sdelphij
975170754Sdelphij	* src/sdiff.c (not_found, execdiff): Remove.
976170754Sdelphij	(DIFF_PROGRAM_OPTION): New constant.
977170754Sdelphij	(longopts, option_help_msgid, main): Add --diff-program=PROGRAM.
978170754Sdelphij	(check_stdout): New function.
979170754Sdelphij	(main): Remove DIFF_PROGRAM.  Check stdout after printing version.
980170754Sdelphij	Use check_stdout after printing help.  Use execvp/perror_fatail rather
981170754Sdelphij	than execdiff.  Set errno to 0 before invoking popen.
982170754Sdelphij	Check for pclose failure properly.
983170754Sdelphij	(main, edit): If child exec fails, exit with 127 rather than trying to
984170754Sdelphij	print diagnostic.
985170754Sdelphij	Distinguish between subsidiary program failing and not being found.
986170754Sdelphij	(edit): Handle signals the same way, regardless of whether we're using
987170754Sdelphij	system or fork+exec.  Check for system returning -1.
988170754Sdelphij
989170754Sdelphij	* src/diff3.c (DIFF_PROGRAM_OPTION, HELP_OPTION): New constants.
990170754Sdelphij	(longopts, main): Use them.
991170754Sdelphij	(longopts, main, option_help_msgid): New option --diff-option=PROGRAM.
992170754Sdelphij	(main): Remove DIFF_PROGRAM support.
993170754Sdelphij	Check stdout after printing version.
994170754Sdelphij	(check_stdout): Report errno info if fclose fails.
995170754Sdelphij	(read_diff): Have child exit with status 127 when program is not found,
996170754Sdelphij	rather than trying to have the child report failure.  Check for
997170754Sdelphij	pclose returning -1.
998170754Sdelphij
999170754Sdelphij	* src/diff.c (DEFAULT_WIDTH): Remove.
1000170754Sdelphij	(main): Use 130 instead of DEFAULT_WIDTH, since it's not really
1001170754Sdelphij	builder-settable.  Do not prepend DIFF_OPTIONS.
1002170754Sdelphij	(check-stdout): If fclose (stdout) fails, print errno info.
1003170754Sdelphij	(option_help_msgid): Default context is 3, not 2.
1004170754Sdelphij	(usage): Work even if ptrdiff_t is wider than int.
1005170754Sdelphij
1006170754Sdelphij	* doc/diff.texi (diff Options): Remove DIFF_OPTIONS.
1007170754Sdelphij	(Invoking diff3, Invoking sdiff): Remove DIFF_PROGRAM.
1008170754Sdelphij	(diff3 Options, sdiff Options): Add --diff-program.
1009170754Sdelphij
1010170754Sdelphij	* src/cmp.c (valid_suffixes):
1011170754Sdelphij	Add '0', to support suffixes like "MB" and "MiB".
1012170754Sdelphij	(check_stdout): Don't assume that the translations of "write failed"
1013170754Sdelphij	and of "standard output" lack '%'.
1014170754Sdelphij	(main): Check stdout after printing version.
1015170754Sdelphij
1016170754Sdelphij	* lib/setmode.c: [HAVE_FCNTL_H && HAVE_SETMODE_DOS]: Include <fcntl.h>.
1017170754Sdelphij	[!HAVE_SETMODE_DOS]: Do not include <unistd.h>.
1018170754Sdelphij	(set_binary_mode): Return mode (not 1) if fd is a tty.
1019170754Sdelphij	Do not assume that O_TEXT is zero.
1020170754Sdelphij
1021170754Sdelphij	* doc/diff.texi (cmp Options):
1022170754Sdelphij	In byte counts, a plain suffix (without any integer)
1023170754Sdelphij	is assumed to modify the integer 1.  Index terms like "kibibyte".
1024170754Sdelphij	Document plain "k".
1025170754Sdelphij
1026170754Sdelphij	(Reporting Bugs): Mention bug-report archive and test version
1027170754Sdelphij	location.  Ask for "diff --version" in bug reports.
1028170754Sdelphij
1029170754Sdelphij2001-12-13  Paul Eggert  <eggert@twinsun.com>
1030170754Sdelphij
1031170754Sdelphij	* src/diff.c (DEFAULT_WIDTH): Remove; couldn't be changed without
1032170754Sdelphij	also changing option_help_msgid.  All uses replaced with 130.
1033170754Sdelphij
1034170754Sdelphij	* lib/setmode.c: Include fcntl.h and unistd.h only if
1035170754Sdelphij	HAVE_SETMODE_DOS.
1036170754Sdelphij	(setmode): Assume a file is binary unless the mode is O_TEXT.
1037170754Sdelphij	* ms/README: Fix minor typos.
1038170754Sdelphij
1039170754Sdelphij2001-12-13  Eli Zaretskii  <eliz@is.elta.co.il>
1040170754Sdelphij
1041170754Sdelphij	* ms/README: New file.
1042170754Sdelphij
1043170754Sdelphij	* lib/setmode.c (set_binary_mode) [HAVE_SETMODE_DOS]: Don't assume
1044170754Sdelphij	O_TEXT has a zero value.  If FD is a terminal device, do nothing
1045170754Sdelphij	and return MODE, thus pretending that it was already in the
1046170754Sdelphij	requested MODE.
1047170754Sdelphij	[HAVE_FCNTL_H]: Include fcntl.h (needed for O_BINARY).
1048170754Sdelphij
1049170754Sdelphij	* ms/config.sed: Remove the split prevention of config.status.
1050170754Sdelphij	Fix Sed commands for converting absolute file names into
1051170754Sdelphij	top_srcdir-relative ones.
1052170754Sdelphij
1053170754Sdelphij	* ms/config.bat: Fix typos.
1054170754Sdelphij
1055170754Sdelphij2001-12-12  Neal H Walfield  <neal@cs.uml.edu>
1056170754Sdelphij
1057170754Sdelphij	* diff.c (option_help_msgid): Correct the default context width
1058170754Sdelphij	from 2 to 3.
1059170754Sdelphij
1060170754Sdelphij2001-12-11  Paul Eggert  <eggert@twinsun.com>
1061170754Sdelphij
1062170754Sdelphij	* m4/Makefile.am.in: Remove jm-glibc-io.m4
1063170754Sdelphij
1064170754Sdelphij	* NEWS, configure.ac (AM_INIT_AUTOMAKE): Version 2.7.5.
1065170754Sdelphij
1066170754Sdelphij	* configure.ac (PR_PROGRAM): Use AC_DEFINE_UNQUOTED, so that
1067170754Sdelphij	$PR_PROGRAM is expanded by sh.
1068170754Sdelphij	(ptrdiff_t, ssize_t): Use AC_CHECK_TYPE with a default of int,
1069170754Sdelphij	not AC_CHECK_TYPES.
1070170754Sdelphij	(jm_AC_DOS, AC_FUNC_SETMODE_DOS): New macros.
1071170754Sdelphij	(AC_CONFIG_FILES): Add ms/Makefile.
1072170754Sdelphij
1073170754Sdelphij	* doc/diff.texi: Add --no-ignore-file-name-case.
1074170754Sdelphij	File name case sensitivity now affects file name exclusion.
1075170754Sdelphij	Fix typos.
1076170754Sdelphij
1077170754Sdelphij	* src/util.c: Include dirname.h.
1078170754Sdelphij	(dir_file_pathname): Use base_name rather than file_name_lastdirchar.
1079170754Sdelphij
1080170754Sdelphij	* src/system.h (S_IXUSR, S_IXGRP, S_IXOTH): New macros.
1081170754Sdelphij	Include <libgettext.h> rather than rolling it ourselves.
1082170754Sdelphij	(file_name_lastdirchar, HAVE_SETMODE, set_binary_mode): Remove.
1083170754Sdelphij
1084170754Sdelphij	* src/sdiff.c: Include <dirname.h>.
1085170754Sdelphij	(expand_name): Use base_name rather than file_name_lastdirchar, for
1086170754Sdelphij	portability to DOS.
1087170754Sdelphij	(main): Initialize xalloc_exit_failure before possibly invoking
1088170754Sdelphij	any memory allocator.
1089170754Sdelphij
1090170754Sdelphij	* src/io.c: Include setmode.h.
1091170754Sdelphij
1092170754Sdelphij	* src/diff3.c (main):
1093170754Sdelphij	Initialize xalloc_exit_failure before possibly invoking any memory
1094170754Sdelphij	allocator.
1095170754Sdelphij
1096170754Sdelphij	* src/diff.c: Include dirname.h, setmode.h.
1097170754Sdelphij
1098170754Sdelphij	(main): Later values and/or styles now silently override earlier.
1099170754Sdelphij	(specify_value, specify_style): Likewise.  All callers changed.
1100170754Sdelphij	Remove.
1101170754Sdelphij	(binary, main, option_help_msgid, compare_files):
1102170754Sdelphij	HAVE_SETMODE -> HAVE_SETMODE_DOS.
1103170754Sdelphij	(NO_IGNORE_FILE_NAME_CASE_OPTION): New constant.
1104170754Sdelphij	(longopts, main, option_help_msgid): Support it.
1105170754Sdelphij	(exclude_options): New function.
1106170754Sdelphij	(main): Use it. Initialize xalloc_exit_failure before potentially
1107170754Sdelphij	allocating memory.
1108170754Sdelphij
1109170754Sdelphij	(filetype): Distinguish executable files from others, as POSIX
1110170754Sdelphij	suggests.
1111170754Sdelphij
1112170754Sdelphij	(compare_files): Use base_name instead of file_name_lastdirchar.
1113170754Sdelphij
1114170754Sdelphij	* src/cmp.c: Include <hard-locale.h>, <setmode.h>.
1115170754Sdelphij	(hard_locale_LC_MESSAGES): New macro.
1116170754Sdelphij	(sprintc): Remove int width arg; it's now the caller's responsibility
1117170754Sdelphij	to pad.  All callers changed.
1118170754Sdelphij	(stat_buf): New static var; was formerly a local var in 'main'.
1119170754Sdelphij	(valid_suffixes): Add 'K', for 'KiB'.
1120170754Sdelphij	(option_help_msgid): Don't confuse bytes with characters.
1121170754Sdelphij	(main): Set xalloc_exit_failure before invoking anything that might
1122170754Sdelphij	allocate memory.  Fix bug: -n was incorrectly ignored when optimizing
1123170754Sdelphij	the case of regular files with different lengths.
1124170754Sdelphij	(cmp): Use an index column wide enough to store this comparison's
1125170754Sdelphij	indexes.  In locales other than the POSIX locale, say "byte"
1126170754Sdelphij	rather than "char".
1127170754Sdelphij
1128170754Sdelphij	* ms/config.bat: pc -> ms
1129170754Sdelphij
1130170754Sdelphij	* ms/Makefile.am, m4/setmode.m4, lib/setmode.c, lib/setmode.h:
1131170754Sdelphij	New file.
1132170754Sdelphij
1133170754Sdelphij	* lib/Makefile.am (noinst_HEADERS): Add dirname.h, setmode.h.
1134170754Sdelphij	(libdiffutils_a_SOURCES): Add basename.c, setmode.c.
1135170754Sdelphij
1136170754Sdelphij	* Makefile.am (SUBDIRS): Add ms.
1137170754Sdelphij
1138170754Sdelphij2001-12-10  Paul Eggert  <eggert@twinsun.com>
1139170754Sdelphij
1140170754Sdelphij	* m4/fnmatch.m4: Test for FNM_CASEFOLD.
1141170754Sdelphij
1142170754Sdelphij2001-12-03  Paul Eggert  <eggert@twinsun.com>
1143170754Sdelphij
1144170754Sdelphij	* lib/posix/regex.h: Fix copyright notice.
1145170754Sdelphij
1146170754Sdelphij2001-12-03  Paul Eggert  <eggert@twinsun.com>
1147170754Sdelphij
1148170754Sdelphij	* NEWS, configure.ac (AM_INIT_AUTOMAKE): Version 2.7.4.
1149170754Sdelphij
1150170754Sdelphij	* diff.texi (direntry, Overview, Comparison, Binary, Invoking cmp):
1151170754Sdelphij	Use "byte" rather than "character" when talking about cmp, since
1152170754Sdelphij	it compares bytes, not character.
1153170754Sdelphij	(Invoking cmp): New trailing operands FROM-SKIP and TO-SKIP.
1154170754Sdelphij	-i or --ignore-initial now accepts FROM-SKIP:TO-SKIP.
1155170754Sdelphij	New option -n or --bytes.
1156170754Sdelphij	Count operands now may be in octal or hex, and may be followed by a
1157170754Sdelphij	size multiplier.
1158170754Sdelphij
1159170754Sdelphij	* configure.ac (DEFAULT_DIFF_PROGRAM):
1160170754Sdelphij	Define to "diff", not "$bindir/diff" (which didn't work anyway).
1161170754Sdelphij	(AC_CHECK_MEMBERS): Add struct stat.st_blksize, struct stat.st_rdev.
1162170754Sdelphij	(AC_STRUCT_ST_BLKSIZE, AC_STRUCT_ST_RDEV): Remove; obsolescent.
1163170754Sdelphij	(AC_FUNC_FORK): Use this, instead of obsolescent AC_FUNC_VFORK.
1164170754Sdelphij	(AC_CONFIG_FILES, AC_CONFIG_COMMANDS): Add.
1165170754Sdelphij	(AC_OUTPUT): Remove args; they were obsolescent.
1166170754Sdelphij
1167170754Sdelphij	* util.c (setup_output, begin_output, finish_output):
1168170754Sdelphij	HAVE_FORK -> HAVE_WORKING_FORK || HAVE_WORKING_VFORK.
1169170754Sdelphij	* sdiff.c (diffpid, cleanup, main, edit): Likewise.
1170170754Sdelphij	* diff3.c (read_diff): Likewise.
1171170754Sdelphij
1172170754Sdelphij	* system.h (STAT_BLOCKSIZE):
1173170754Sdelphij	Use HAVE_STRUCT_STAT_ST_BLKSIZE, not HAVE_ST_BLKSIZE.
1174170754Sdelphij	(vfork): New macro.
1175170754Sdelphij	(HAVE_FORK): Remove.
1176170754Sdelphij	(set_binary_mode): New macro.
1177170754Sdelphij
1178170754Sdelphij	* sdiff.c (main): HAVE_VFORK -> HAVE_WORKING_VFORK.
1179170754Sdelphij	(edit): Reopen the temporary file after the editor has run, in case
1180170754Sdelphij	the editor operates by unlinking the old file and linking a new one.
1181170754Sdelphij	(P_tmpdir): Rename from PVT_tmpdir; this fixes a typo.
1182170754Sdelphij	All uses changed.
1183170754Sdelphij
1184170754Sdelphij	* io.c (sip, read_files):
1185170754Sdelphij	Remove tests for HAVE_SETMODE; use set_binary_mode
1186170754Sdelphij	instead of setmode.
1187170754Sdelphij	(sip): Fix typo in backward lseek when reverting to text mode.
1188170754Sdelphij
1189170754Sdelphij	* config.site, config.sed, config.bat: New file.
1190170754Sdelphij
1191170754Sdelphij	* Makefile.am (EXTRA_DIST): Add xstrtol.c.
1192170754Sdelphij	(noinst_HEADERS): Add xstrtol.h.
1193170754Sdelphij	(libdiffutils_a_SOURCES): Add xstrtoumax.c.
1194170754Sdelphij
1195170754Sdelphij	* cmp.c: <xstrtol.h>: Include.
1196170754Sdelphij	(ignore_initial): Now an array with 2 elements.  All uses changed.
1197170754Sdelphij	(bytes): New var.
1198170754Sdelphij	(HELP_OPTION): New constant.
1199170754Sdelphij	(long_options, main): Use it.
1200170754Sdelphij	(long_options, option_help_msgid, main, cmp):
1201170754Sdelphij	Add support for -n or --bytes.
1202170754Sdelphij	(parse_ignore_initial): New function.
1203170754Sdelphij	(option_help_msgid, main): Add -i M:N.
1204170754Sdelphij	(usage, main): Add two optional trailing operands, a la BSD.
1205170754Sdelphij	(main): setmode -> set_binary_mode.
1206170754Sdelphij	(cmp): Report byte number of what we've seen, not of the entire file.
1207170754Sdelphij	This is to be consistent with the line number, which is always relative
1208170754Sdelphij	with what we've seen.
1209170754Sdelphij
1210170754Sdelphij2001-12-02  Paul Eggert  <eggert@twinsun.com>
1211170754Sdelphij
1212170754Sdelphij	* diff.c (main, compare_files): setmode -> set_binary_mode.
1213170754Sdelphij
1214170754Sdelphij	* xstrtol.c (__xstrtol): Don't accept 'Ki'; require 'KiB'.
1215170754Sdelphij
1216170754Sdelphij	* xstrtol.c (__xstrtol): Add support for IEC 60027-2.
1217170754Sdelphij
1218170754Sdelphij2001-11-25  Paul Eggert  <eggert@twinsun.com>
1219170754Sdelphij
1220170754Sdelphij	* NEWS, configure.ac (AM_INIT_AUTOMAKE): Version 2.7.3.
1221170754Sdelphij
1222170754Sdelphij	* README-alpha: New file.
1223170754Sdelphij
1224170754Sdelphij	* src/Makefile.am (INCLUDES): Add -I../lib, for regex.h.
1225170754Sdelphij
1226170754Sdelphij	* configure.ac:
1227170754Sdelphij	Don't set LIB_CLOCK_GETTIME to 'none required'; set it to
1228170754Sdelphij	the empty string instead.
1229170754Sdelphij
1230170754Sdelphij	* lib/Makefile.am (EXTRA_DIST): Add strtoimax.c, strtol.c.
1231170754Sdelphij
1232170754Sdelphij	* Makefile.am (SUBDIRS): Put intl before lib, so that libintl.h exists.
1233170754Sdelphij
1234170754Sdelphij	* lib/Makefile.am (noinst_HEADERS): Add unlocked-io.h.
1235170754Sdelphij
1236170754Sdelphij	* configure.ac (__EXTENSIONS__): New define, for the unlocked macros.
1237170754Sdelphij
1238170754Sdelphij	* README: Add copyright notice.
1239170754Sdelphij	Remove stuff that doesn't apply any more.
1240170754Sdelphij
1241170754Sdelphij	* doc/diff.texi: offsets -> indices for cmp
1242170754Sdelphij
1243170754Sdelphij	* src/cmp.c (option_help_msgid): offsets -> indices
1244170754Sdelphij
1245170754Sdelphij	* src/diff.c (option_help_msgid):
1246170754Sdelphij	Don't mention --binary on POSIX hosts.
1247170754Sdelphij
1248170754Sdelphij	* src/sdiff.c (STRIP_TRAILING_CR_OPTION): New constant.
1249170754Sdelphij	(longopts, option_help_msgid, main): Add -E, --ignore-tab-expansion,
1250170754Sdelphij	--strip-trailing-cr.
1251170754Sdelphij
1252170754Sdelphij	* doc/diff.texi: Change direcategory from Utilities to GNU Packages.
1253170754Sdelphij	Add individual utilities.
1254170754Sdelphij	Switch to Free Documentation License.
1255170754Sdelphij	@code -> @command
1256170754Sdelphij	@samp -> @option
1257170754Sdelphij	GNU -> @sc{gnu}
1258170754Sdelphij	Expand tabs to spaces, except when in an example that actually
1259170754Sdelphij	uses tabs.
1260170754Sdelphij	Prefer @node with just one arg.
1261170754Sdelphij	Document -E or --ignore-tab-expansion, --strip-trailing-cr,
1262170754Sdelphij	--ignore-file-name-case.
1263170754Sdelphij	Regular expressions are now grep style, not Emacs style.
1264170754Sdelphij	cmp's -c or --print-chars option is now -b or --print-bytes.
1265170754Sdelphij	Time stamps now depend on LC_TIME.
1266170754Sdelphij	-p now implies ^[[:alpha:]$_].
1267170754Sdelphij	Flags now include ' and 0.
1268170754Sdelphij	cmp -i is an alias for --ignore-initial
1269170754Sdelphij	Document --from-file, --to-file.
1270170754Sdelphij	Document DIFF_OPTIONS.
1271170754Sdelphij
1272170754Sdelphij	* configure.ac (AC_CHECK_FUNCS): Add gettimeofday, clock_gettime.
1273170754Sdelphij	(LIB_CLOCK_GETTIME): New subst.
1274170754Sdelphij
1275170754Sdelphij	* src/system.h: Assume C89 or better.
1276170754Sdelphij	(_GNU_SOURCE): Remove; config.h now defines it.
1277170754Sdelphij	(alloca): Declare like coreutils does it.
1278170754Sdelphij	(verify, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, O_RDWR,
1279170754Sdelphij	S_IRUSR, S_IWUSR): New macros.
1280170754Sdelphij	(STAT_BLOCKSIZE): Parenthesize definiens.
1281170754Sdelphij	<inttypes.h>: Include if HAVE_INTTYPES_H.
1282170754Sdelphij	(CHAR_MAX, INT_MAX): Remove.
1283170754Sdelphij	(PTRDIFF_MAX, SIZE_MAX): New macros.
1284170754Sdelphij	(strtoumax): New decl.
1285170754Sdelphij	Include stddef.h.
1286170754Sdelphij	(bzero): Remove.
1287170754Sdelphij	(bindtextdomain, textdomain, N_): New macros.
1288170754Sdelphij	(ISPRINT, ISSPACE): Remove ifndef wrappers.
1289170754Sdelphij	(ISUPPER, ISDIGIT): Remove.
1290170754Sdelphij	(TOLOWER): New macro.
1291170754Sdelphij	(MIN): Renamed from min; all callers changed.
1292170754Sdelphij	(MAX): Likewise, from max.
1293170754Sdelphij	(lin): New type.
1294170754Sdelphij	(LIN_MAX): New macro.
1295170754Sdelphij	(file_name_cmp): Renamed from filename_cmp.  All callers changed.
1296170754Sdelphij	(file_name_lastdirchar): Renamed from file_name_lastdirchar.
1297170754Sdelphij	All callers changed.
1298170754Sdelphij	(could_be_mvfs_stat_bug, could_be_nfs_stat_bug,
1299170754Sdelphij	dev_may_have_duplicate_ino): Remove.
1300170754Sdelphij	(HAVE_SETMODE, NULL_DEVICE): New macros.
1301170754Sdelphij	(same_file): Do not check attributes.
1302170754Sdelphij	(same_file_attributes): New macro.
1303170754Sdelphij
1304170754Sdelphij	* src/util.c: Assume C89 or better.
1305170754Sdelphij	int -> bool for booleans.
1306170754Sdelphij	int -> lin for line numbers.
1307170754Sdelphij	int -> size_t for sizes.
1308170754Sdelphij	Use angle-brackets when including quotesys.h.
1309170754Sdelphij	Include error.h, regex.h, xalloc.h.
1310170754Sdelphij	(message5): sizeof -> offsetof
1311170754Sdelphij	(begin_output): Invoke pr without -f.
1312170754Sdelphij	(lines_differ): Renamed from line_cmp, and return bool not 3-way int.
1313170754Sdelphij	All callers changed.
1314170754Sdelphij	Add support for IGNORE_TAB_EXPANSION.
1315170754Sdelphij	(change_letter): Now an array rather than a function.  All
1316170754Sdelphij	callers changed.
1317170754Sdelphij	(translate_range): Translate line numbers to long, not lin,
1318170754Sdelphij	for convenience with printf.
1319170754Sdelphij	(analyze_hunk): Return enum changes instead of a count of
1320170754Sdelphij	inserts and deletes.  All callers changed.
1321170754Sdelphij	(zalloc): New function.
1322170754Sdelphij
1323170754Sdelphij	* src/side.c: Assume C89 or better.
1324170754Sdelphij	int -> bool for booleans.
1325170754Sdelphij	int -> lin for line numbers.
1326170754Sdelphij
1327170754Sdelphij	* src/sdiff.c: Assume C89 or better.
1328170754Sdelphij	int -> bool for booleans.
1329170754Sdelphij	int -> lin for line numbers.
1330170754Sdelphij	Use angle-brackets when including getopt.h, quotesys.h.
1331170754Sdelphij	Include error.h, freesoft.h, stdio.h, xalloc.h.
1332170754Sdelphij	(copyright_string): Use only most recent year.
1333170754Sdelphij	(authorship_msgid, option_help_msgid): Wrap in N_().
1334170754Sdelphij
1335170754Sdelphij	(tmpname): Now volatile.
1336170754Sdelphij	(tmpmade): Remove.
1337170754Sdelphij	(tmp): New var.
1338170754Sdelphij	(private_tempnam, exists, letters): Remove.
1339170754Sdelphij	(temporary_file): New function.
1340170754Sdelphij	(edit): Use it.
1341170754Sdelphij	(interact): Use strtoumax, not atoi.
1342170754Sdelphij
1343170754Sdelphij	* src/normal.c: Assume C89 or better.
1344170754Sdelphij	int -> lin for line numbers.
1345170754Sdelphij
1346170754Sdelphij	* src/io.c: Assume C89 or better.
1347170754Sdelphij	int -> bool for booleans.
1348170754Sdelphij	int -> lin for line numbers.
1349170754Sdelphij	int -> size_t for sizes.
1350170754Sdelphij	Use angle-brackets when including cmpbuf.h.
1351170754Sdelphij	Include regex.h, xalloc.h.
1352170754Sdelphij	(word): Remove; now done in system.h.
1353170754Sdelphij	(hash_value): New type; use it instead of 'unsigned' for hash values.
1354170754Sdelphij	(file_block_read): New function.
1355170754Sdelphij	(sip, slurp): Use it.  Now static.
1356170754Sdelphij	(sip): Ensure block size is a multiple of word size.  Clear eof flag.
1357170754Sdelphij	(slurp): Use xalloc_die to report memory exhaustion.
1358170754Sdelphij	(find_and_hash_each_line): Use TOLOWER instead of _tolower.
1359170754Sdelphij	Add support for IGNORE_TAB_EXPANSION.
1360170754Sdelphij	(prepare_text_end): Strip trailing CR if requested.
1361170754Sdelphij	(find_identical_ends): Prepare the text only once,
1362170754Sdelphij	if they're duplicates.
1363170754Sdelphij	Let the compiler take advantage more of the fact that the buffers are
1364170754Sdelphij	word-aligned.
1365170754Sdelphij	(primes): Remove.
1366170754Sdelphij	(prime_offset): New var.
1367170754Sdelphij	(read_var): Use prime_offset instead of primes.
1368170754Sdelphij	Use zalloc instead of xmalloc + bzero.
1369170754Sdelphij
1370170754Sdelphij	* src/ifdef.c: Assume C89 or better.
1371170754Sdelphij	int -> lin for line numbers.
1372170754Sdelphij	(format_group): Use strtoumax to parse line numbers.
1373170754Sdelphij	(format_group, print_ifdef_lines): Use do_printf_spec to
1374170754Sdelphij	handle printf specs.
1375170754Sdelphij	(groups_letter_value): Don't use _tolower; it's locale-dependent.
1376170754Sdelphij	(do_printf_spec): Renamed from scan_printf_spec; now does the printing.
1377170754Sdelphij
1378170754Sdelphij	* src/ed.c: Assume C89 or better.
1379170754Sdelphij	int -> lin for line numbers (or 'long' when that's more convenient).
1380170754Sdelphij	(print_ed_hunk): Fix bug when handling double-dot inserts.
1381170754Sdelphij
1382170754Sdelphij	* src/dir.c: Assume C89 or better.
1383170754Sdelphij	int -> bool for booleans.
1384170754Sdelphij	Include error.h, exclude.h, xalloc.h.
1385170754Sdelphij
1386170754Sdelphij	(dir_sort): Return 0 on error, 1 on success.  All callers changed.
1387170754Sdelphij	compare_names -> compare_names_for_qsort.
1388170754Sdelphij
1389170754Sdelphij	(compare_names): Try strcasecmp if ignore_file_name_case.  Then try
1390170754Sdelphij	strcoll.  Use file_name_cmp only as a last resort.  Warn about
1391170754Sdelphij	strcasecmp or strcoll failure.
1392170754Sdelphij	(compare_names_for_qsort): New function.
1393170754Sdelphij
1394170754Sdelphij	(diff_dirs): Use compare_names rather than filename_cmp.
1395170754Sdelphij
1396170754Sdelphij	* src/diff3.c: Assume C89 or better.
1397170754Sdelphij	int -> bool for booleans.
1398170754Sdelphij	int -> lin for line numbers.
1399170754Sdelphij	Use angle-brackets when including getopt.h, quotesys.h.
1400170754Sdelphij	Include error.h, freesoft.h, inttostr.h, xalloc.h.
1401170754Sdelphij	(copyright_string): Use only most recent year.
1402170754Sdelphij	(authorship_msgid, option_help_msgid): Wrap in N_().
1403170754Sdelphij
1404170754Sdelphij	Rename the following variables for consistency with user-visible
1405170754Sdelphij	option spellings.  All uses changed.
1406170754Sdelphij	(text): Renamed from always_text.
1407170754Sdelphij	(initial_tab): Renamed from tab_align_flag.
1408170754Sdelphij
1409170754Sdelphij	(horizon_lines): Remove.  Remove all uses.
1410170754Sdelphij
1411170754Sdelphij	(main): Invoke bindtextdomain and textdomain after setlocale.
1412170754Sdelphij	Rename "DIFF" to "DIFF_PROGRAM".
1413170754Sdelphij
1414170754Sdelphij	Try to compare file0 to file1, because this is where changes are
1415170754Sdelphij	expected to come from.  Diffing between these pairs of files is more
1416170754Sdelphij	likely to avoid phantom changes from file0 to file1.
1417170754Sdelphij	However, use file2 as the common file if this is a 3-way diff,
1418170754Sdelphij	for backward compatibility.  Suggested by Karl Tomlinson.
1419170754Sdelphij
1420170754Sdelphij	(create_diff3_block): Use xcalloc instead of malloc + bzero.
1421170754Sdelphij
1422170754Sdelphij	(INT_STRLEN_BOUND): Remove; now in system.h.
1423170754Sdelphij
1424170754Sdelphij	(read_diff): Always use --horizon-lines=100 rather than trying
1425170754Sdelphij	to guess it.
1426170754Sdelphij	Do not pass --inhibit-hunk-merge.
1427170754Sdelphij	Minimum chunk size is 1, not 8KiB.
1428170754Sdelphij	Use xalloc_die to report memory exhaustion.
1429170754Sdelphij	(undotlines): Use long for start, not int.
1430170754Sdelphij
1431170754Sdelphij	* src/diff.h: Assume C89 or better.
1432170754Sdelphij	int -> bool for booleans.
1433170754Sdelphij	int -> lin for line numbers.
1434170754Sdelphij	Don't include regex.h.
1435170754Sdelphij	(enum changes): New enum.
1436170754Sdelphij	(enum line_class): Remove; subsumed by enum changes.
1437170754Sdelphij	(enum output_style): New constant OUTPUT_UNSPECIFIED.
1438170754Sdelphij
1439170754Sdelphij	(ignore_space_change_flag, ignore_all_space_flag): Remove.
1440170754Sdelphij	(ignore_white_space): New decl, subsuming the above two.  All
1441170754Sdelphij	uses changed.
1442170754Sdelphij
1443170754Sdelphij	Rename the following decls for consistency with user-visible
1444170754Sdelphij	option spellings.  All uses changed.
1445170754Sdelphij	(text): Renamed from always_text_flag.
1446170754Sdelphij	(ignore_blank_lines): Renamed from ignore_blank_lines_flag.
1447170754Sdelphij	(ignore_case): Renamed from ignore_case_flag.
1448170754Sdelphij	(brief): Renamed from no_details_flag.
1449170754Sdelphij	(initial_tab): Renamed from tab_align_flag.
1450170754Sdelphij	(expand_tabs): Renamed from tab_expand_flag.
1451170754Sdelphij	(starting_file): Renamed from dir_start_file.
1452170754Sdelphij	(paginate): Renamed from paginate_flag.
1453170754Sdelphij	(sdiff_merge_assist): Renamed from sdiff_help_sdiff.
1454170754Sdelphij	(left_column): Renamed from sdiff_left_only.
1455170754Sdelphij	(suppress_common_lines): Renamed from sdiff_skip_common_lines.
1456170754Sdelphij	(speed_large_files): Renamed from heuristic.
1457170754Sdelphij	(minimal): Renamed from no_discards.
1458170754Sdelphij
1459170754Sdelphij	(inhibit_hunk_merge): Remove.
1460170754Sdelphij
1461170754Sdelphij	(strip_trailing_cr, excluded, time_format): New decls.
1462170754Sdelphij
1463170754Sdelphij	(files_can_be_treated_as_binary): Renamed from ignore_some_changes.
1464170754Sdelphij
1465170754Sdelphij	(group_format, line_format): Now char const *[], not char *[].
1466170754Sdelphij
1467170754Sdelphij	(struct file_data): Buffer is now word*, not char*, as it's always
1468170754Sdelphij	aligned and this can help the compiler.  buffered_chars -> buffered
1469170754Sdelphij	(since it's a byte count, not a char count).  All uses changed.
1470170754Sdelphij	New member `eof'.
1471170754Sdelphij
1472170754Sdelphij	(FILE_BUFFER): New macro.
1473170754Sdelphij
1474170754Sdelphij	(excluded_filename, error, free_software_msgid): Remove decls; now in
1475170754Sdelphij	other .h files.
1476170754Sdelphij
1477170754Sdelphij	(sip, slurp): Remove decls.
1478170754Sdelphij	(file_block_read): New decl.
1479170754Sdelphij	(change_letter): Now an array, not a function.
1480170754Sdelphij	(lines_differ): Renamed from line_cmp.
1481170754Sdelphij	(analyze_hunk): Now returns enum changes rather than two change counts.
1482170754Sdelphij
1483170754Sdelphij	* src/Makefile.am (diff_LDADD): New symbol.
1484170754Sdelphij
1485170754Sdelphij	* src/diff.c: Assume C89 or better.
1486170754Sdelphij	int -> bool for booleans.
1487170754Sdelphij	long -> off_t for line numbers.
1488170754Sdelphij	Use angle-brackets when including getopt.h, fnmatch.h, quotesys.h.
1489170754Sdelphij	Include error.h, exclude.h, freesoft.h, hard-locale.h, prepargs.h,
1490170754Sdelphij	regex.h, signal.h, xalloc.h.
1491170754Sdelphij	(copyright_string): Use only most recent year.
1492170754Sdelphij	(authorship_msgid, option_help_msgid): Wrap in N_().
1493170754Sdelphij
1494170754Sdelphij	Rename the following variables for consistency with user-visible
1495170754Sdelphij	option spellings.  All uses changed.
1496170754Sdelphij	(binary): Renamed from binary_flag.
1497170754Sdelphij	(new_file): Renamed from entire_new_file_flag.
1498170754Sdelphij	(unidirectional_new_file): Renamed from unidirectional_new_file_flag.
1499170754Sdelphij	(report_identical_files): Renamed from print_file_same_flag.
1500170754Sdelphij
1501170754Sdelphij	(numeric_arg): Remove.
1502170754Sdelphij
1503170754Sdelphij	(exclude, exclude_alloc, exclude_count, excluded_filename, add_exclude,
1504170754Sdelphij	add_exclude_file):
1505170754Sdelphij	Remove; now done by exclude.h.
1506170754Sdelphij
1507170754Sdelphij	(BINARY_OPTION, FROM_FILE_OPTION, HELP_OPTION, HORIZON_LINES_OPTION,
1508170754Sdelphij	IGNORE_FILE_NAME_CASE_OPTION, INHIBIT_HUNK_MERGE_OPTION,
1509170754Sdelphij	LEFT_COLUMN_OPTION, LINE_FORMAT_OPTION, NORMAL_OPTION,
1510170754Sdelphij	SDIFF_MERGE_ASSIST_OPTION, STRIP_TRAILING_CR_OPTION,
1511170754Sdelphij	SUPPRESS_COMMON_LINES_OPTION, TO_FILE_OPTION,
1512170754Sdelphij	UNCHANGED_LINE_FORMAT_OPTION, OLD_LINE_FORMAT_OPTION,
1513170754Sdelphij	NEW_LINE_FORMAT_OPTION, UNCHANGED_GROUP_FORMAT_OPTION,
1514170754Sdelphij	OLD_GROUP_FORMAT_OPTION, NEW_GROUP_FORMAT_OPTION,
1515170754Sdelphij	CHANGED_GROUP_FORMAT_OPTION): New constants.
1516170754Sdelphij	(longopts, main): Use them.
1517170754Sdelphij
1518170754Sdelphij	(longopts, main, option_help_msgid): Add -E, --from-file, --to-file.
1519170754Sdelphij
1520170754Sdelphij	(main): Invoke bindtextdomain and textdomain after setlocale.
1521170754Sdelphij	Use grep syntax, not Emacs, for regular expressions.
1522170754Sdelphij	Use exclude.h, not our own functions.
1523170754Sdelphij	Use ISO 8601 time format in hard locales.
1524170754Sdelphij	Prepend DIFF_OPTIONS.
1525170754Sdelphij	Don't update ignore_some_changes.
1526170754Sdelphij	Use strtoumax instead of numeric_arg.
1527170754Sdelphij	Use specify_value when appropriate.
1528170754Sdelphij	error -> try_help when appropriate.
1529170754Sdelphij	-p now means ^[[:alpha:]$_], not ^[_a-zA-Z$].
1530170754Sdelphij	Ignore --inhibit-hunk-merge.
1531170754Sdelphij	Prefer changed group formats to unchanged ones.
1532170754Sdelphij	Remove now-unnecessary casts.
1533170754Sdelphij	Set files_can_be_treated_as_binary.
1534170754Sdelphij
1535170754Sdelphij	(specify_value): Renamed from specify_format.  All uses changed.
1536170754Sdelphij
1537170754Sdelphij	(specify_style): Default is now unspecified, not normal.  All
1538170754Sdelphij	uses changed.
1539170754Sdelphij
1540170754Sdelphij	(set_mtime_to_now): New function.
1541170754Sdelphij	(compare_files): Use it.  Use memset, not bzero.
1542170754Sdelphij	Set stdin mtime to current time even when stdin is not a regular file.
1543170754Sdelphij	Check for same file attributes, as well as for same file.
1544170754Sdelphij	Use files_can_be_treated_as_binary.
1545170754Sdelphij	"write failed" -> "standard output on output failure.
1546170754Sdelphij
1547170754Sdelphij	* src/context.c: Assume C89 or better.
1548170754Sdelphij	int -> lin for line numbers.
1549170754Sdelphij	Include inttostr.h, regex.h.
1550170754Sdelphij	(TIMESPEC_NS): New macro.
1551170754Sdelphij	(nstrftime): New decl.
1552170754Sdelphij	(print_context_label): Use nstrftime and time_format to format times.
1553170754Sdelphij	Print numeric time stamp value if localtime fails.
1554170754Sdelphij	(print_context_function): New function.
1555170754Sdelphij	(pr_context_hunk, pr_unidiff_hunk): Use it.
1556170754Sdelphij	(find_function): Use size_t for sizes, not int.
1557170754Sdelphij
1558170754Sdelphij	* src/cmp.c: Assume C89 or better.
1559170754Sdelphij	int -> bool for booleans.
1560170754Sdelphij	long -> off_t for line numbers.
1561170754Sdelphij	Use angle-brackets when including cmpbuf.h, getopt.h.
1562170754Sdelphij	Include error.h, freesoft.h, inttostr.h, xalloc.h.
1563170754Sdelphij	(copyright_string): Use only most recent year.
1564170754Sdelphij	(authorship_msgid): Wrap in N_().
1565170754Sdelphij	(buffer): Now word*, not char*.  All uses changed.
1566170754Sdelphij	(word): Remove macro; now in system.h.
1567170754Sdelphij	(long_options, option_help_msgid, main): -c --print-chars ->
1568170754Sdelphij	-b --print-bytes
1569170754Sdelphij	(check_stdout): "write failed" -> "standard output"
1570170754Sdelphij	(option_help_msgid): Wrap in N_().
1571170754Sdelphij	(main): Invoke bindtextdomain and textdomain after setlocale.
1572170754Sdelphij	Use strtoumax instead of doing the work ourselves.
1573170754Sdelphij	Check for same_file_attributes as well as same_file.
1574170754Sdelphij	(cmp): Use ssize_t for read returns, not size_t.
1575170754Sdelphij	Do not assume that size_t is not narrower than int.
1576170754Sdelphij	Do not assume that line numbers fit in 'long'.
1577170754Sdelphij	(block_compare_and_count, block_compare):
1578170754Sdelphij	Compiler now checks that buffers are word-aligned.
1579170754Sdelphij	(block_compare_and_count): Count sizes with size_t, not long.
1580170754Sdelphij	(sprintc): byte arg is unsigned char, not unsigned.
1581170754Sdelphij
1582170754Sdelphij	* src/analyze.c: Assume C89 or better.
1583170754Sdelphij	int -> lin for line numbers.
1584170754Sdelphij	int -> bool for booleans.
1585170754Sdelphij	unsigned int -> size_t for sizes.
1586170754Sdelphij	Use angle-brackets when including cmpbuf.h.
1587170754Sdelphij	Include error.h, regex.h, xalloc.h.
1588170754Sdelphij	(discard_confusing_lines, diff_2_files): Use zalloc rather
1589170754Sdelphij	than xalloc+bzero.
1590170754Sdelphij	(discard_confusing_lines): unsigned int -> lin for values that
1591170754Sdelphij	are really line numbers.
1592170754Sdelphij	(shift_boundaries): Do not inhibit hunk merges.
1593170754Sdelphij	(build_reverse_script, build_script, diff_2_files): Use |, not ||.
1594170754Sdelphij	(diff_2_files): no_details_flag & ~ignore_some_changes ->
1595170754Sdelphij	files_can_be_treated_as_binary.  Esure that buffer size is a multiple
1596170754Sdelphij	of sizeof (word).  Use file_block_read to read buffers.
1597170754Sdelphij	(diff_2_files): Abort if output style is not one of the
1598170754Sdelphij	expected styles.
1599170754Sdelphij
1600170754Sdelphij2001-11-23  Paul Eggert  <eggert@twinsun.com>
1601170754Sdelphij
1602170754Sdelphij	* src/Makefile.am, m4/vararrays.m4: New file.
1603170754Sdelphij
1604170754Sdelphij	* m4/prereq.m4 (jm_PREREQ_READUTMP):
1605170754Sdelphij	Remove, as it gives autoheader the willies.
1606170754Sdelphij
1607170754Sdelphij	* m4/README, lib/prepargs.h, lib/prepargs.c, lib/offtostr.c,
1608170754Sdelphij	lib/umaxtostr.c, lib/inttostr.c, lib/inttostr.h,
1609170754Sdelphij	lib/imaxtostr.c, lib/freesoft.h: New files.
1610170754Sdelphij
1611170754Sdelphij	* lib/freesoft.c: Include config.h, freesoft.h rather than diff.h.
1612170754Sdelphij	(free_software_msgid): Wrap contents in N_.
1613170754Sdelphij
1614170754Sdelphij	* lib/cmpbuf.h: Use prototypes instead of old-style functions.
1615170754Sdelphij
1616170754Sdelphij	* lib/cmpbuf.c:
1617170754Sdelphij	Don't include system.h; instead, include config.h, unistd.h.
1618170754Sdelphij	Use prototypes instead of old-style functions.
1619170754Sdelphij	(block_read): Don't assume that int is no wider than size_t.
1620170754Sdelphij
1621170754Sdelphij	* lib/Makefile.am, po/POTFILES.in: New file.
1622170754Sdelphij
1623170754Sdelphij2001-11-22  Paul Eggert  <eggert@twinsun.com>
1624170754Sdelphij
1625170754Sdelphij	* pc/config.h:
1626170754Sdelphij	Define filename_cmp as an object-like macro, not as a function-like
1627170754Sdelphij	macro.
1628170754Sdelphij
1629170754Sdelphij	* exgettext: Always operate in the C locale.
1630170754Sdelphij	Set AWK using a method that works even with broken shells.
1631170754Sdelphij
1632170754Sdelphij	* doc/Makefile.am: New file.
1633170754Sdelphij
1634170754Sdelphij	* configure.ac (AC_INIT):
1635170754Sdelphij	Use src/diff.c, not diff.h, as the source files got removed.
1636170754Sdelphij	(AM_CONFIG_HEADER): Switch from AC_CONFIG_HEADER.
1637170754Sdelphij	(AC_ARG_PROGRAM, AC_MINIX): Remove.
1638170754Sdelphij
1639170754Sdelphij	(AC_PREREQ, AM_INIT_AUTOMAKE, ALL_LINGUAS, AC_PROG_AWK,
1640170754Sdelphij	AM_PROG_CC_STDC, AC_PROG_RANLIB, AC_C_INLINE, AC_C_VARARRAYS,
1641170754Sdelphij	DEFAULT_DIFF_PROGRAM, DEFAULT_EDITOR_PROGRAM,
1642170754Sdelphij	AC_STRUCT_ST_MTIM_NSEC): Add.
1643170754Sdelphij
1644170754Sdelphij	(PR_PROGRAM): AC_DEFINE.
1645170754Sdelphij
1646170754Sdelphij	(AC_SYS_LARGEFILE): Use instead of our homebrew version.
1647170754Sdelphij
1648170754Sdelphij	(_GNU_SOURCE): Define if not defined.
1649170754Sdelphij
1650170754Sdelphij	(AC_CHECK_HEADERS): Add stdbool.h, unistd.h.
1651170754Sdelphij	(AC_CHECK_TYPES): Add ptrdiff_t, uintmax_t.
1652170754Sdelphij	(AM_GNU_GETTEXT, XGETTEXT): Add.
1653170754Sdelphij
1654170754Sdelphij	(WITH_MVFS_STAT_BUG, WITH_NFS_STAT_BUG): Remove.
1655170754Sdelphij	(HAVE_MEMCHR): Remove.
1656170754Sdelphij	(AC_CHECK_FUNCS): Add diraccess.
1657170754Sdelphij	(AC_REPLACE_FUNCS): Add memchr, waitpid.
1658170754Sdelphij	(jm_FUNC_GLIBC_UNLOCKED_IO, jm_FUNC_GNU_STRFTIME, jm_FUNC_MALLOC,
1659170754Sdelphij	 jm_FUNC_REALLOC, jm_PREREQ_ERROR, jm_PREREQ_QUOTEARG, jm_PREREQ_REGEX,
1660170754Sdelphij	 jm_PREREQ_TEMPNAME, jm_AC_PREREQ_XSTRTOUMAX, AC_FUNC_FNMATCH): Add.
1661170754Sdelphij	(fnmatch.h, regex.h): Do not create these files unless we're using
1662170754Sdelphij	our own fnmatch and regex.
1663170754Sdelphij
1664170754Sdelphij	(AC_OUTPUT): Add doc/Makefile, intl/Makefile, lib/Makefile,
1665170754Sdelphij	lib/posix/Makefile, m4/Makefile, po/Makefile.in, src/Makefile.
1666170754Sdelphij
1667170754Sdelphij	* Makefile.am: New file.
1668170754Sdelphij
1669170754Sdelphij	* po/en_GB.po: Don't translate "program" to "programme".
1670170754Sdelphij
1671170754Sdelphij2001-11-20  Paul Eggert  <eggert@twinsun.com>
1672170754Sdelphij
1673170754Sdelphij	* m4/prereq.m4: New file.
1674170754Sdelphij
1675170754Sdelphij2001-03-16  Paul Eggert  <eggert@twinsun.com>
1676170754Sdelphij
1677170754Sdelphij	* lib/tempname.c (uint64_t):
1678170754Sdelphij	Define if not defined, and if UINT64_MAX is not defined.
1679170754Sdelphij
1680170754Sdelphij2001-02-26  Paul Eggert  <eggert@twinsun.com>
1681170754Sdelphij
1682170754Sdelphij	* lib/tempname.c: glibc 1.32
1683170754Sdelphij
1684170754Sdelphij2001-02-17  Paul Eggert  <eggert@twinsun.com>
1685170754Sdelphij
1686170754Sdelphij	* m4/Makefile.am.in: GNU fileutils 4.1
1687170754Sdelphij
1688170754Sdelphij2001-01-09  Paul Eggert  <eggert@twinsun.com>
1689170754Sdelphij
1690170754Sdelphij	* lib/tempname.c (struct_stat64): New macro.
1691170754Sdelphij	(direxists, __gen_tempname): Use it.  This avoids a portability problem
1692170754Sdelphij	with Solaris 8.
1693170754Sdelphij
1694170754Sdelphij	* lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
1695170754Sdelphij	(<stddef.h>, <stdint.h>, <string.h>):
1696170754Sdelphij	Include only if STDC_HEADERS || _LIBC.
1697170754Sdelphij	(<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
1698170754Sdelphij	(<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
1699170754Sdelphij	(<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
1700170754Sdelphij	(__set_errno): Define this macro if <errno.h> doesn't.
1701170754Sdelphij	(P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
1702170754Sdelphij	Define these macros if <stdio.h> doesn't.
1703170754Sdelphij	(S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
1704170754Sdelphij	Define these macros if <sys/stat.h>
1705170754Sdelphij	doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
1706170754Sdelphij	(stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
1707170754Sdelphij	__xstat64): Define if not _LIBC.
1708170754Sdelphij	(__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
1709170754Sdelphij	(__gen_tempname): Invoke gettimeofday only if HAVE_GETTIMEOFDAY
1710170754Sdelphij	|| _LIBC; otherwise, fall back on plain "time".
1711170754Sdelphij	Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
1712170754Sdelphij
1713170754Sdelphij	* lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
1714170754Sdelphij
1715170754Sdelphij2000-10-25  Paul Eggert  <eggert@twinsun.com>
1716170754Sdelphij
1717170754Sdelphij	* lib/hard-locale.c: New file.
1718170754Sdelphij
1719170754Sdelphij2000-02-05  Paul Eggert  <eggert@twinsun.com>
1720170754Sdelphij
1721170754Sdelphij	* exgettext: From GCC repository
1722170754Sdelphij
1723170754Sdelphij1999-07-06  Paul Eggert  <eggert@twinsun.com>
1724170754Sdelphij
1725170754Sdelphij	* lib/mkstemp.c: glibc 2.2
1726170754Sdelphij
1727170754Sdelphij1998-12-11  Paul Eggert  <eggert@twinsun.com>
1728170754Sdelphij
1729170754Sdelphij	* src/sdiff.c (lf_snarf):
1730170754Sdelphij	Fix bug when help line wrapped around the input buffer.
1731170754Sdelphij
1732170754Sdelphij1998-09-15  Paul Eggert  <eggert@twinsun.com>
1733170754Sdelphij
1734170754Sdelphij	* diff.texi: Add @dircategory and @direntry.
1735170754Sdelphij
1736170754Sdelphij1998-09-14  Paul Eggert  <eggert@twinsun.com>
1737170754Sdelphij
1738170754Sdelphij	* Makefile.in (VERSION): Version 2.7.2.
1739170754Sdelphij	(DEFAULT_DIFF_PROGRAM): Renamed from DIFF_PROGRAM.
1740170754Sdelphij	(PR_PROGRAM): All `configure' to define it.
1741170754Sdelphij	(srcs): Add $(diffutils_srcs), freesoft.c, quotearg.c instead of
1742170754Sdelphij	quote.c, quotearg.h.
1743170754Sdelphij	(distfiles): Add acconfig.h, message/*.
1744170754Sdelphij	(all): Depend on $(destfiles), not info.
1745170754Sdelphij	(version.c): Parenthesize `GNU diffutils'.
1746170754Sdelphij	(common_o): Add freesoft.o
1747170754Sdelphij	(diff_o): quote.o -> quotearg.o
1748170754Sdelphij	(diff3_o, sdiff_o): Likewise.
1749170754Sdelphij	(diff.dvi): Depend on version.texi.
1750170754Sdelphij	(diff.o diff3.o quotearg.o sdiff.o util.o):
1751170754Sdelphij	New dependency on quotearg.h
1752170754Sdelphij	(diff3.o): DIFF_PROGRAM -> DEFAULT_DIFF_PROGRAM.
1753170754Sdelphij	(sdiff.o): Likewise.
1754170754Sdelphij	(messages.po): Remove.
1755170754Sdelphij	(message/msgid.po, message/template.po): New rules.
1756170754Sdelphij	(maintainer-clean): Renamed from realclean.
1757170754Sdelphij	(install): Install from source directory, if applicable.
1758170754Sdelphij	Invoke install-info if needed.
1759170754Sdelphij	(install-strip): New rule.
1760170754Sdelphij	(check): Set DIFF.
1761170754Sdelphij	(stamp-h.in): Don't put the date into the timestamp.
1762170754Sdelphij	(D_dirs): Add $D/message.
1763170754Sdelphij	($D.tar.gz): Compress with gzip -9.
1764170754Sdelphij	Don't use ln to create distribution; it doesn't work with symlinks.
1765170754Sdelphij	(srcs, distfiles, diff_o, diff3_o, sdiff_o): Rename quotearg.c to
1766170754Sdelphij	quotesys.c and quotearg.h to quotesys.h.
1767170754Sdelphij
1768170754Sdelphij	* configure.in (AC_PATH_PROG): Add PR_PROGRAM.
1769170754Sdelphij	If available, prefer support for large files unless the user specified
1770170754Sdelphij	one of the CPPFLAGS, LDFLAGS, or LIBS variables.
1771170754Sdelphij	(AC_STRUCT_ST_RDEV): Add.
1772170754Sdelphij	(HAVE_ST_FSTYPE_STRING): Add.
1773170754Sdelphij	(--with-mvfs-stat-bug, --with-nfs-stat-bug): New options.
1774170754Sdelphij	(HAVE_MEMCHR): New macro.
1775170754Sdelphij	(AC_CHECK_FUNCS): Add sicprocmask.
1776170754Sdelphij
1777170754Sdelphij	* diff.h (XTERN): Renamed from EXTERN.
1778170754Sdelphij	(struct filedata): Remove dir_p arg.
1779170754Sdelphij	(struct comparison): New type.
1780170754Sdelphij	(diff_2_files, diff_dirs)" Ise ot/
1781170754Sdelphij	(error): Add printf attribute if applicable.
1782170754Sdelphij	(free_software_msgid): New decl.
1783170754Sdelphij	(pr_program): New decl.
1784170754Sdelphij	(fatal): Add noreturn attribute.
1785170754Sdelphij	(pfatal_with_name): Likewise.
1786170754Sdelphij
1787170754Sdelphij	* system.h (__attribute__): New macro.
1788170754Sdelphij	(getenv): Don't declare if HAVE_STDLIB_H.
1789170754Sdelphij	(CHAR_MAX): New macro.
1790170754Sdelphij	(<locale.h>): New include.
1791170754Sdelphij	(<locale.h>): Include before <libintl.h>.
1792170754Sdelphij	(could_be_mvfs_stat_bug, could_be_nfs_stat_bug,
1793170754Sdelphij	dev_may_have_duplicate_ino, same_special_file): New macros.
1794170754Sdelphij	(same_file): Use them.
1795170754Sdelphij
1796170754Sdelphij	* cmp.c (authorship_msgid): New var.
1797170754Sdelphij	(free_software_msgid): New decl.
1798170754Sdelphij	(error): Now has printf attribute.
1799170754Sdelphij	(try_help): Likewise.
1800170754Sdelphij	(long_options): Don't assume ASCII.
1801170754Sdelphij	(try_help): Now accepts operand arg.
1802170754Sdelphij	(main): Check for -1, not EOF, when calling getopt_long.
1803170754Sdelphij	Report --ignore-initial value when complaining about it.
1804170754Sdelphij	Output copyright and free software info with -v.
1805170754Sdelphij	Don't assume ASCII.
1806170754Sdelphij	Report last operand when one is missing.
1807170754Sdelphij	Report text of extra operand.
1808170754Sdelphij	Move block_read into cmpbuf.c.
1809170754Sdelphij
1810170754Sdelphij	* diff.c (authorship_msgid): New var.
1811170754Sdelphij	(quotesys.h): Include.
1812170754Sdelphij	(ck_atoi): Remove.
1813170754Sdelphij	(function_regexp_list, ignore_regexp_list): Now static.
1814170754Sdelphij	(binary_flag): Renamed from binary_I_O.
1815170754Sdelphij	(entire_new_file_flag, unidirectional_new_file_flag,
1816170754Sdelphij	print_file_same_flag): Now static.
1817170754Sdelphij	(numeric_arg): Renamed from ck_atoi.
1818170754Sdelphij	New argument specifying the argument type.
1819170754Sdelphij	(longopts, main): Don't assume ASCII.
1820170754Sdelphij	(longopts): Remove old aliases --file-label, --entire-new-file,
1821170754Sdelphij	--ascii, --print.
1822170754Sdelphij	(main): Check for -1, not EOF, when calling getopt_long.
1823170754Sdelphij	Use numeric_arg to report errors.
1824170754Sdelphij	Report error if -l specified but pagination is not supported.
1825170754Sdelphij	Report error if -S is specified twice with conflicting values.
1826170754Sdelphij	Have --version conform to the new GNU standards.
1827170754Sdelphij	Add new --from-file, --to-file, --inhibit-hun,-merge options.
1828170754Sdelphij	Make the horizon at least as large as the context.
1829170754Sdelphij	Add casts to pacify gcc -Wall.
1830170754Sdelphij	(try_help): Add operand arg.
1831170754Sdelphij	(option_help_msgid): Doc fix to match above.
1832170754Sdelphij	(usage): Indent option_help_msgid.
1833170754Sdelphij	(compare_files): Now takes struct comparison
1834170754Sdelphij	instead of two directory names and a depth.
1835170754Sdelphij	(NONEXISTENT, UNOPENED, ERRNO_ENCODE, ERRNO_DECODE):
1836170754Sdelphij	New macros.
1837170754Sdelphij	(DIR_P): New macro.
1838170754Sdelphij	Report error if fflush does.
1839170754Sdelphij
1840170754Sdelphij	* cmpbuf.c (block_read): Moved here from cmp.c.
1841170754Sdelphij
1842170754Sdelphij	* cmpbuf.h (block_read): New decl.
1843170754Sdelphij
1844170754Sdelphij	* io.c (cmpbuf.h): Include.
1845170754Sdelphij	(slurp): Check for arithmetic overflow when computing buffer size.
1846170754Sdelphij
1847170754Sdelphij	* dir.c (diff_dirs): Check for recursive directory loop.
1848170754Sdelphij	Arg is now struct comparison const *.
1849170754Sdelphij	(dir_loop): New function
1850170754Sdelphij
1851170754Sdelphij	* analyze.c (no_discards): Remove.
1852170754Sdelphij	(inhibit): Remove.
1853170754Sdelphij	(shift_boundaries): Don't inhibit.  If inhibit_hunk_merge is nonzero,
1854170754Sdelphij	don't merge hunks.
1855170754Sdelphij	(briefly_report): Now returns 2 if trouble, CHANGES otherwise.
1856170754Sdelphij	(diff_2_files): Now takes struct comparison.  If briefly_report reports
1857170754Sdelphij	trouble, pass it on to caller.
1858170754Sdelphij
1859170754Sdelphij	* side.c (print_half_line): Add brackets to pacify GCC -Wall.
1860170754Sdelphij
1861170754Sdelphij	* sdiff.c (quotesys.h): Include.
1862170754Sdelphij	(DIFF_PROGRAM, DEFAULT_EDITOR_PROGRAM): Remove.
1863170754Sdelphij	(free_software_msgid, editor_program, not_found): New vars.
1864170754Sdelphij	(diffbin, edbin): Remove.
1865170754Sdelphij	(editor_program): Renamed from edbin.
1866170754Sdelphij	(edit, interact): Now take extra string arg.
1867170754Sdelphij	(exiterr, fatal, perror_fatal, try_help): Add noreturn attribute.
1868170754Sdelphij	(sigset_t, sigemptyset, sigmask, sigaddset, SIG_BLOCK, SIG_SETMASK):
1869170754Sdelphij	(sigprocmask): New macros, if !HAVE_SIGPROCMASK.
1870170754Sdelphij	(error): Now has printf attribute.
1871170754Sdelphij	(longopts, main): Don't assume ASCII.
1872170754Sdelphij	(try_help): New operand arg.
1873170754Sdelphij	(usage): Conform to new GNU standards.
1874170754Sdelphij	(main): Set static vars for editor and diff program.
1875170754Sdelphij	Compare getopt_long result to -1, not EOF.
1876170754Sdelphij	-v conforms to new GNU standard.
1877170754Sdelphij	Complain better about extra and missing operands.
1878170754Sdelphij	If HAVE_VFORK, block SIGINT and SIGPIPE in the parent, since when
1879170754Sdelphij	the child munges its handlers it may somp on the parent.
1880170754Sdelphij	Pass rname to intract.
1881170754Sdelphij	Translate not-found message before forking.
1882170754Sdelphij	(give_help): Just output it all at once.
1883170754Sdelphij	(edit): New args lname, lline, rname, rline.
1884170754Sdelphij	(edit): New command 'd'.
1885170754Sdelphij	(interact): New args lname, rname.
1886170754Sdelphij
1887170754Sdelphij	* util.c (quotesys.h): Include.
1888170754Sdelphij	(PR_PROGRAM): New macro.
1889170754Sdelphij	(pfatal_with_name): Abort if error returns.
1890170754Sdelphij	(fatal): Likewise.
1891170754Sdelphij	(print_message_queue): Free message chain after printing.
1892170754Sdelphij	(currently_recursive): Renamed from current_depth, and now a boolean.
1893170754Sdelphij	(begin_output): Report error if fflush does.
1894170754Sdelphij	Avoid stdio and gettext in child.
1895170754Sdelphij
1896170754Sdelphij	* diff3.c (quotesys.h): Include.
1897170754Sdelphij	(free_software_msgid): New decl.
1898170754Sdelphij	(RANGE_START, RANGE_END): Renamed from START and END.
1899170754Sdelphij	(fatal, perror_with_exit, try_help): Add noreturn attribute.
1900170754Sdelphij	(error): Add printf attribute.
1901170754Sdelphij	(diff_program): Now a ptr, not an array.
1902170754Sdelphij	Initialize to DEFAULT_DIFF_PROGRAM instead of DIFF_PROGRAM.
1903170754Sdelphij	(longopts, main): Don't assume ASCII.
1904170754Sdelphij	(main): Use DIFF environment var to specify name of diff program.
1905170754Sdelphij	Compare getopt_long result to -1, not EOF.
1906170754Sdelphij	-v now reports version according to new GNU standard.
1907170754Sdelphij	Report spelling of extra operand, or last operand before missing one.
1908170754Sdelphij	(try_help): Now takes operand arg.
1909170754Sdelphij	(option_help_ms): Fix typo: missing comma.
1910170754Sdelphij	(usage): Update as per current GNU standards.
1911170754Sdelphij	(environ): Remove decl.
1912170754Sdelphij	(read_diff): Invoke diff with --inhibit-hunk-merge.
1913170754Sdelphij	Translate `not found' message before forking.
1914170754Sdelphij	Quote name of diff program.
1915170754Sdelphij	Pass horizon lines.
1916170754Sdelphij	`memory exhausted' -> `Memory exhausted'
1917170754Sdelphij
1918170754Sdelphij	* pc/makefile (%.exe): Remove.
1919170754Sdelphij	(pc-clean): Remove *.exe
1920170754Sdelphij	* pc/makefile.sed (DEFAULT_DIFF_PROGRAM): Renamed from DIFF_PROGRAM.
1921170754Sdelphij	When editing mkinstalldirs rule, look for exec_prefix and prefix.
1922170754Sdelphij	Add .exe when installing files.
1923170754Sdelphij	* pc/emx/config.h (same_file): Add.
1924170754Sdelphij	* pc/config.h (same_file): Remove.
1925170754Sdelphij	* pc/djgpp/config.h: Adjust to latest patch from eliz.
1926170754Sdelphij	* pc/djgpp/makefile.sed: Don't alter PROGRAMS.
1927170754Sdelphij	* pc/pc.c: Update FSF address.
1928170754Sdelphij	(quote_system_arg): Renamed from system_quote_arg.
1929170754Sdelphij
1930170754Sdelphij	* README: Add --with-mvfs-stat-bug, --with-nfs-stat-bug.
1931170754Sdelphij
1932170754Sdelphij	* getmsgids: Add copyright date and update FSF address.
1933170754Sdelphij
1934170754Sdelphij	* diff.texi: Document recent changes.
1935170754Sdelphij	The patch doc still corresponds to patch 2.2, unfortunately.
1936170754Sdelphij	Update GNU bug reporting address.  Omit Larry Wall's address;
1937170754Sdelphij	it's obsolete and he's busy with perl.
1938170754Sdelphij
1939170754Sdelphij	* context.c: Fix spacing.
1940170754Sdelphij
1941170754Sdelphij	* NEWS: Mention --from-file=FILE, --to-file=FILE, ed.
1942170754Sdelphij
1943170754Sdelphij	* acconfig.h, freesoft.c, message/de.po, message/en_UK.po,
1944170754Sdelphij	message/es.po, message/fr.po, message/pl.po, message/sv.po:
1945170754Sdelphij	New files.
1946170754Sdelphij
1947170754Sdelphij	* ed.c: Remove `#if 0'ed code.
1948170754Sdelphij
1949170754Sdelphij	* normal.c, waitpid.c: Update FSF address.
1950170754Sdelphij
1951170754Sdelphij1998-03-15  Paul Eggert  <eggert@twinsun.com>
1952170754Sdelphij
1953170754Sdelphij	* quotesys.c: Renamed from quotearg.c.
1954170754Sdelphij
1955170754Sdelphij	* quotesys.h: Renamed from quotearg.h
1956170754Sdelphij	(__QUOTESYS_P): Renamed from __QUOTEARG_P.
1957170754Sdelphij
1958170754Sdelphij1997-05-05  Paul Eggert  <eggert@twinsun.com>
1959170754Sdelphij
1960170754Sdelphij	* quotesys.c, quotesys.h: New file.
1961170754Sdelphij
1962170754SdelphijMon Nov 14 05:10:56 1994  Paul Eggert  <eggert@twinsun.com>
1963170754Sdelphij
1964170754Sdelphij	Add internationalization support.
1965170754Sdelphij	Several messages have been changed slightly,
1966170754Sdelphij	to make them more consistent and easier to translate.
1967170754Sdelphij	All strings that are messages are passed through gettext once before
1968170754Sdelphij	being used, so that they can be localized.
1969170754Sdelphij	Each function and macro whose first parameter is a gettext msgid
1970170754Sdelphij	has had its first parameter's name changed so it ends in `msgid'.
1971170754Sdelphij	All arrays of msgids have had their names changed to end in `msgid'.
1972170754Sdelphij	`getmsgids' uses this to determine which strings are msgids.
1973170754Sdelphij
1974170754Sdelphij	* pc/COPYING, pc/INSTALL, pc/config.h,
1975170754Sdelphij	pc/djgpp/config.h, pc/djgpp/makefile.sed,
1976170754Sdelphij	pc/emx/config.h, pc/emx/diff.def, pc/emx/gnuregex.def,
1977170754Sdelphij	pc/emx/makefile.sed,
1978170754Sdelphij	pc/makefile, pc/makefile.sed, pc/pc.c: New files, for PC support.
1979170754Sdelphij
1980170754Sdelphij	* getmsgids: New file.
1981170754Sdelphij
1982170754Sdelphij	* Makefile.in (PACKAGE, VERSION, diffutils_srcs, D): New vars.
1983170754Sdelphij	(version.c, version.texi, messages.po): New files.
1984170754Sdelphij	messages.po is built automatically from source files and `getmsgids'.
1985170754Sdelphij	(distfiles): Add them, pc/*, and getmsgids.
1986170754Sdelphij	(diff.info): Now depends on version.texi.
1987170754Sdelphij	(realclean): Clean messages.po, version.*.
1988170754Sdelphij	(dist): Just build $D.tar.gz.
1989170754Sdelphij	($D.tar.gz): New file, takes over old `dist' function.
1990170754Sdelphij	Don't assume $(distfiles) are all in same directory.
1991170754Sdelphij
1992170754Sdelphij	* configure.in (AC_CHECK_HEADERS): Add libintl.h, locale.h.
1993170754Sdelphij	(AC_CHECK_LIB): Check for -lintl.
1994170754Sdelphij
1995170754Sdelphij	* analyze.c (briefly_report): Rewrite `message (A?"B":"C")' as
1996170754Sdelphij	`if (A) message ("B") : message ("C")'; this is for getmsgids.
1997170754Sdelphij	(briefly_report, diff_2_files): For label, use file_label if set.
1998170754Sdelphij	* diff.c (compare_files): Likewise.
1999170754Sdelphij
2000170754Sdelphij	* system.h (gettext): Declare; use a stub if ! HAVE_LIBINTL_H.
2001170754Sdelphij	(setlocale): Declare; use a stub if ! HAVE_LOCALE_H.
2002170754Sdelphij
2003170754Sdelphij	* cmp.c, diff.c, diff3.c, sdiff.c (main):
2004170754Sdelphij	Invoke setlocale first thing, to tell library we're internationalized.
2005170754Sdelphij	(option_help_msgid): New constant.
2006170754Sdelphij	(usage): Use it, so message is translated one option at a time.
2007170754Sdelphij	* sdiff (help_msgid, give_help): Likewise.
2008170754Sdelphij
2009170754Sdelphij	* cmp.c (sprintc): Renamed from `printc'.
2010170754Sdelphij	Now outputs to a buffer instead of stdout.
2011170754Sdelphij	(cmp): Use new sprintc; it's easier to internationalize.
2012170754Sdelphij
2013170754Sdelphij	* diff.c (main): -D FOO now outputs `/* ! FOO */ instead of
2014170754Sdelphij	`/* not FOO */'.
2015170754Sdelphij
2016170754Sdelphij	* sdiff.c (version_string): Fix decl typo: `const' was missing.
2017170754Sdelphij	(trapsigs): Ignore sigaction failure, to be compatible with `signal'.
2018170754Sdelphij
2019170754Sdelphij	* util.c (struct msg, message5, print_message_queue):
2020170754Sdelphij	Allocate just one block of memory to save a message.
2021170754Sdelphij
2022170754SdelphijWed Nov  9 17:42:44 1994  Paul Eggert  <eggert@twinsun.com>
2023170754Sdelphij
2024170754Sdelphij	* sdiff.c (trapsigs): Don't check signal return value, since it's
2025170754Sdelphij	bogus under djgpp.
2026170754Sdelphij
2027170754SdelphijMon Oct 31 07:27:27 1994  Paul Eggert  <eggert@twinsun.com>
2028170754Sdelphij
2029170754Sdelphij	* Makefile.in (srcs, diff_o, diff3_o, sdiff_o):
2030170754Sdelphij	New files quote.c, quote.o.
2031170754Sdelphij
2032170754Sdelphij	* diff.h (function_regexp, ignore_regexp): Replace lists of compiled
2033170754Sdelphij	regexps with these single compiled regexps.  All users changed.
2034170754Sdelphij	(regexp_list,function_regexp_list,ignore_regexp_list): Move to diff.c.
2035170754Sdelphij	* diff.c (add_regexp): Build one big regexp instead of a regexp list.
2036170754Sdelphij	(summarize_regexp_list): New function.
2037170754Sdelphij	(regexp_list): Redesigned struct; moved here from diff.h.
2038170754Sdelphij	(function_regexp_list, ignore_regexp_list): Likewise, for vars.
2039170754Sdelphij
2040170754Sdelphij	* context.c (find_function): Simplify interface:
2041170754Sdelphij	don't return size of function line.  All callers changed.
2042170754Sdelphij	(print_context_script, find_function): INT_MAX now denotes no
2043170754Sdelphij	previous match; this is simpler than `- file->prefix_lines - 1'.
2044170754Sdelphij
2045170754Sdelphij	* diff3.c (read_diff): Quote arguments with system_quote_arg.
2046170754Sdelphij	* sdiff.c (main): Use system_quote_arg to compute command.
2047170754Sdelphij	* diff.c (option_list): Quote options with system_quote_arg.
2048170754Sdelphij	* util.c (begin_output): Use system_quote_arg to compute command.
2049170754Sdelphij
2050170754Sdelphij	* util.c (pr_program): New var.
2051170754Sdelphij	(analyze_hunk): Fix off-by-1 line length bug.
2052170754Sdelphij	Match with one big regexp instead of a list of regexps.
2053170754Sdelphij	Use new `trivial_length' local instead of comparing first byte to `\n'.
2054170754Sdelphij	Help the compiler with linbuf local vars.
2055170754Sdelphij
2056170754Sdelphij	* system.h (system_quote_arg):
2057170754Sdelphij	New function; replaces SYSTEM_QUOTE_ARG macro.
2058170754Sdelphij
2059170754SdelphijSat Oct 15 20:09:12 1994  Paul Eggert  <eggert@twinsun.com>
2060170754Sdelphij
2061170754Sdelphij	* system.h (_tolower): Define if not already defined.
2062170754Sdelphij	* io.c (find_and_hash_each_line): Change tolower to _tolower; this
2063170754Sdelphij	speeds up diff -i considerably on some hosts (e.g. Solaris 2.3).
2064170754Sdelphij	* util.c (line_cmp): Likewise.
2065170754Sdelphij	* ifdef.c (groups_letter_value): Likewise.
2066170754Sdelphij
2067170754Sdelphij	* diff.h (ignore_some_line_changes): Remove.  All users changed.
2068170754Sdelphij	* io.c (find_and_hash_each_line): Don't invoke line_cmp if the length
2069170754Sdelphij	differs and -i is in force.  Don't assume ISSPACE ('\n') is nonzero.
2070170754Sdelphij
2071170754Sdelphij	* diff.h (xmalloc_exit_failure): New variable.
2072170754Sdelphij	All `main' programs set this variable at the start.
2073170754Sdelphij	xmalloc and xrealloc are now taken from GNU library.
2074170754Sdelphij	* cmp.c (main): Align buffer size to word size; some mallocs care.
2075170754Sdelphij	* io.c (slurp): Likewise.
2076170754Sdelphij	* diff.c (add_exclude): Can now assume xrealloc (0, ...) works.
2077170754Sdelphij	(add_regexp): Free storage on failure.  Allocate storage all at one go.
2078170754Sdelphij	* system.h (malloc, realloc): Remove unused declarations.
2079170754Sdelphij	* diff3.c, sdiff.c, util.c (xmalloc, xrealloc): Remove.
2080170754Sdelphij	* sdiff.c (diffarg): Take advantage of cleaner xrealloc semantics.
2081170754Sdelphij
2082170754Sdelphij	* io.c (ROL): Use sizeof to make it more generic.
2083170754Sdelphij
2084170754Sdelphij	* Makefile.in (common_o): New variable.
2085170754Sdelphij	Link error.o and xmalloc.o into all programs.
2086170754Sdelphij	(check): Depend on $(PROGRAMS).
2087170754Sdelphij
2088170754Sdelphij	* diff.h (error): Change to GNU library standard.  All callers changed.
2089170754Sdelphij	* diff3.c (main): Use strerror (EISDIR) instead of "Is a directory".
2090170754Sdelphij	(fatal, perror_with_exit): Use `error'.
2091170754Sdelphij	* util.c (perror_with_name, fatal): Use GNU `error'.
2092170754Sdelphij	(error): Remove.
2093170754Sdelphij
2094170754SdelphijWed Oct 12 17:04:40 1994  David J. MacKenzie  (djm@duality.gnu.ai.mit.edu)
2095170754Sdelphij
2096170754Sdelphij	* cmp.c (main): Set xmalloc_exit_failure.
2097170754Sdelphij
209830839SacheSat Oct  1 05:24:19 1994  Paul Eggert  <eggert@twinsun.com>
209930839Sache
210030839Sache	* Version 2.7 released.
210130839Sache
210230839Sache	* configure.in (AC_HEADER_SYS_WAIT): Add.
210330839Sache	(AC_CHECK_HEADERS): Remove sys/wait.h.
210430839Sache	(AC_CHECK_FUNCS): Add tmpnam.
210530839Sache	* system.h (<sys/wait.h>, WEXITSTATUS): Use simpler scheme
210630839Sache	now that HAVE_SYS_WAIT_H is not set on hosts
210730839Sache	that are incompatible with Posix applications.
210830839Sache
210930839Sache	* util.c (dir_file_pathname): Use filename_lastdirchar not strrchr.
211030839Sache	* sdiff.c (expand_name): Likewise.
211130839Sache	(private_tempnam): Use tmpnam if HAVE_TMPNAM; this simplifies porting.
211230839Sache	(exists, letters): Omit if HAVE_TMPNAM.
211330839Sache
211430839Sache	* diff3.c (read_diff): If STAT_BLOCKSIZE yields zero,
211530839Sache	adjust it to a more reasonable value.
211630839Sache
211730839SacheSat Sep 24 20:36:40 1994  Paul Eggert  <eggert@twinsun.com>
211830839Sache
211930839Sache	* sdiff.c (exists, private_tempname): Adopt latest GNU libc algorithm.
212030839Sache	(private_tempnam): Specialize for sdiff to avoid portability problems.
212130839Sache
212230839SacheThu Sep 22 16:47:00 1994  Paul Eggert  <eggert@twinsun.com>
212330839Sache
212430839Sache	* configure.in (AC_ARG_PROGRAM): Added.
212530839Sache	(AC_OUTPUT): Add [date > stamp-h].
212630839Sache
212730839Sache	* Makefile.in (DEFAULT_EDITOR_PROGRAM, DIFF_PROGRAM, LIBOBJS,
212830839Sache	NULL_DEVICE, PR_PROGRAM, PROGRAMS): New variables.
212930839Sache	(check, stamp-h.in, cmp.o, util.o): New targets.
213030839Sache	(edit_program_name): New variable; replaces old binprefix method.
213130839Sache	(install, uninstall): Use it.
213230839Sache	(binprefix): Removed.
213330839Sache	(distfiles): Add stamp-h.in.
213430839Sache	(clean): Clean stamp-h.
213530839Sache	(config.hin, config.h): Use time stamp files.
213630839Sache	(cmp_o): Add $(LIBOBJS).
213730839Sache	(install): Install info files from srcdir if they're not in `.'.
213830839Sache
213930839Sache	* cmp.c, io.c (word): Don't define if already defined.
214030839Sache
214130839Sache	* comp.c (main): Use setmode, not open(..., O_BINARY); this gets stdin.
214230839Sache	Use NULL_DEVICE instead of "/dev/null".
214330839Sache	(cmp): Use %lu instead of %ld when it is more likely to be right.
214430839Sache
214530839Sache	* diff.h (PR_FILE_NAME): Rename to PR_PROGRAM and move to Makefile.in,
214630839Sache	util.c.
214730839Sache
214830839Sache	* diff3.c (main): Give proper diagnostic if too many labels were given.
214930839Sache	(read_diff): Use SYSTEM_QUOTE_ARG.
215030839Sache
215130839Sache	* system.h: <string.h>: Include if HAVE_STRING_H, too.
215230839Sache	<ctype.h>: Include here.  All includers changed.
215330839Sache	(CTYPE_DOMAIN, ISDIGIT, ISPRINT, ISSPACE, ISUPPER): New macros that
215430839Sache	work around common <ctype.h> problems.
215530839Sache	(O_BINARY): Remove.
215630839Sache	(SYSTEM_QUOTE_ARG): New macros.
215730839Sache
215830839Sache	* diff.c: Add comment.
215930839Sache
216030839Sache	* util.c (PR_PROGRAM): Moved here from diff.h.
216130839Sache	(begin_output): Use SYSTEM_QUOTE_ARG.
216230839Sache
216330839Sache	* io.c (read_files): Set mode to binary before returning 1.
216430839Sache
216530839Sache	* sdiff.c (TMPDIR_ENV): New macro.
216630839Sache	(DEFAULT_EDITOR_PROGRAM): Renamed from DEFAULT_EDITOR for consistency.
216730839Sache	(expand_name): Change `isdir' to `is_dir' to avoid theoretical ctype
216830839Sache	namespace contamination.
216930839Sache	(main): Use SYSTEM_QUOTE_ARG.
217030839Sache	(private_tempnam): Don't access "/tmp" directly; use PVT_tmpdir.
217130839Sache
217230839SacheTue Sep 13 18:46:43 1994  Paul Eggert  <eggert@twinsun.com>
217330839Sache
217430839Sache	* configure.in (AC_FUNC_MEMCHR): Remove.  Autoconf didn't adopt this,
217530839Sache	since we need not worry about an old experimental library
217630839Sache	where memchr didn't work.
217730839Sache	(AC_FUNC_MEMCMP): Not needed, since we only test for equality.
217830839Sache	(AC_REPLACE_FUNCS): Add test for memchr.
217930839Sache	(AC_CHECK_FUNCS): Check for memchr, not memcpy, since it'll be cached.
218030839Sache	(AC_CHECK_HEADERS): Add string.h; regex.c uses on some old hosts.
218130839Sache
218230839Sache	* system.h (memcmp): Define in terms of bcmp.
218330839Sache	Use HAVE_MEMCHR to test for all mem* routines.
218430839Sache
218530839Sache	* Makefile.in (srcs): Remove memcmp.c.
218630839Sache	We use bcmp if memcmp doesn't work, since we only test for equality.
218730839Sache
218830839SacheMon Sep 12 15:52:22 1994  Paul Eggert  <eggert@twinsun.com>
218930839Sache
219030839Sache	* configure.in (AC_CONFIG_HEADER): Rename config.h.in to config.hin.
219130839Sache	(AC_ISC_POSIX, AC_MINIX): Go back to these old names for Autoconf 2.
219230839Sache	(AC_CHECK_HEADERS): Remove now-redundant check for <string.h>.
219330839Sache	(AC_CHECK_FUNCS): Check for strchr.
219430839Sache	(AC_FUNC_MEMCHR, AC_FUNC_MEMCMP, AC_CHECK_FUNCS): Use special-purpose
219530839Sache	macros when suitable.
219630839Sache	* memcmp.c: New file.
219730839Sache	* Makefile.in (CPPFLAGS, DEFS, CFLAGS, LDFLAGS, prefix, exec_prefix):
219830839Sache	Default to autoconf-specified strings.
219930839Sache	(COMPILE): Use the defaults.
220030839Sache	(srcs): Add memcmp.c.
220130839Sache	(distfiles): Rename config.h.in->config.hin, install.sh->install-sh.
220230839Sache	(Makefile, config.h, config.hin, config.status): Rework for
220330839Sache	compatibility with Autoconf 2.
220430839Sache	* io.c (binary_file_p): Assume non-broken memchr.
220530839Sache	* memchr.c: Assume compiler understands void *; otherwise
220630839Sache	we don't match GCC's internal declaration of memchr.
220730839Sache	* system.h: Use more modern autoconf approach to standard C headers.
220830839Sache	* version.c: Include <config.h>, not "config.h".
220930839Sache
221030839Sache	* diff.c, diff.h (ignore_some_line_changes):
221130839Sache	New variable; replaces `length_varies'.
221230839Sache	(line_end_char): Replace with '\n'; it wasn't being used consistently.
221330839Sache
221430839Sache	* io.c (find_and_hash_each_line): Fix inconsistencies with -b -w -i and
221530839Sache	incomplete lines.  Put incomplete lines into their own bucket.
221630839Sache	This means line_cmp no longer needs line length arguments,
221730839Sache	and equivalence classes' line lengths no longer need to include \n.
221830839Sache	Invoke line_cmp only if ignore_some_line_changes.
221930839Sache	(prepare_text_end): -B no longer ignores missing newlines.
222030839Sache	(read_files): Allocate another bucket for incomplete lines.
222130839Sache
222230839Sache	* util.c (line_cmp): Now takes just two arguments.  No longer
222330839Sache	optimizes for common case of exact equality; the caller does that
222430839Sache	optimization now.  The caller is changed accordingly.
222530839Sache	Optimize for the common case of mostly equality.
222630839Sache	Use isupper+tolower instead of islower+toupper, for consistency.
222730839Sache
222830839Sache	* waitpid.c (waitpid): Fix typo with internal scoping.
222930839Sache
223030839SacheThu Sep  8 08:23:15 1994  Paul Eggert  <eggert@twinsun.com>
223130839Sache
223230839Sache	* configure.in: Revamp for Autoconf 2.
223330839Sache	* memchr.c, waitpid.c: New source files for substitute functions.
223430839Sache	* Makefile.in (diff_o, diff3_o, sdiff_o): Add $(LIBOBJS).
223530839Sache	(srcs): Add memchr.c, waitpid.c.
223630839Sache	(distfiles): Add install.sh, memchr.c, waitpid.c, install.sh.
223730839Sache	* system.h: Use Autoconf 2 style HAVE_DIRENT_H etc. macros for dirs.
223830839Sache	* dir.c (dir_sort): Prefer NAMLEN (p) to strlen (p->d_name).
223930839Sache	Change VOID_CLOSEDIR to CLOSEDIR_VOID for Autoconf 2.
224030839Sache	* sdiff.c, util.c (memchr, waitpid): Remove; use new substitutes.
224130839Sache	* diff3.c (read_diff): Use new waitpid substitute.
224230839Sache
224330839Sache	* cmp.c, diff.c, diff3.c, sdiff.c (check_stdout, try_help): New fns.
224430839Sache	(usage): Just print more detailed usage message; let caller exit.
224530839Sache	* diff.c (option_help): New variable.
224630839Sache	(filetype): Add Posix.1b file types.
224730839Sache
224830839SacheFri Sep  2 16:01:49 1994  Paul Eggert  <eggert@twinsun.com>
224930839Sache
225030839Sache	* configure.in: Switch to new autoconf names.  Add sys/file.h test.
225130839Sache	* Makefile.in (distclean): Clean config.cache, config.log
225230839Sache	(used by new autoconf).
225330839Sache
225430839Sache	* diff.c, diff3.c, (main), sdiff.c (trapsigs): If we'll have children,
225530839Sache	make sure SIGCHLD isn't ignored.
225630839Sache
225730839Sache	* diff3.c (DIFF_CHUNK_SIZE): Removed.  Get size from STAT_BLOCKSIZE.
225830839Sache	(INT_STRLEN_BOUND): New macro.
225930839Sache
226030839Sache	* ifdef.c (format_group, groups_letter_value):
226130839Sache	Use * instead of [] in prototypes.
226230839Sache
226330839Sache	* system.h: Include <sys/file.h> only if HAVE_SYS_FILE_H.
226430839Sache	(S_IXGRP, S_IXOTH, S_IXUSR): Remove unused macros.
226530839Sache
226630839Sache	* util.c (begin_output): Check fdopen result.
226730839Sache
226830839Sache	The following changes simplify porting to non-Posix environments.
226930839Sache	* cmp.c, diff.c, diff3.c, sdiff.c, (main): Call initialize_main first.
227030839Sache	* diff.c (binary_I_O): New variable for --binary option.
227130839Sache	(main, usage, compare_files): Support --binary option.
227230839Sache	(compare_files): Use filename_lastdirchar to find last
227330839Sache	directory char in a file name.
227430839Sache	* cmp.c (main), diff.c (compare_files), dir.c (compare_names,
227530839Sache	diff_dirs): Use filename_cmp to compare file names.
227630839Sache	Use same_file to determine whether two files are the same.
227730839Sache	* context.c (print_context_label): Check whether ctime yields 0.
227830839Sache	* diff3.c (read_diff), sdiff.c (cleanup, main, waitpid),
227930839Sache	util.c (begin_output): Use popen+pclose if !HAVE_FORK.
228030839Sache	* io.c (sip): If HAVE_SETMODE, test for binary files in O_BINARY mode.
228130839Sache	* sdiff.c (ck_fdopen): Function removed.
228230839Sache	(edit): Use system if !HAVE_FORK.
228330839Sache	(execdiff): Now assumes caller has pushed all args, plus trailing 0.
228430839Sache	All callers changed.
228530839Sache	(private_tempnam): Try TMP if TMPDIR isn't defined.
228630839Sache	Fit temporary filenames into 8.3 limit.
228730839Sache	* system.h (STAT_BLOCKSIZE): Don't define if already defined.
228830839Sache	(min, max): Undef if already defined.
228930839Sache	(filename_cmp, filename_lastdirchar, HAVE_FORK, HAVE_SETMODE,
2290170754Sdelphij	initialize_main, O_BINARY, same_file): New macros.
229130839Sache
229230839SacheFri Jun 17 11:23:53 1994  David J. MacKenzie  (djm@geech.gnu.ai.mit.edu)
229330839Sache
229430839Sache	* Makefile.in (info, dvi, diff.dvi): New targets.
229530839Sache	(clean): Remove TeX output files.
229630839Sache
229730839SacheFri Jun 17 05:37:52 1994  Paul Eggert  (eggert@twinsun.com)
229830839Sache
229930839Sache	* cmp.c, io.c (word): Change from typedef to #define, to avoid
230030839Sache	collision with Unicos 8.0 <sys/types.h>, which also typedefs `word'.
230130839Sache
230230839SacheThu Apr 15 00:53:01 1994  Paul Eggert  (eggert@twinsun.com)
230330839Sache
230430839Sache	* diff3.c (scan_diff_line), util.c (print_number_range): Don't
230530839Sache	rely on promotion to make the old-style parameter type agree
230630839Sache	with the prototype parameter type; this doesn't work on
230730839Sache	Apollos running bsd4.3.
230830839Sache
230930839SacheMon Jan  3 02:05:51 1994  Paul Eggert  (eggert@twinsun.com)
231030839Sache
231130839Sache	* Makefile.in (LDFLAGS): Remove -g.  Change all link commands
231230839Sache	to use both $(CFLAGS) and $(LDFLAGS).
231330839Sache
231430839SacheMon Dec 13 12:23:27 1993  Paul Eggert  (eggert@twinsun.com)
231530839Sache
231630839Sache	* system.h: Don't assume dirent.h exists just because
231730839Sache	_POSIX_VERSION is defined.
231830839Sache
231930839SacheFri Dec  3 18:39:39 1993  Paul Eggert  (eggert@twinsun.com)
232030839Sache
232130839Sache	* diff.c (main): allow -pu.
232230839Sache
232330839SacheTue Nov 23 03:51:08 1993  Paul Eggert  (eggert@twinsun.com)
232430839Sache
232530839Sache	* Makefile.in (distclean): Remove config.h.
232630839Sache
232730839SacheWed Nov 10 00:28:27 1993  Paul Eggert  (eggert@twinsun.com)
232830839Sache
232930839Sache	* Version 2.6 released.
233030839Sache
233130839Sache	* analyze.c (too_expensive): New variable, for heuristic to
233230839Sache	limit the worst-case cost to O(N**1.5 log N) at the price of
233330839Sache	producing suboptimal output for large inputs with many differences.
233430839Sache	(diff_2_files): Initialize it.
233530839Sache	(struct partition): New type.
233630839Sache	(SNAKE_LIMIT): New macro; merely documents already-used number 20.
233730839Sache	(diag): New `minimal' arg; all callers changed.  Put results into
233830839Sache	struct partition.  Apply `too_expensive' heuristic.  Tune.
233930839Sache	(compareseq): New `minimal' arg; all callers changed.  Tune.
234030839Sache	(shift_boundaries): Improve heuristic to also coalesce adjacent runs
234130839Sache	of changes more often.
234230839Sache
234330839Sache	* diff.c (long_options, main, usage): Add `--help'.
234430839Sache	(main): Send version number to stdout, not stderr.
234530839Sache	(usage): Send usage to stdout, not stderr.
234630839Sache	(compare_files): Initialize `inf' properly.
234730839Sache
234830839Sache	* io.c (word): Change to `int'; it makes a big difference on x86.
234930839Sache	(sip, slurp): Put off allocating room to hold the whole file until we
235030839Sache	have to read the whole file.  This wins if the file turns out
235130839Sache	to be binary.
235230839Sache
235330839Sache	* util.c (xmalloc, xrealloc): "virtual memory" -> "memory"
235430839Sache	(primes): Omit large primes if INT_MAX is small.
235530839Sache
235630839Sache	* sdiff.c (usage): Send usage to stdout, not stderr.
235730839Sache	(long_options, main, usage): Add `--help'.
235830839Sache	(main): Send version number to stdout, not stderr.  Exit afterwards.
235930839Sache
236030839Sache	* diff3.c (usage): Send usage to stdout, not stderr.
236130839Sache	(long_options, main, usage): Add `--help'.
236230839Sache	(read_diff): Detect integer overflow in buffer size calculations.
236330839Sache
236430839Sache	* cmp.c (word): New type.  All uses of `long' for
236530839Sache	word-at-a-time comparisons changed to `word'.
236630839Sache	(long_options, main, usage): Add `--help'.
236730839Sache	(usage): Send usage to stdout, not stderr.
236830839Sache	(main): Add `-v'.  Send version number to stdout, not stderr.
236930839Sache
237030839Sache	* configure.in (AC_HAVE_HEADERS): Add unistd.h; remove AC_UNISTD_H.
237130839Sache
237230839SacheMon Sep 27 07:20:24 1993  Paul Eggert  (eggert@twinsun.com)
237330839Sache
237430839Sache	* diff.c (add_exclude_file): Cast memchr to (char *)
237530839Sache	to suppress bogus warnings on some nonstandard hosts.
237630839Sache
237730839Sache	* Makefile.in (cmp): Add version.o.
237830839Sache
237930839Sache	* analyze.c (diff_2_files): Work around memcmp bug with size=0.
238030839Sache
238130839Sache	* cmp.c (main, usage, version_string): Add --version option.
238230839Sache
238330839Sache	* system.h (malloc, realloc): Declare only if !HAVE_STDLIB_H.
238430839Sache	(memchr): Declare only if !HAVE_MEMCHR.  These changes are
238530839Sache	needed to keep some nonstandard hosts happy.
238630839Sache
238730839Sache	* util.c (memchr): Make first arg char const *
238830839Sache	to match standard.
238930839Sache	(xmalloc, xrealloc): Cast malloc, realloc
239030839Sache	to (VOID *) to suppress bogus warnings on some nonstandard hosts.
239130839Sache
239230839Sache	* diff3.c (xmalloc, xrealloc): Cast malloc, realloc
239330839Sache	to (VOID *) to suppress bogus warnings on some nonstandard hosts.
239430839Sache
239530839Sache	* sdiff.c (xmalloc, xrealloc): Cast malloc, realloc
239630839Sache	to (VOID *) to suppress bogus warnings on some nonstandard hosts.
239730839Sache	(lf_copy, lf_skip, lf_snarf): Cast memchr to (char *)
239830839Sache	to suppress bogus warnings on some nonstandard hosts.
239930839Sache	(memchr): Make first arg char const *
240030839Sache	to match standard.
240130839Sache
240230839SacheMon Sep 27 00:23:37 1993  Paul Eggert  (eggert@twinsun.com)
240330839Sache
240430839Sache	* Version 2.5 released.
240530839Sache
240630839Sache	* analyze.c (diff_2_files): Work around memcmp bug with size=0.
240730839Sache
240830839Sache	* cmp.c (main, usage, version_string): Add --version option.
240930839Sache	* Makefile.in (cmp): Add version.o.
241030839Sache
241130839Sache	* diff.c (add_exclude_file): Cast memchr to (char *)
241230839Sache	to suppress bogus warnings on some nonstandard hosts.
241330839Sache	* sdiff.c (lf_copy, lf_skip, lf_snarf): Likewise.
241430839Sache
241530839Sache	* diff3.c, sdiff.c, util.c (xmalloc, xrealloc): Cast malloc, realloc
241630839Sache	to (VOID *) to suppress bogus warnings on some nonstandard hosts.
241730839Sache
241830839Sache	* sdiff.c, util.c (memchr): Make first arg char const *
241930839Sache	to match standard.
242030839Sache
242130839Sache	* system.h (malloc, realloc): Declare only if !HAVE_STDLIB_H.
242230839Sache	(memchr): Declare only if !HAVE_MEMCHR.  These changes are
242330839Sache	needed to keep some nonstandard hosts happy.
242430839Sache
242530839Sache	* xmalloc.c: Include <sys/types.h> always; some nonstandard hosts
242630839Sache	need it for size_t even if STDC_HEADERS.
242730839Sache
242830839SacheSat Sep 18 01:33:07 1993  Paul Eggert  (eggert@twinsun.com)
242930839Sache
243030839Sache	* configure.in (AC_STAT_MACROS_BROKEN): Add.
243130839Sache	* system.h (S_IS{BLK,CHR,DIR,FIFO,REG,SOCK}): Fix defns if
243230839Sache	STAT_MACROS_BROKEN.
243330839Sache
243430839Sache	* Makefile.in (diff3, sdiff, cmp): Do not link $(ALLOCA).
243530839Sache
243630839Sache	* analyze.c (discard_confusing_lines): Make defn static, like decl.
243730839Sache	* sdiff.c (xmalloc): Likewise.
243830839Sache
243930839Sache	* ifdef.c (format_group): Ensure isdigit argument isn't < 0.
244030839Sache
244130839Sache	* side.c (print_half_line): Use isprint, since some hosts lack isgraph.
244230839Sache	* util.c (output_1_line): Likewise.  Ensure its argument isn't < 0.
244330839Sache	(xmalloc, xrealloc): Remove needless casts.
244430839Sache
244530839Sache	* system.h (volatile, const):
244630839Sache	Define these before including any system headers,
244730839Sache	so that they're used consistently in all system includes.
244830839Sache	(getenv, malloc, realloc): Declare even if HAVE_STDLIB_H, since some
244930839Sache	<stdlib.h>s don't declare them.
245030839Sache	(memchr): Likewise for <string.h>.
245130839Sache
245230839Sache	* cmp.c, diff3.c, diff.h, sdiff.c: Include "system.h" first.
245330839Sache	* diff.c: Remove redundant "system.h" inclusion.
245430839Sache
245530839Sache	* diff3.c (xmalloc): Now static.
245630839Sache	(xmalloc, realloc): Remove needless casts.
245730839Sache	(READNUM): Ensure isdigit argument isn't negative.
245830839Sache
245930839SacheWed Sep 14 07:14:15 1993  Paul Eggert  (eggert@twinsun.com)
246030839Sache
246130839Sache	* Version 2.4 released.
246230839Sache
246330839Sache	* ifdef.c (scan_char_literal): New function, for new %c'x' and
246430839Sache	%c'\ooo' format specs.
246530839Sache	(format_group, print_ifdef_lines): Use it.  Remove %0 format spec.
246630839Sache
246730839Sache	* cmp.c (cmp): Don't try to read past end of file; this doesn't
246830839Sache	work on ttys.
246930839Sache
247030839Sache	* system.h, version.c: #include <config.h>, not "config.h", to allow
247130839Sache	configuring in a separate directory when the source directory has
247230839Sache	already been configured.
247330839Sache	* Makefile.in (COMPILE): New defn, with proper -I options so that
247430839Sache	`#include <config.h>' works.
247530839Sache	(.c.o, diff3.o, sdiff.o): Use it.
247630839Sache
247730839SacheMon Sep 13 06:45:43 1993  Paul Eggert  (eggert@twinsun.com)
247830839Sache
247930839Sache	* diff.c (main, longopts): Add --line-format=FORMAT option.
248030839Sache	(specify_format): Args no longer const pointers.  All callers changed.
248130839Sache
248230839Sache	* ifdef.c: Add support for %?c, %(A=B?T:E), PRINTF_SPECn formats.
248330839Sache	(struct group): New struct.
248430839Sache	(print_ifdef_lines): Use it to simplify argument passing.
248530839Sache	Remove the convention that last arg -1 signifies that the lines
248630839Sache	from file 2 are the same as the lines from file 1; this
248730839Sache	convention no longer works, now that line numbers might be
248830839Sache	printed out, since the line numbers may differ.
248930839Sache	Add first FILE * argument to output to.  All callers changed.
249030839Sache	Use a faster test for the single-fwrite optimization.
249130839Sache	(format_group, scan_printf_spec, groups_letter_value): New functions.
249230839Sache
249330839Sache	* diff.h (group_format, line_format): No longer const pointers.
249430839Sache	(format_ifdef): 1st arg is no longer const pointer.
249530839Sache
249630839Sache	* configure.in: Configure HAVE_LIMITS_H, HAVE_STDLIB_H.
249730839Sache	* system.h <limits.h>, <stdlib.h>, <string.h>:
249830839Sache	Include only if HAVE_LIMITS_H etc.
249930839Sache
250030839Sache	* system.h (memcmp, memcpy, strchr, strrchr, struct dirent): Prefer
250130839Sache	these standard names to the traditional names (bcmp, bcpy, index,
250230839Sache	rindex, struct direct).  All callers changed.
250330839Sache
250430839Sache	* system.h (PARAMS, VOID):
250530839Sache	Define earlier so that malloc decl can use VOID.
250630839Sache	(STAT_BLOCKSIZE): Simplify ersatz defn; just use 8K.
250730839Sache
250830839SacheFri Sep  3 00:21:02 1993  Paul Eggert  (eggert@twinsun.com)
250930839Sache
251030839Sache	* diff.c (compare_files): Two files with the same name must be
251130839Sache	the same file; avoid a needless `stat' in that case.
251230839Sache
251330839SacheFri Aug 27 06:59:03 1993  Paul Eggert  (eggert@twinsun.com)
251430839Sache
251530839Sache	* Pervasive changes for portability to 64-bit hosts:
251630839Sache	Add prototypes to function declarations.
251730839Sache	Use size_t, not int, when needed.
251830839Sache
251930839Sache	* Other pervasive changes:
252030839Sache	Use `const' more often.
252130839Sache	Use STD{IN,OUT,ERR}_FILENO instead of [012].
252230839Sache	Use 0, not NULL, for portability to broken hosts.
252330839Sache
252430839Sache	* Makefile.in: (srcs, objs, distfiles, cmp): New files cmpbuf.[ch].
252530839Sache	(distfiles): New files config.h.in, mkinstalldirs.
252630839Sache	(.c.o): Add -DHAVE_CONFIG_H.
252730839Sache
252830839Sache	* analyze.c: (diag): Pacify `gcc -Wall' with a useless assignment.
252930839Sache	(diff_2_files): Use l.c.m., not max, of files' buffer sizes.
253030839Sache
253130839Sache	* cmp.c: Make globals static when possible.
253230839Sache
253330839Sache	(file): Now a 2-element array; replaces `file1' and `file2'.
253430839Sache	(file_desc, buffer): Likewise, for file[12]_desc and buf[12].
253530839Sache	(main): Likewise, for stat_buf[12].  Index these variables with `i'.
253630839Sache
253730839Sache	(ignore_initial): New var.
253830839Sache	(long_options): Now const.  Add `--ignore-initial'.
253930839Sache	(usage): Sort options and add `--ignore-initial'.
254030839Sache	(main, cmp): Add `--ignore-initial' support.
254130839Sache
254230839Sache	(main): `cmp - -' now succeeds.
254330839Sache	When comparing standard input to a file, and using a shortcut (e.g.
254430839Sache	looking at file sizes or inode numbers), take the lseek offset into
254530839Sache	account before deciding whether the files are identical.
254630839Sache	Avoid mentioning `dev_t', `ino_t' for portability to nonstandard hosts.
254730839Sache	Use l.c.m. of files' buffer sizes, not 8 * 1024.
254830839Sache	ferror (stdout) does not imply errno has a useful value.
254930839Sache	If 2nd file is "-", treat it first, in case stdin is closed.
255030839Sache
255130839Sache	(cmp): Always compute `char_number', `smaller' for speed and simplicity.
255230839Sache	Say `cmp: EOF on input', not `/usr/gnu/bin/cmp: EOF on input',
255330839Sache	as per Posix.2.
255430839Sache
255530839Sache	(block_compare_and_count): Increment line_number argument.
255630839Sache	Remove end_char argument; it's always '\n'.  All callers changed.
255730839Sache	Do not assume sizeof(long) == 4; this isn't true on some 64-bit hosts.
255830839Sache	(block_compare): Minimize differences with block_compare_and_count.
255930839Sache
256030839Sache	(block_read): Coalesce `bp += nread's.
256130839Sache
256230839Sache	(printc): Remove `FILE *' arg; output to stdout.  All callers changed.
256330839Sache
256430839Sache	* configure.in: Configure HAVE_SIGACTION, RETSIGTYPE, HAVE_VPRINTF.
256530839Sache	Configure into config.h.
256630839Sache
256730839Sache	* context.c (print_context_label):
256830839Sache	Standard input's st_mtime is no longer a special case
256930839Sache	here, since `compare_files' now sets it to the current time.
257030839Sache
257130839Sache	* diff.c (usage): Sort options.
257230839Sache	(filetype): New function.
257330839Sache	(compare_files): Set stdin's st_mtime to be the current time.
257430839Sache	Leave its name "-" instead of changing it to "Standard Input";
257530839Sache	to test whether a file is stdin, we must compare its name to "-" instead
257630839Sache	of its desc to 0, since if it's closed other file descs may be 0.
257730839Sache	When comparing standard input to a file, and using a shortcut (e.g.
257830839Sache	looking at file sizes or inode numbers), take the lseek offset into
257930839Sache	account before deciding whether the files are identical.
258030839Sache	Pretend that nonexistent files have the same filetype as existing files.
258130839Sache	Rename `errorcount' to `failed', since it's boolean.
258230839Sache	In directory comparisons, if a file is neither a regular file nor a
258330839Sache	directory, just print its type and the other file's type.
258430839Sache
258530839Sache	* diff.h (Is_space, textchar): Remove.
258630839Sache	(struct msg, msg_chain, msg_chain_end): Move to util.c.
258730839Sache	(VOID): Move to system.h.
258830839Sache	(line_cmp, version_string, change_letter, print_number_range,
258930839Sache	find_change): New decls.
259030839Sache
259130839Sache	* diff.texi:
259230839Sache	whitespace -> white space.  It now stands for whatever isspace yields.
259330839Sache	Add --ignore-initial.
259430839Sache
259530839Sache	* diff3.c (VOID): Move to system.h.
259630839Sache	(version_string): Now char[].
259730839Sache	(usage): Sort options.
259830839Sache	(process_diff): Pacify `gcc -Wall' with a useless assignment.
259930839Sache	(read_diff): pid is of type pid_t, not int.  Use waitpid if available.
260030839Sache	(output_diff3): Simplify test for `\ No newline at end of file' message.
260130839Sache
260230839Sache	* dir.c (struct dirdata): Rename `files' to `names' to avoid confusion
260330839Sache	with external struct file_data `files'.
260430839Sache
260530839Sache	* io.c (line_cmp): Move declaration to diff.h.
260630839Sache	(textchar): Remove.
260730839Sache	(find_and_hash_each_line): Use locale's definition of white space
260830839Sache	instead of using one hardwired defn for -b and another for -w.
260930839Sache
261030839Sache	* normal.c (change_letter, print_number_range, find_change):
261130839Sache	Move decls to diff.h.
261230839Sache	(print_normal_hunk): Now static.
261330839Sache
261430839Sache	* sdiff.c (SEEK_SET): Move to system.h.
261530839Sache	(version_string): Now char[], not char*.
261630839Sache	(private_tempnam): Remove hardcoded limit on temporary file names.
261730839Sache	(exiterr, perror_fatal, main): When exiting because of a signal,
261830839Sache	exit with that signal's status.
261930839Sache	(lf_refill, main, skip_white, edit, interact): Check for signal.
262030839Sache	(ignore_SIGINT): Renamed from `ignore_signals'.
262130839Sache	(NUM_SIGS, initial_handler): New macros.
262230839Sache	(initial_action, signal_received, sigs_trapped): New vars.
262330839Sache	(catchsig, trapsigs): Use sigaction if possible, since this closes the
262430839Sache	windows of vulnerability that `signal' has.  Use RETSIGTYPE not void.
262530839Sache	When a signal comes in, just set a global variable; this is safer.
262630839Sache	(checksigs, untrapsig): New functions.
262730839Sache	(edit): Pacify `gcc -Wall' with a useless assignment.
262830839Sache	Respond to each empty line with help, not to every other empty line.
262930839Sache	(private_tempnam): Remove hardcoded limit on temporary file name length.
263030839Sache	Don't assume sizeof (pid_t) <= sizeof (int).
263130839Sache
263230839Sache	* system.h: (S_IXOTH, S_IXGRP, S_IXUSR,
263330839Sache	SEEK_SET, SEEK_CUR,
263430839Sache	STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
263530839Sache	New macros, if system doesn't define them.
263630839Sache	(volatile): Don't define if already defined.
263730839Sache	(PARAMS): New macro.
263830839Sache	(VOID): Move here from diff.h.
263930839Sache
264030839Sache	* util.c (struct msg, msg_chain, msg_chain_end): Moved here from diff.h.
264130839Sache	(message5): New function.
264230839Sache	(pr_pid): New var.
264330839Sache	(begin_output): Allocate `name' more precisely.
264430839Sache	Put child pid into pr_pid, so that we can wait for it later.
264530839Sache	Don't check execl's return value, since any return must be an error.
264630839Sache	(finish_output): Detect and report output errors.
264730839Sache	Use waitpid if available.  Check pr exit status.
264830839Sache	(line_cmp): Use locale's definition of white space
264930839Sache	instead of using one hardwired defn for -b and another for -w.
265030839Sache	(analyze_cmp): Avoid double negation with `! nontrivial'.
265130839Sache	Pacify `gcc -Wall' be rewriting for-loop into do-while-loop.
265230839Sache	(dir_file_pathname): New function.
265330839Sache
265430839Sache	* version.c (version_string): Now char[], not char*.
265530839Sache
265630839SacheThu Jul 29 20:44:30 1993  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
265730839Sache
265830839Sache	* Makefile.in (config.status): Run config.status --recheck, not
265930839Sache	configure, to get the right args passed.
266030839Sache
266130839SacheThu Jul 22 10:46:30 1993  Paul Eggert  (eggert@twinsun.com)
266230839Sache
266330839Sache	* Makefile.in (dist): Replace `if [ ! TEST ]; then ACTION; fi'
266430839Sache	with `[ TEST ] || ACTION || exit' so that the containing for-loop exits
266530839Sache	with proper status for `make'.
266630839Sache
266730839SacheThu Jul  8 19:47:22 1993  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
266830839Sache
266930839Sache	* Makefile.in (installdirs): New target.
267030839Sache	(install): Use it.
267130839Sache	(Makefile, config.status, configure): New targets.
267230839Sache
267330839SacheSat Jun  5 23:10:40 1993  Paul Eggert  (eggert@twinsun.com)
267430839Sache
267530839Sache	* Makefile.in (dist): Switch from .z to .gz.
267630839Sache
267730839SacheWed May 26 17:16:02 1993  Paul Eggert  (eggert@twinsun.com)
267830839Sache
267930839Sache	* diff.c (main): Cast args to compare_files, for traditional C.
2680170754Sdelphij	* side.c (print_sdiff_common_lines, print_sdiff_hunk): Likewise.
268130839Sache	* analyze.c, diff3.c, sdiff.c, util.c: Don't assume NULL is defined
268230839Sache	properly.
268330839Sache
268430839SacheTue May 25 14:54:05 1993  Paul Eggert  (eggert@twinsun.com)
268530839Sache
268630839Sache	* analyze.c (diff_2_files):  With -q, do not report that files differ
268730839Sache	if all their differences are ignored.
268830839Sache	(briefly_report): New function.
268930839Sache	* diff.h (ignore_some_changes): New variable.
269030839Sache	* diff.c (compare_files): Don't use the file size shortcut if
269130839Sache	ignore_some_changes is nonzero, since the file size may differ
269230839Sache	merely due to ignored changes.
269330839Sache	(main):  Set ignore_some_changes if we might ignore some changes.
269430839Sache	Remove unsystematic assignment of 0 to static vars.
269530839Sache	* io.c (read_files): New argument PRETEND_BINARY says whether to
269630839Sache	pretend the files are binary.
269730839Sache
269830839Sache	* diff3.c (tab_align_flag): New variable, for new -T option.
269930839Sache	(main, usage, output_diff3): Add support for -T.
270030839Sache
270130839SacheSun May 23 15:25:29 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
270230839Sache
270330839Sache	* dir.c (dir_sort): Always init `data' to avoid GCC warning.
270430839Sache
270530839SacheSat May 22 15:35:02 1993  Paul Eggert  (eggert@twinsun.com)
270630839Sache
270730839Sache	* Makefile.in (dist): Change name of package from diff to diffutils.
270830839Sache	Don't bother to build .Z dist; .z suffices.
270930839Sache
271030839SacheFri May 21 16:35:22 1993  Paul Eggert  (eggert@twinsun.com)
271130839Sache
271230839Sache	* diff.c: Include "system.h" to get memchr declaration.
271330839Sache	* system.h (memchr): Declare if !HAVE_MEMCHR, not if
271430839Sache	!HAVE_MEMCHR && !STDC_HEADERS.
271530839Sache
271630839SacheWed May 19 17:43:55 1993  Paul Eggert  (eggert@twinsun.com)
271730839Sache
271830839Sache	* Version 2.3 released.
271930839Sache
272030839SacheFri Apr 23 17:18:44 1993  Paul Eggert  (eggert@twinsun.com)
272130839Sache
272230839Sache	* io.c (find_identical_ends): Do not discard the last HORIZON_LINES
272330839Sache	lines of the prefix, or the first HORIZON_LINES lines of the suffix.
272430839Sache	* diff.c (main, longopts, usage): Add --horizon-lines option.
272530839Sache	* diff3.c (main, process_diff, read_diff): Invoke second diff
272630839Sache	with --horizon-lines determined by the first diff.
272730839Sache	* diff.h, diff3.c (horizon_lines): New variable.
272830839Sache
272930839SacheMon Mar 22 16:16:00 1993  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
273030839Sache
273130839Sache	* system.h [HAVE_STRING_H || STDC_HEADERS] (bcopy, bcmp, bzero):
273230839Sache	Don't define if already defined.
273330839Sache
273430839SacheFri Mar  5 00:20:16 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
273530839Sache
273630839Sache	* diff.c (main): Use NULL in arg to compare_files.
273730839Sache
273830839SacheThu Feb 25 15:26:01 1993  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
273930839Sache
274030839Sache	* system.h: Declare memchr #if !HAVE_MEMCHR && !STDC_HEADERS,
274130839Sache	not #if !HAVE_MEMCHR || !STDC_HEADERS.
274230839Sache
274330839SacheMon Feb 22 15:04:46 1993  Richard Stallman  (rms@geech.gnu.ai.mit.edu)
274430839Sache
274530839Sache	* io.c (find_identical_ends): Move complicated arg outside GUESS_LINES.
274630839Sache
274730839SacheMon Feb 22 12:56:12 1993  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
274830839Sache
274930839Sache	* Makefile.in (.c.o): Add -I$(srcdir); put $(CFLAGS) last before $<.
275030839Sache
275130839SacheSat Feb 20 19:18:56 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
275230839Sache
275330839Sache	* io.c (binary_file_p): Return zero if file size is zero.
275430839Sache
275530839SacheFri Feb 19 17:31:32 1993  Roland McGrath  (roland@geech.gnu.ai.mit.edu)
275630839Sache
275730839Sache	* Version 2.2 released.
275830839Sache
275930839Sache	* system.h [HAVE_STRING_H || STDC_HEADERS] (index, rindex): Don't
276030839Sache	define if already defined.
276130839Sache
276230839SacheWed Feb 17 17:08:00 1993  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
276330839Sache
276430839Sache	* Makefile.in (srcs): Remove limits.h.
276530839Sache
276630839SacheThu Feb 11 03:36:00 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
276730839Sache
276830839Sache	* diff3.c (xmalloc): No longer static.
276930839Sache
277030839Sache	* sdiff.c (edit): Allocate buf dynamically.
277130839Sache
277230839Sache	* dir.c (dir_sort): Handle VOID_CLOSEDIR.
277330839Sache
277430839SacheWed Feb 10 00:15:54 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
277530839Sache
277630839Sache	* limits.h: File deleted (should never have been there).
277730839Sache
277830839SacheTue Feb  9 03:53:22 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
277930839Sache
278030839Sache	* Makefile.in (.c.o, diff3.o, sdiff.o): Put $(CFLAGS) last.
278130839Sache
278230839SacheWed Feb  3 15:42:10 1993  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
278330839Sache
278430839Sache	* system.h: Don't #define const; let configure do it.
278530839Sache
278630839SacheMon Feb  1 02:13:23 1993  Paul Eggert  (eggert@hal.gnu.ai.mit.edu)
278730839Sache
278830839Sache	* Version 2.1 released.
278930839Sache
279030839Sache	* Makefile.in (dist): Survive ln failures.  Create .tar.z
279130839Sache	(gzipped tar) file as well as .tar.Z (compressed tar) file.
279230839Sache
279330839SacheFri Jan  8 22:31:41 1993  Paul Eggert  (eggert@twinsun.com)
279430839Sache
279530839Sache	* side.c (print_half_line): When the input position falls
279630839Sache	outside the column, do not output a tab even if the output
279730839Sache	position still falls within the column.
279830839Sache
279930839SacheMon Dec 21 13:54:36 1992  David J. MacKenzie  (djm@kropotkin.gnu.ai.mit.edu)
280030839Sache
280130839Sache	* Makefile.in (.c.o): Add -I.
280230839Sache
280330839SacheFri Dec 18 14:08:20 1992  Paul Eggert  (eggert@twinsun.com)
280430839Sache
280530839Sache	* configure.in: Add HAVE_FCNTL_H, since system.h uses it.
280630839Sache
280730839SacheTue Nov 24 10:06:48 1992  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
280830839Sache
280930839Sache	* Makefile.in: Note change from USG to HAVE_STRING_H.
281030839Sache
281130839SacheMon Nov 23 18:44:00 1992  Paul Eggert  (eggert@twinsun.com)
281230839Sache
281330839Sache	* io.c (find_and_hash_each_line): When running out of lines,
281430839Sache	double the number of allocated lines, instead of just doubling
281530839Sache	that number minus the prefix lines.  This is more likely to
281630839Sache	avoid the need for further memory allocation.
281730839Sache
281830839SacheWed Nov 18 20:40:28 1992  Paul Eggert  (eggert@twinsun.com)
281930839Sache
282030839Sache	* dir.c (dir_sort): Plug memory leak: space holding directory
282130839Sache	contents was not being reclaimed.  Get directory size from
282230839Sache	struct file_data for initial guess at memory needed.
282330839Sache	Detect errors when reading and closing directory.
282430839Sache	(diff_dirs): Pass struct file_data to dir_sort.  Finish plugging leak.
282530839Sache	* diff.c (compare_files): Pass struct file_data to diff_dirs.
282630839Sache
282730839Sache	* io.c (find_and_hash_each_line): Don't assume alloc_lines is
282830839Sache	nonzero when allocating more lines.
282930839Sache
283030839SacheThu Nov 12 16:02:18 1992  Paul Eggert  (eggert@twinsun.com)
283130839Sache
283230839Sache	* diff.c (main): Add `-U lines' as an alias for `--unified=lines'.
283330839Sache
283430839Sache	* diff3.c (usage): Add third --label option in example.
283530839Sache
283630839Sache	* util.c (analyze_hunk): Fix test for ignoring blank lines.
283730839Sache
283830839Sache	* configure.in, system.h: Avoid USG; use HAVE_TIME_H etc. instead.
283930839Sache
284030839SacheMon Nov  9 05:13:25 1992  Paul Eggert  (eggert@twinsun.com)
284130839Sache
284230839Sache	* diff3.c (main, usage): Add -A or --show-all.
284330839Sache	-m now defaults to -A, not -E.  Allow up to three -L options.
284430839Sache	(output_diff3_edscript, output_diff3_merge):
284530839Sache	Remove spurious differences between these two functions.
284630839Sache	Output ||||||| for -A.  Distinguish between conflicts and overlaps.
284730839Sache	(dotlines, undotlines): New functions that output `Ns', not `N,Ns'.
284830839Sache	(output_diff3_edscript, output_diff3_merge): Use them.
284930839Sache
285030839Sache	* io.c (find_identical_ends): shift_boundaries needs an extra
285130839Sache	identical line at the end, not at the beginning.
285230839Sache
285330839Sache	* sdiff.c (edit): execvp wants char **, not const char **.
285430839Sache
285530839SacheMon Oct 19 04:39:32 1992  Paul Eggert  (eggert@twinsun.com)
285630839Sache
285730839Sache	* context.c (print_context_script, find_function): Context
285830839Sache	line numbers start with - file->prefix_lines, not 0.
285930839Sache
286030839Sache	* io.c (binary_file_p): Undo last change; it was a library bug.
286130839Sache
286230839SacheSun Oct 18 00:17:29 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
286330839Sache
286430839Sache	* io.c (binary_file_p): Consider empty file as non-binary.
286530839Sache
286630839SacheMon Oct  5 05:18:46 1992  Paul Eggert  (eggert@twinsun.com)
286730839Sache
286830839Sache	* diff3.c (main, make_3way_diff, using_to_diff3_block): Don't
286930839Sache	report bogus differences (for one of -mexEX3) just because the
287030839Sache	file0-file1 diffs don't line up with the file0-file2 diffs.
287130839Sache	(This is entirely possible since we don't use diff's -n
287230839Sache	option.)  Always compare file1 to file2, so that diff3 sees
287330839Sache	those changes directly.  Typically, file2 is now the common
287430839Sache	file, not file0.
287530839Sache	(output_diff3_merge): The input file is file 0, not the common file.
287630839Sache
287730839Sache	(FC, FO): New macros; they replace FILE1, FILE0 for two-way diffs,
287830839Sache	to distinguish them from three-way diffs.
287930839Sache
288030839Sache	* diff3.c (using_to_diff3_block): Fold repeated code into loops.
288130839Sache
288230839Sache	* diff3.c (make_3way_diff, process_diff): Have the *_end
288330839Sache	variable point to the next field to be changed, not to the last
288430839Sache	object allocated; this saves an if-then-else.
288530839Sache
288630839Sache	* diff3.c (process_diff): Use D_NUMLINES instead of its definiens.
288730839Sache
288830839Sache	* diff3.c: Make fns and vars static unless they must be external.
288930839Sache
289030839SacheWed Sep 30 09:21:59 1992  Paul Eggert  (eggert@twinsun.com)
289130839Sache
289230839Sache	* analyze.c (diff_2_files): OUTPUT_IFDEF is now robust.
289330839Sache	* diff.h (ROBUST_OUTPUT_STYLE): Likewise.
289430839Sache	(default_line_format): Remove.  All refs removed.
289530839Sache
289630839Sache	* ifdef.c (print_ifdef_lines): Add %L.  Optimize %l\n even if user
289730839Sache	specified it, as opposed to its being the default.
289830839Sache
289930839SacheTue Sep 29 19:01:28 1992  Paul Eggert  (eggert@twinsun.com)
290030839Sache
290130839Sache	* diff.c (longopts, main): --{old,new,unchanged,changed}--group-format
290230839Sache	are new options, so that -D is no longer overloaded.  Set
290330839Sache	no_diff_means_no_output if --unchanged-{line,group}-format allows it.
290430839Sache	* diff.h (enum line_class): New type.
290530839Sache	(group_format, line_format): Use it to regularize option flags.
290630839Sache	All refs changed.
290730839Sache
290830839Sache	* ifdef.c (format_ifdef, print_ifdef_lines): %n is no longer a format.
290930839Sache
291030839SacheMon Sep 28 04:51:42 1992  Paul Eggert  (eggert@twinsun.com)
291130839Sache
291230839Sache	* diff.c (main, usage): Replace --line-prefix with the more general
291330839Sache	--{old,new,unchanged}-line-format options.
291430839Sache	* ifdef.c (format_ifdef, print_ifdef_lines): Likewise.
291530839Sache	* diff.h (line_format): Renamed from line_prefix.  All refs changed.
291630839Sache	* diff.h, ifdef.c (default_line_format): New variable.
291730839Sache	* util.c (output_1_line): New function.
291830839Sache	(print_1_line): Use it.
291930839Sache
292030839Sache	* ifdef.c: (format_ifdef, print_ifdef_lines): Add %0 format.
292130839Sache
292230839SacheSun Sep 27 05:38:13 1992  Paul Eggert  (eggert@twinsun.com)
292330839Sache
292430839Sache	* diff.c (main): Add -E or --line-prefix option.  Add -D'=xxx'
292530839Sache	for common lines.  Change default -D< format from copy of -D>
292630839Sache	format to to -D<%<; similarly for default -D> format.
292730839Sache	* diff.h (common_format, line_prefix): New variables.
292830839Sache	* ifdef.c (format_ifdef): New function.
292930839Sache	(print_ifdef_script, print_ifdef_hunk, print_ifdef_lines):
293030839Sache	Use it for -D'=xxx', -E.
293130839Sache
293230839Sache	* context.c (find_hunk): Glue together two non-ignorable changes that
293330839Sache	are exactly CONTEXT * 2 lines apart.  This shortens output, removes
293430839Sache	a behavioral discontinuity at CONTEXT = 0, and is more compatible
293530839Sache	with traditional diff.
293630839Sache
293730839Sache	* io.c (find_identical_ends): Slurp stdin at most once.
293830839Sache
293930839Sache	* util.c (print_line_line): line_flag is const char *.
294030839Sache
294130839SacheThu Sep 24 15:18:07 1992  Paul Eggert  (eggert@twinsun.com)
294230839Sache
294330839Sache	* ifdef.c (print_ifdef_lines): New function, which fwrites a sequence
294430839Sache	of lines all at once for speed.
294530839Sache	(print_ifdef_script, print_ifdef_hunk): Use it.
294630839Sache
294730839SacheThu Sep 24 05:54:14 1992  Paul Eggert  (eggert@twinsun.com)
294830839Sache
294930839Sache	* diff.c (main): Support new -D options for if-then-else formats.
295030839Sache	(specify_format): New function.
295130839Sache	* diff.h (ifndef_format, ifdef_format, ifnelse_format): New variables.
295230839Sache	* ifdef.c (print_ifdef_hunk): Use the new variables instead of
295330839Sache	a hardwired format.
295430839Sache
295530839Sache	* side.c (print_1sdiff_line): Represent incomplete lines on output.
295630839Sache	(print_sdiff_script): Likewise.  Don't print 'q' at end,
295730839Sache	since that doesn't work with incomplete lines.
295830839Sache	* sdiff.c (interact): Don't assume diff output ends with 'q' line.
295930839Sache	* diff.h (ROBUST_OUTPUT_STYLE): OUTPUT_SDIFF is now robust.
296030839Sache
296130839Sache	* sdiff.c (lf_copy, lf_snarf): Use memchr instead of index,
296230839Sache	to avoid dumping core when files contain null characters.
296330839Sache	(memchr): New function (if memchr is missing).
296430839Sache
296530839Sache	* io.c (sip): New arg SKIP_TEST to skip test for binary file.
296630839Sache	(read_files): Don't bother testing second file if first is binary.
296730839Sache
296830839SacheThu Sep 17 21:17:49 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
296930839Sache
297030839Sache	* system.h [!USG && !_POSIX_VERSION]: Protect from conflicting
297130839Sache	prototype for wait in sys/wait.h.
297230839Sache
297330839SacheWed Sep 16 12:32:18 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
297430839Sache
297530839Sache	* Makefile.in: Include binprefix in -DDIFF_PROGRAM.
297630839Sache
297730839SacheTue Sep 15 14:27:25 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
297830839Sache
297930839Sache	* Version 2.0.
298030839Sache
298130839SacheSat Sep 12 01:31:19 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
298230839Sache
298330839Sache	* util.c, diff.h, system.h [!HAVE_MEMCHR]: Don't use void *
298430839Sache	and const when declaring memchr replacement.  Declare memchr
298530839Sache	if !STDC_HEADERS && !USG.
298630839Sache
298730839SacheThu Sep 10 15:17:32 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
298830839Sache
298930839Sache	* Makefile.in (uninstall): New target.
299030839Sache
299130839Sache	* diff.c (excluded_filename): Use fnmatch, not wildmat.
299230839Sache	(usage): Document -x, -X, --exclude, --exclude-from.
299330839Sache	Makefile.in: Use fnmatch.c, not wildmat.c.
299430839Sache
299530839SacheSun Sep  6 23:46:25 1992  Paul Eggert (eggert@twinsun.com)
299630839Sache
299730839Sache	* configure.in: Add HAVE_MEMCHR.
299830839Sache	* diff.h, util.c: Use it instead of MEMCHR_MISSING.
299930839Sache
300030839SacheSun Sep  6 07:25:49 1992  Paul Eggert (eggert@twinsun.com)
300130839Sache
300230839Sache	* diff.h: (struct line_def): Replace this 3-word struct with char *.
300330839Sache	This uses less memory, particularly for large files with short lines.
300430839Sache	(struct file_data): New member linbuf_base counts number of lines
300530839Sache	in common prefix that are not recorded in linbuf;
300630839Sache	this uses less memory if files are identical or differ only at end.
300730839Sache	New member buffered_lines counts possibly differing lines.
300830839Sache	New member valid_lines counts valid data.
300930839Sache	New member alloc_lines - linbuf_base replaces old linbufsize.
301030839Sache	linbuf[0] now always points at first differing line.
301130839Sache	Remove unused members ltran, suffix_lines.
301230839Sache	Add const where appropriate.
301330839Sache	(Is_space): New macro, for consistent definition of `white space'.
301430839Sache	(excluded_filename, memchr, sip, slurp): New declarations.
301530839Sache	* ed.c (print_ed_hunk): Adjust to diff.h's struct changes.
301630839Sache	* context.c (pr_context_hunk): Likewise.
301730839Sache	* ifdef.c (print_ifdef_script): Likewise.
301830839Sache	* side.c (print_sdiff_script, print_half_line): Likewise.
301930839Sache	* util.c (analyze_hunk, line_cmp, print_1_line): Likewise.
302030839Sache
302130839Sache	* analyze.c (shift_boundaries): Remove unneeded variable `end' and
302230839Sache	unnecessary comparisons of `preceding' and `other_preceding' against 0.
302330839Sache	(diff_2_files): When comparing files byte-by-byte for equality,
302430839Sache	don't slurp them all in at once; just compare them a buffer at a time.
302530839Sache	This can win big if they differ early on.
302630839Sache	Move some code to compare_files to enable this change.
302730839Sache	Use only one buffer for stdin with `diff - -'.
302830839Sache	(discard_confusing_lines, diff_2_files): Coalesce malloc/free calls.
302930839Sache	(build_script): Remove obsolete OUTPUT_RCS code.
303030839Sache
303130839Sache	* diff.c (add_exclude, add_exclude_file, excluded_filename): New fns.
303230839Sache	(main): Use them for the new --exclude and --exclude-from options.
303330839Sache	(compare_files): Don't open a file unless it must be read.
303430839Sache	Treat `diff file file' and `diff file dir' similarly.
303530839Sache	Move some code here from diff_2_files to enable this.
303630839Sache	Simplify file vs dir warning.
303730839Sache
303830839Sache	* dir.c (dir_sort): Support new --exclude* options.
303930839Sache
304030839Sache	* io.c (struct equivclass): Put hash code and line length here instead
304130839Sache	of struct line_def, so that they can be shared.
304230839Sache	(find_and_hash_each_line): Compute equivalence class as we go,
304330839Sache	instead of doing it in a separate pass; this thrashes memory less.
304430839Sache	Make buckets realloc-able, since we can't preallocate them.
304530839Sache	Record one more line start than there are lines, so that we can compute
304630839Sache	any line's length by subtracting its start from the next line's,
304730839Sache	instead of storing the length explicitly.  This saves memory.
304830839Sache	Move prefix-handling code to find_identical_ends;
304930839Sache	this wins with large prefixes.
305030839Sache	Use Is_space, not is_space, for consistent treatment of white space.
305130839Sache	(prepare_text_end): New function.
305230839Sache	(find_identical_ends): Move slurping here, so it's only done when
305330839Sache	needed.  Work even if the buffers are the same (because of `diff - -').
305430839Sache	Compare prefixes a word at a time for speed.
305530839Sache	(find_equiv_class): Delete; now done by find_and_hash_each_line.
305630839Sache	(read_files): Don't slurp unless needed.
305730839Sache	find_equiv_class's work is now folded into find_and_hash_each_line.
305830839Sache	Don't copy stdin buffer if `diff - -'.
305930839Sache	Check for running out of primes.
306030839Sache	(sip, slurp): Split first part of `slurp' into another function `sip'.
306130839Sache	`sip' sets things up and perhaps reads the first ST_BLKSIZE buffer to
306230839Sache	see whether the file is binary; `slurp' now just finishes the job.
306330839Sache	This lets diff_2_files compare binary files lazily.
306430839Sache	Allocate a one-word sentinel to allow word-at-a-time prefix comparison.
306530839Sache	Count prefix lines only if needed, only count the first file's prefix.
306630839Sache	Don't bother to count suffix lines; it's never needed.
306730839Sache	Set up linbuf[0] to point at first differing line.
306830839Sache	(binary_file_p): Change test for binary files:
306930839Sache	if it has a null byte in its first buffer, it's binary.
307030839Sache	(primes): Add more primes.
307130839Sache
307230839Sache	* util.c (line_cmp): Use bcmp for speed.
307330839Sache	Use Is_space, not is_space, for consistent treatment of white space.
307430839Sache	(translate_line_number): Internal line numbers now count from 0
307530839Sache	starting after the prefix.
307630839Sache	(memchr): New function (if memchr is missing).
307730839Sache
307830839Sache	* Makefile.in: Document HAVE_ST_BLKSIZE.  Link with wildmat.o.
307930839Sache	* system.h (STAT_BLOCKSIZE): New macro based on HAVE_ST_BLKSIZE.
308030839Sache	* configure.in: Add AC_ST_BLKSIZE.
308130839Sache	* wildmat.c: New file.
308230839Sache
308330839SacheFri Sep  4 01:28:51 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
308430839Sache
308530839Sache	* sdiff.c (xmalloc): Renamed from ck_malloc.  Callers changed.
308630839Sache
308730839SacheThu Sep  3 15:28:59 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
308830839Sache
308930839Sache	* diff.h: Don't declare free, index, rindex.
309030839Sache
309130839SacheTue Aug 11 22:18:06 1992  John Gilmore  (gnu at cygnus.com)
309230839Sache
309330839Sache	* io.c (binary_file_p):  Use heuristic to avoid declaring info
309430839Sache	files as binary files.  Allow about 1.5% non-printing
309530839Sache	characters (in info's case, ^_).
309630839Sache
309730839SacheTue Jul  7 01:09:26 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
309830839Sache
309930839Sache	* diff.h: Replace function_regexp and ignore_regexp with lists
310030839Sache	of compiled regexps.
310130839Sache	* analyze.c, context.c, util.c: Test whether the lists, not
310230839Sache	the old variables, are empty.
310330839Sache	* util.c (analyze_hunk), context.c (find_function): Compare
310430839Sache	lines with the lists of regexps.
310530839Sache	* diff.c (add_regexp): New function.
310630839Sache	(main): Use it.
310730839Sache
310830839Sache	* diff3: Add -v --version option.
310930839Sache	* Makefile.in: Link with version.o.
311030839Sache
311130839Sache	* system.h: New file.
311230839Sache	* diff.h, cmp.c, diff3.c, sdiff.c: Use it.
311330839Sache
311430839Sache	* diff.h, diff3.c: Include string.h or strings.h, as appropriate.
311530839Sache	Declare malloc and realloc.
311630839Sache
311730839Sache	* diff3.c (perror_with_exit): Include program name in message.
311830839Sache
311930839Sache	* diff3.c: Lowercase error messages for GNU standards.
312030839Sache
312130839Sache	* sdiff.c [USG || STDC_HEADERS]: Define bcopy in terms of memcpy.
312230839Sache
312330839Sache	* sdiff.c: Use the version number from version.c.
312430839Sache	* Makefile.in: Link with version.o.
312530839Sache
312630839Sache	* cmp.c error.c xmalloc.c: New files from textutils.
312730839Sache	* Makefile.in: Add rules for them.
312830839Sache
312930839Sache	* diff.c (longopts): --unidirectional-new-file is like -P, not -N.
313030839Sache	Rename --file-label to --label (leave old name, but undocumented).
313130839Sache
313230839Sache	* sdiff.c, diff.c (usage): Condense messages and fix some errors.
313330839Sache
313430839Sache	* diff3.c (main, usage): Add long-named options.
313530839Sache
313630839SacheFri Jul  3 14:31:18 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
313730839Sache
313830839Sache	* diff.h, diff3.c, sdiff.c: Change FOO_MISSING macros to HAVE_FOO.
313930839Sache
314030839SacheThu Jun 25 16:59:47 1992  David J. MacKenzie  (djm@apple-gunkies.gnu.ai.mit.edu)
314130839Sache
314230839Sache	* diff.c: --reversed-ed -> --forward-ed.
314330839Sache
314430839SacheWed Feb 26 12:17:32 1992  Paul Eggert  (eggert@yata.uucp)
314530839Sache
314630839Sache	* analyze.c, diff.c, diff.h, io.c: For -y, compare even if same file.
314730839Sache
314830839SacheFri Feb 14 22:46:38 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
314930839Sache
315030839Sache	* io.c, diff3.c, analyze.c: Add extra parentheses.
315130839Sache
315230839SacheSun Feb  9 00:22:42 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
315330839Sache
315430839Sache	* diff.h (unidirectional_new_file_flag): New variable.
315530839Sache	* diff.c (main): Set that for -P.
315630839Sache	(compare_files): Support -P, somewhat like -N.
315730839Sache	(longopts): Support long name for -P.
315830839Sache
315930839SacheSat Jan  4 20:10:34 1992  Paul Eggert (eggert at yata.uucp)
316030839Sache
316130839Sache	* Makefile.in: Distribute diff.info-* too.
316230839Sache
316330839Sache	* README, sdiff.c: version number now matches version.c.
316430839Sache
316530839Sache	* configure: Fix and document vfork test.
316630839Sache
316730839Sache	* ifdef.c: Don't dump core if `diff -Dx f f'.
316830839Sache
316930839SacheMon Dec 23 23:36:08 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
317030839Sache
317130839Sache	* diff.h, diff3.c, sdiff.c: Change POSIX ifdefs to
317230839Sache	HAVE_UNISTD_H and _POSIX_VERSION.
317330839Sache
317430839SacheWed Dec 18 17:00:31 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
317530839Sache
317630839Sache	* Makefile.in (srcs): Add sdiff.c.
317730839Sache	(tapefiles): Add diff.texi and diff.info.
317830839Sache
317930839Sache	* diff.h, diff3.c, sdiff.c: Use HAVE_VFORK_H instead of
318030839Sache	VFORK_HEADER and VFORK_WORKS.
318130839Sache
318230839SacheTue Dec 17 00:02:59 1991  Paul Eggert  (eggert at yata.uucp)
318330839Sache
318430839Sache	* Makefile.in (all): Add diff.info, sdiff.
318530839Sache
318630839Sache	* configure, diff.c, sdiff.c:
318730839Sache	Prefix long options with `--', not `+'.
318830839Sache	* diff.c: Regularize option names.
318930839Sache
319030839Sache	* configure: Fix check for vfork.
319130839Sache	* configure, diff.c, diff.h, diff3.c, sdiff.c:
319230839Sache	Use Posix definitions when possible.
319330839Sache
319430839Sache	* context.c: Align context with tab if -T is given.  Tune.
319530839Sache	* diff.c, diff.h, side.c: Calculate column widths so that tabs line up.
319630839Sache	* io.c: Add distinction between white space and printing chars.
319730839Sache	* side.c: Don't expand tabs unless -t is given.
319830839Sache	* side.c, util.c: Tab expansion now knows about '\b', '\f', '\r', '\v'.
319930839Sache	* util.c: -w skips all white space.  Remove lint.  Tune.
320030839Sache
320130839Sache	* sdiff.c: Support many more diff options, e.g. `-', `sdiff file dir'.
320230839Sache	Ignore interrupts while the subsidiary editor is in control.
320330839Sache	Clean up temporary file and kill subsidiary diff if interrupted.
320430839Sache	Ensure subsidiary diff doesn't ignore SIGPIPE.
320530839Sache	Don't get confused while waiting for two subprocesses.
320630839Sache	Don't let buffers overflow.  Check for I/O errors.
320730839Sache	Convert to GNU style.  Tune.
320830839Sache
320930839Sache	* sdiff.c, util.c: Don't lose errno.
321030839Sache	Don't confuse sdiff with messages like `Binary files differ'.
321130839Sache	* sdiff.c, side.c: Don't assume that common lines are identical.
321230839Sache	Simplify --sdiff-merge-assist format.
321330839Sache
321430839SacheMon Sep 16 16:42:01 1991  Tom Lord  (lord at churchy.gnu.ai.mit.edu)
321530839Sache
321630839Sache	* Makefile.in, sdiff.c: introduced sdiff front end to diff.
321730839Sache
321830839Sache	* Makefile.in, analyze.c, diff.c, diff.h, io.c, side.c: Added
321930839Sache	sdiff-style output format to diff.
322030839Sache
322130839SacheMon Aug 26 16:44:55 1991  David J. MacKenzie  (djm at pogo.gnu.ai.mit.edu)
322230839Sache
322330839Sache	* Makefile.in, configure: Only put $< in Makefile if using VPATH,
322430839Sache	because older makes don't understand it.
322530839Sache
322630839SacheFri Aug  2 12:22:30 1991  David J. MacKenzie  (djm at apple-gunkies)
322730839Sache
322830839Sache	* configure: Create config.status.  Remove it and Makefile if
322930839Sache	interrupted while creating them.
323030839Sache
323130839SacheThu Aug  1 22:24:31 1991  David J. MacKenzie  (djm at apple-gunkies)
323230839Sache
323330839Sache	* configure: Check for +srcdir etc. arg and look for
323430839Sache	Makefile.in in that directory.  Set VPATH if srcdir is not `.'.
323530839Sache	* Makefile.in: Get rid of $(archpfx).
323630839Sache
323730839SacheTue Jul 30 21:28:44 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
323830839Sache
323930839Sache	* Makefile.in (prefix): Renamed from DESTDIR.
324030839Sache
324130839SacheWed Jul 24 23:08:56 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
324230839Sache
324330839Sache	* diff.h, diff3.c: Rearrange ifdefs to use POSIX,
324430839Sache	STDC_HEADERS, VFORK_MISSING, DIRENT.  This way it works on
324530839Sache	more systems that aren't pure USG or BSD.
324630839Sache	Don't not define const if __GNUC__ is defined -- that would
324730839Sache	break with -traditional.
324830839Sache	* configure: Check for those features.
324930839Sache
325030839SacheWed Jul 10 01:39:23 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
325130839Sache
325230839Sache	* configure, Makefile.in: $(INSTALLPROG) -> $(INSTALL).
325330839Sache
325430839SacheSat Jul  6 16:39:04 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
325530839Sache
325630839Sache	* Replace Makefile with configure and Makefile.in.
325730839Sache	Update README with current compilation instructions.
325830839Sache
325930839SacheSat Jul  6 14:03:29 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
326030839Sache
326130839Sache	* util.c (setup_output): Just save the args for later use.
326230839Sache	(begin_output): Do the real work, with the values that were saved.
326330839Sache	It's safe to call begin_output more than once.
326430839Sache	Print the special headers for context format here.
326530839Sache	* analyze.c (diff_2_files): Don't print special headers here.
326630839Sache	* context.c (pr_context_hunk, pr_unidiff_hunk): Call begin_output.
326730839Sache	* ed.c (print_ed_hunk, print_forward_ed_hunk, print_rcs_hunk):
326830839Sache	* normal.c (print_normal_hunk): Likewise.
326930839Sache	* ifdef.c (print_ifdef_hunk): Likewise.
327030839Sache	* util.c (finish_output): Don't die if begin_output was not called.
327130839Sache
327230839SacheThu Jun 20 23:10:01 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
327330839Sache
327430839Sache	* Makefile: Add TAGS, distclean, and realclean targets.
327530839Sache	Set SHELL.
327630839Sache
327730839SacheTue Apr 30 13:54:36 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
327830839Sache
327930839Sache	* diff.h (TRUE, FALSE): Undefine these before defining.
328030839Sache
328130839SacheThu Mar 14 18:27:27 1991  Richard Stallman  (rms@mole.ai.mit.edu)
328230839Sache
328330839Sache	* Makefile (objs): Include $(ALLOCA).
328430839Sache
328530839SacheSat Mar  9 22:34:03 1991  Richard Stallman  (rms at mole.ai.mit.edu)
328630839Sache
328730839Sache	* diff.h: Include regex.h.
328830839Sache
328930839SacheThu Feb 28 18:59:53 1991  Richard Stallman  (rms at mole.ai.mit.edu)
329030839Sache
329130839Sache	* Makefile (diff3): Link with GNU getopt.
329230839Sache
329330839SacheSat Feb 23 12:49:43 1991  Richard Stallman  (rms at mole.ai.mit.edu)
329430839Sache
329530839Sache	* io.c (find_equiv_class): Make hash code unsigned before mod.
329630839Sache
329730839Sache	* diff.h (files): Add EXTERN.
329830839Sache
329930839SacheSun Jan 13 21:33:01 1991  Richard Stallman  (rms at mole.ai.mit.edu)
330030839Sache
330130839Sache	* diff.c: +print option renamed +paginate.  Remove +all-text.
330230839Sache
330330839SacheMon Jan  7 06:18:01 1991  David J. MacKenzie  (djm at geech.ai.mit.edu)
330430839Sache
330530839Sache	* Makefile (dist): New target, replacing diff.tar and
330630839Sache	diff.tar.Z, to encode version number in distribution directory
330730839Sache	and tar file names.
330830839Sache
330930839SacheSun Jan  6 18:42:23 1991  Michael I Bushnell  (mib at geech.ai.mit.edu)
331030839Sache
331130839Sache	* Version 1.15 released.
331230839Sache
331330839Sache	* version.c: Updated from 1.15 alpha to 1.15
331430839Sache
331530839Sache	* context.c (print_context_number_range,
331630839Sache	print_unidiff_number_range): Don't print N,M when N=M, print
331730839Sache	just N instead.
331830839Sache
331930839Sache	* README: Updated for version 1.15.
332030839Sache	Makefile: Updated for version 1.15.
332130839Sache
332230839Sache	* diff3.c (main): Don't get confused if one of the arguments
332330839Sache	is a directory.
332430839Sache
332530839Sache	* diff.c (compare_files): Don't get confused if comparing
332630839Sache	standard input to a directory; print error instead.
332730839Sache
332830839Sache	* analyze.c (diff_2_files), context.c (print_context_header,
332930839Sache	print_context_script), diff.c (main), diff.h (enum
333030839Sache	output_style): Tread unidiff as an output style in its own
333130839Sache	right.  This also generates an error when both -u and -c are
333230839Sache	given.
333330839Sache
333430839Sache	* diff.c (main): Better error messages when regexps are bad.
333530839Sache
333630839Sache	* diff.c (compare_files): Don't assume stdin is opened.
333730839Sache
333830839Sache	* diff3.c (read_diff): Don't assume things about the order of
333930839Sache	descriptor assignment and closes.
334030839Sache
334130839Sache	* util.c (setup_output): Don't assume things about the order
334230839Sache	of descriptor assignment and closes.
334330839Sache
334430839Sache	* diff.c (compare_files): Set a flag so that closes don't
334530839Sache	happen more than once.
334630839Sache
334730839Sache	* diff.c (main): Don't just flush stdout, do a close.  That
334830839Sache	way on broken systems we can still get errors.
334930839Sache
335030839SacheMon Dec 24 16:24:17 1990  Richard Stallman  (rms at mole.ai.mit.edu)
335130839Sache
335230839Sache	* diff.c (usage): Use = for args of long options.
335330839Sache
335430839SacheMon Dec 17 18:19:20 1990  Michael I Bushnell  (mib at geech.ai.mit.edu)
335530839Sache
335630839Sache	* context.c (print_context_label): Labels were interchanged badly.
335730839Sache
335830839Sache	* context.c (pr_unidiff_hunk): Changes to deal with files
335930839Sache	ending in incomplete lines.
336030839Sache	* util.c (print_1_line): Other half of the changes.
336130839Sache
336230839SacheMon Dec  3 14:23:55 1990  Richard Stallman  (rms at mole.ai.mit.edu)
336330839Sache
336430839Sache	* diff.c (longopts, usage): unidiff => unified.
336530839Sache
336630839SacheWed Nov  7 17:13:08 1990  Richard Stallman  (rms at mole.ai.mit.edu)
336730839Sache
336830839Sache	* analyze.c (diff_2_files): No warnings about newlines for -D.
336930839Sache
337030839Sache	* diff.c (pr_unidiff_hunk): Remove ref to output_patch_flag.
337130839Sache
337230839SacheTue Oct 23 23:19:18 1990  Richard Stallman  (rms at mole.ai.mit.edu)
337330839Sache
337430839Sache	* diff.c (compare_files): For -D, compare even args are same file.
337530839Sache	* analyze.c (diff_2_files): Likewise.
337630839Sache	Also, output even if files have no differences.
337730839Sache
337830839Sache	* analyze.c (diff_2_files): Print missing newline messages last.
337930839Sache	Return 2 if a newline is missing.
338030839Sache	Print them even if files end with identical text.
338130839Sache
338230839SacheMon Oct 22 19:40:09 1990  Richard Stallman  (rms at mole.ai.mit.edu)
338330839Sache
338430839Sache	* diff.c (usage): Return 2.
338530839Sache
338630839SacheWed Oct 10 20:54:04 1990  Richard Stallman  (rms at mole.ai.mit.edu)
338730839Sache
338830839Sache	* diff.c (longopts): Add +new-files.
338930839Sache
339030839SacheSun Sep 23 22:49:29 1990  Richard Stallman  (rms at mole.ai.mit.edu)
339130839Sache
339230839Sache	* context.c (print_context_script): Handle unidiff_flag.
339330839Sache	(print_context_header): Likewise.
339430839Sache	(print_unidiff_number_range, pr_unidiff_hunk): New functions.
339530839Sache	* diff.c (longopts): Add element for +unidiff.
339630839Sache	(main): Handle +unidiff and -u.
339730839Sache	(usage): Mention them.
339830839Sache
339930839SacheWed Sep  5 16:33:22 1990  Richard Stallman  (rms at mole.ai.mit.edu)
340030839Sache
340130839Sache	* io.c (find_and_hash_each_line): Deal with missing final newline
340230839Sache	after buffering necessary context lines.
340330839Sache
340430839SacheSat Sep  1 16:32:32 1990  Richard Stallman  (rms at mole.ai.mit.edu)
340530839Sache
340630839Sache	* io.c (find_identical_ends): ROBUST_OUTPUT_FORMAT test was backward.
340730839Sache
340830839SacheThu Aug 23 17:17:20 1990  Richard Stallman  (rms at mole.ai.mit.edu)
340930839Sache
341030839Sache	* diff3.c (WIFEXITED): Undef it if WEXITSTATUS is not defined.
341130839Sache	* context.c (find_function): Don't try to return values.
341230839Sache
341330839SacheWed Aug 22 11:54:39 1990  Richard Stallman  (rms at mole.ai.mit.edu)
341430839Sache
341530839Sache	* diff.h (O_RDONLY): Define if not defined.
341630839Sache
341730839SacheTue Aug 21 13:49:26 1990  Richard Stallman  (rms at mole.ai.mit.edu)
341830839Sache
341930839Sache	* Handle -L option.
342030839Sache	* context.c (print_context_label): New function.
342130839Sache	(print_context_header): Use that.
342230839Sache	* diff.c (main): Recognize the option.
342330839Sache	(usage): Updated.
342430839Sache	* diff.h (file_label): New variable.
342530839Sache	* diff3.c (main): Recognize -L instead of -t.
342630839Sache
342730839Sache	* diff3.c (main): Support -m without other option.
342830839Sache
342930839Sache	* diff3.c (WEXITSTATUS, WIFEXITED): Define whenever not defined.
343030839Sache
343130839Sache	* diff3.c (bcopy, index, rindex): Delete definitions; not used.
343230839Sache	(D_LINENUM, D_LINELEN): Likewise.
343330839Sache	(struct diff_block): lengths includes newlines.
343430839Sache	(struct diff3_block): Likewise.
343530839Sache	(always_text, merge): New variables.
343630839Sache	(read_diff): Return address of end, not size read.  Calls changed.
343730839Sache	Pass -a to diff if given to diff3.
343830839Sache	current_chunk_size now an int.  Detect error in `pipe'.
343930839Sache	Check for incomplete line of output here.
344030839Sache	(scan_diff_line): Don't make scan_ptr + 2 before knowing it is valid.
344130839Sache	No need to check validity of diff output here.
344230839Sache	Include newline in length of line.
344330839Sache	(main): Compute rev_mapping here.  Handle -a and -m.
344430839Sache	Error message if excess -t operands.  Error for incompatible options.
344530839Sache	Error if `-' given more than once.
344630839Sache	Fix error storing in tag_strings.
344730839Sache	(output_diff3): REV_MAPPING is now an arg.  Call changed.
344830839Sache	Change syntax of "missing newline" message.
344930839Sache	Expect length of line to include newline.
345030839Sache	(output_diff3_edscript): Return just 0 or 1.
345130839Sache	REV_MAPPING is now an arg.  Call changed.
345230839Sache	(output_diff3_merge): New function.
345330839Sache	(process_diff): Better error message for bad diff format.
345430839Sache	(fatal, perror_with_exit): Return status 2.
345530839Sache
345630839Sache	* analyze.c (diff_2_files): Report missing newline in either
345730839Sache	or both files, if not robust output style.
345830839Sache
345930839Sache	* util.c (setup_output): Detect error from pipe.
346030839Sache	No need to close stdin.
346130839Sache
346230839Sache	* util.c (print_1_line): Change format of missing-newline msg.
346330839Sache	Change if statements to switch.
346430839Sache
346530839Sache	* io.c (slurp): Don't mention differences in final newline if -B.
346630839Sache
346730839Sache	* io.c (binary_file_p): Use ISO char set as criterion, not ASCII.
346830839Sache
346930839Sache	* io.c (find_identical_ends): Increase value of BEG0 by 1.
347030839Sache	Other changes in backwards scan to avoid decrementing pointers
347130839Sache	before start of array, and set LINES properly.
347230839Sache
347330839Sache	* diff.h (ROBUST_OUTPUT_STYLE): New macro.
347430839Sache	* io.c (find_identical_ends, find_and_hash_each_line): Use that macro.
347530839Sache
347630839Sache	* diff.h (dup2): Don't define if XENIX.
347730839Sache
347830839Sache	* diff.c (main): Check for write error at end.
347930839Sache
348030839Sache	* context.c (find_function): Don't return a value.
348130839Sache	Use argument FILE rather than global files.
348230839Sache
348330839Sache	* analyze.c: Add external function declarations.
348430839Sache	* analyze.c (build_script): Turn off explicit check for final newline.
348530839Sache
348630839Sache	* analyze.c (discard_confusing_lines): Make integers unsigned.
348730839Sache
348830839SacheTue Jul 31 21:37:16 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
348930839Sache
349030839Sache	* io.c (find_and_hash_each_line): Correct the criterion
349130839Sache	for leaving out the newline from the end of the line.
349230839Sache
349330839SacheTue May 29 21:28:16 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
349430839Sache
349530839Sache	* dir.c (diff_dirs): Free things only if nonzero.
349630839Sache
349730839SacheMon Apr 16 18:31:05 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
349830839Sache
349930839Sache	* diff.h (NDIR_IN_SYS): New macro controls location of ndir.h.
350030839Sache
350130839Sache	* diff3.c (xmalloc, xrealloc): Don't die if size == 0 returns 0.
350230839Sache
350330839SacheSun Mar 25 15:58:42 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
350430839Sache
350530839Sache	* analyze.c (discard_confusing_lines):
350630839Sache	`many' wasn't being used; use it.
3507170754Sdelphij	Canceling provisionals near start of run must handle already
3508170754Sdelphij	canceled provisionals.
3509170754Sdelphij	Canceling subruns of provisionals was canceling last nonprovisional.
351030839Sache
351130839SacheSat Mar 24 14:02:51 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
351230839Sache
351330839Sache	* analyze.c (discard_confusing_lines):
351430839Sache	Threshold for line occurring many times scales by square root
351530839Sache	of total lines.
351630839Sache	Within each run, cancel any long subrun of provisionals.
3517170754Sdelphij	Don't update `provisional' while canceling provisionals.
351830839Sache	In big outer loop, handle provisional and nonprovisional separately.
351930839Sache
352030839SacheThu Mar 22 16:35:33 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
352130839Sache
352230839Sache	* analyze.c (discard_confusing_lines):
352330839Sache	The first loops to discard provisionals from ends failed to step.
352430839Sache	In second such loops, keep discarding all consecutive provisionals.
352530839Sache	Increase threshold for stopping discarding, and also check for
352630839Sache	consecutive nondiscardables as separate threshold.
352730839Sache
352830839SacheFri Mar 16 00:33:08 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
352930839Sache
353030839Sache	* diff3.c (read_diff): Pass -- as first arg to diff.
353130839Sache
353230839Sache	* diff3.c: Include wait.h or define equivalent macros.
353330839Sache	(read_diff): Don't use stdio printing error in the inferior.
353430839Sache	Remember the pid and wait for it.  Report failing status.
353530839Sache	Report failure of vfork.
353630839Sache
353730839SacheSun Mar 11 17:10:32 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
353830839Sache
353930839Sache	* diff3.c (main): Accept -t options and pass to output_diff3_edscript.
354030839Sache	(usage): Mention -t.
354130839Sache	(read_diff): Use vfork.
354230839Sache	(vfork): Don't use it on Sparc.
354330839Sache
354430839Sache	* diff.h (vfork): Don't use it on Sparc.
354530839Sache
354630839SacheTue Mar  6 22:37:20 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
354730839Sache
354830839Sache	* diff3.c (dup2): Don't define on Xenix.
354930839Sache
355030839Sache	* Makefile: Comments for Xenix.
355130839Sache
355230839SacheThu Mar  1 17:19:23 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
355330839Sache
355430839Sache	* analyze.c (diff_2_files): `message' requires three args.
355530839Sache
355630839SacheFri Feb 23 10:56:50 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
355730839Sache
355830839Sache	* diff.h, util.c, diff3.c: Change 'void *' to 'VOID *', with
355930839Sache	VOID defined as void if __STDC__, char if not.
356030839Sache
356130839SacheSun Feb 18 20:31:58 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
356230839Sache
356330839Sache	* Makefile: Add rules for getopt.c, getopt1.c, getopt.h.
356430839Sache
356530839Sache	* getopt.c, getopt.h, getopt1.c: New files.
356630839Sache
356730839Sache	* main.c (main, usage): Add long options.
356830839Sache
356930839Sache	* analyze.c (shift_boundaries): Remove unused var 'j_end'.
357030839Sache
357130839SacheThu Feb  8 02:43:16 1990  Jim Kingdon  (kingdon at pogo.ai.mit.edu)
357230839Sache
357330839Sache	* GNUmakefile: include ../Makerules before Makefile.
357430839Sache
357530839SacheFri Feb  2 23:21:38 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
357630839Sache
3577170754Sdelphij	* analyze.c (diff_2_files): If -B or -I, don't return 1
357830839Sache	if all changes were ignored.
357930839Sache
358030839SacheWed Jan 24 20:43:57 1990  Richard Stallman  (rms at albert.ai.mit.edu)
358130839Sache
358230839Sache	* diff3.c (fatal): Output to stderr.
358330839Sache
358430839SacheThu Jan 11 00:25:56 1990  David J. MacKenzie  (djm at hobbes.ai.mit.edu)
358530839Sache
358630839Sache	* diff.c (usage): Mention -v.
358730839Sache
358830839SacheWed Jan 10 16:06:38 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
358930839Sache
359030839Sache	* diff3.c (output_diff3_edscript): Return number of overlaps.
359130839Sache	(main): If have overlaps, exit with status 1.
359230839Sache
359330839SacheSun Dec 24 10:29:20 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
359430839Sache
359530839Sache	* io.c (find_equiv_class): Fix typo that came from changing init of B
3596170754Sdelphij	to an assignment.
359730839Sache
359830839Sache	* version.c: New file.
359930839Sache	* diff.c (main): -v prints version number.
360030839Sache
360130839Sache	* io.c (binary_file_p): Null char implies binary file.
360230839Sache
360330839SacheFri Nov 17 23:44:55 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
360430839Sache
360530839Sache	* util.c (print_1_line): Fix off by 1 error.
360630839Sache
360730839SacheThu Nov 16 13:51:10 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
360830839Sache
360930839Sache	* util.c (xcalloc): Function deleted.
361030839Sache
361130839Sache	* io.c (slurp): Null-terminate the buffer.
361230839Sache
361330839Sache	* io.c (read_files): Delete unused vars.
361430839Sache
361530839Sache	* io.c (find_equiv_class): Don't index by N if too low.
361630839Sache
361730839Sache	* dir.c (dir_sort): Delete the extra declaration of compare_names.
361830839Sache
361930839Sache	* diff.h: Don't declare xcalloc.  Declare some other functions.
362030839Sache
362130839Sache	* analyze.c (shift_boundaries):
362230839Sache	Test for END at end of range before indexing by it.
3623170754Sdelphij	Fix misspelling of `preceding' in var names.
362430839Sache
362530839SacheSat Nov 11 14:04:16 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
362630839Sache
362730839Sache	* diff3.c (using_to_diff3_block): Delete unused vars.
362830839Sache	(make_3way_diff, process_diff_control, read_diff, output_diff3): Likewise.
362930839Sache
363030839SacheMon Nov  6 18:15:50 EST 1989 Jay Fenlason (hack@ai.mit.edu)
363130839Sache
363230839Sache	* README Fix typo.
363330839Sache
363430839SacheFri Nov  3 15:27:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
363530839Sache
363630839Sache	* diff.c (usage): Mention -D.
363730839Sache
363830839Sache	* ifdef.c (print_ifdef_hunk): Write comments on #else and #endif.
363930839Sache
364030839SacheSun Oct 29 16:41:07 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
364130839Sache
364230839Sache	* diff.c (compare_files): Don't fflush for identical files.
364330839Sache
364430839SacheWed Oct 25 17:57:12 1989  Randy Smith  (randy at apple-gunkies.ai.mit.edu)
364530839Sache
364630839Sache	* diff3.c (using_to_diff3_block): When defaulting lines from
364730839Sache	FILE0, only copy up to just under the *lowest* line mentioned
364830839Sache	in the next diff.
364930839Sache
365030839Sache	* diff3.c (fatal): Add \n to error messages.
365130839Sache
365230839SacheWed Oct 25 15:05:49 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
365330839Sache
365430839Sache	* Makefile (tapefiles): Add ChangeLog.
365530839Sache
365630839SacheTue Oct  3 00:51:17 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
365730839Sache
365830839Sache	* diff3.c (process_diff, create_diff3_block): Init ->next field.
365930839Sache
366030839SacheFri Sep 29 08:16:45 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
366130839Sache
366230839Sache	* util.c (line_cmp): Alter end char of line 2, not line 1.
366330839Sache
366430839SacheWed Sep 20 00:12:37 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
366530839Sache
366630839Sache	* Makefile (diff.tar): Expect ln to fail on some files;
366730839Sache	copy them with cp.
366830839Sache
366930839SacheMon Sep 18 02:54:29 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
367030839Sache
367130839Sache	* Handle -D option:
367230839Sache	* io.c (find_and_hash_each_line): Keep all lines of 1st file.
367330839Sache	* diff.c (main): Handle -D option.
367430839Sache	(compare_files): Reject -D if files spec'd are directories.
367530839Sache	* analyze.c (diff_2_files): Handle OUTPUT_IFDEF case.
367630839Sache
367730839SacheFri Sep  1 20:15:50 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
367830839Sache
367930839Sache	* diff.c (option_list): Rename arg VECTOR as OPTIONVEC.
368030839Sache
368130839SacheMon Aug 28 17:58:27 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
368230839Sache
368330839Sache	* diff.c (compare_files): Clear entire inf[i].stat.
368430839Sache
368530839SacheWed Aug 23 17:48:47 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
368630839Sache
368730839Sache	* io.c (find_identical_ends): Sign was backward
368830839Sache	determining where to bound the scan for the suffix.
368930839Sache
369030839SacheWed Aug 16 12:49:16 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
369130839Sache
369230839Sache	* analyze.c (diff_2_files): If -q, treat all files as binary.
369330839Sache	* diff.c (main): Detect -q, record in no_details_flag.
369430839Sache
369530839SacheSun Jul 30 23:12:00 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
369630839Sache
369730839Sache	* diff.c (usage): New function.
369830839Sache	(main): Call it.
369930839Sache
370030839SacheWed Jul 26 02:02:19 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
370130839Sache
370230839Sache	* diff.c (main): Make -C imply -c.
370330839Sache
370430839SacheThu Jul 20 17:57:51 1989  Chris Hanson  (cph at kleph)
370530839Sache
370630839Sache	* io.c (find_and_hash_each_line): Bug fix in context handling,
370730839Sache	introduced by last change.
370830839Sache
370930839SacheFri Jul 14 17:39:20 1989  Chris Hanson  (cph at kleph)
371030839Sache
371130839Sache	* analyze.c: To make RCS work correctly on files that don't
371230839Sache	necessarily end in newline, introduce some changes that cause
371330839Sache	diffs to be sensitive to missing final newline.  Because
371430839Sache	non-RCS modes don't want to be affected by these changes, they
371530839Sache	are conditional on `output_style == OUTPUT_RCS'.
371630839Sache	(diff_2_files) [OUTPUT_RCS]: Suppress the "File X missing
371730839Sache	newline" message.
371830839Sache	(build_script) [OUTPUT_RCS]: Cause the last line to compare as
371930839Sache	different if exactly one of the files is missing its final
372030839Sache	newline.
372130839Sache
372230839Sache	* io.c (find_and_hash_each_line): Bug fix in
372330839Sache	ignore_space_change mode.  Change line's length to include the
372430839Sache	newline.  For OUTPUT_RCS, decrement last line's length if
372530839Sache	there is no final newline.
372630839Sache	(find_identical_ends) [OUTPUT_RCS]: If one of the files is
372730839Sache	missing a final newline, make sure it's not included in either
372830839Sache	the prefix or suffix.
372930839Sache
373030839Sache	* util.c (print_1_line): Change line output routine to account
373130839Sache	for line length including the newline.
373230839Sache
373330839SacheTue Jun 27 02:35:28 1989  Roland McGrath  (roland at hobbes.ai.mit.edu)
373430839Sache
373530839Sache	* Makefile: Inserted $(archpfx) where appropriate.
373630839Sache
373730839SacheWed May 17 20:18:43 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
373830839Sache
373930839Sache	* diff3.c [USG]: Include fcntl.h.
374030839Sache
374130839Sache	* diff.h [USG]: New compilation flags HAVE_NDIR, HAVE_DIRECT.
374230839Sache
374330839SacheWed Apr 26 15:35:57 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
374430839Sache
374530839Sache	* dir.c (diff_dirs): Two new args, NONEX1 and NONEX2, say to pretend
374630839Sache	nonex dirs are empty.
374730839Sache	(dir_sort): New arg NONEX, likewise.
374830839Sache	* diff.c (compare_files): Pass those args.
374930839Sache	Sometimes call diff_dirs if subdir exists in just one place.
375030839Sache
375130839SacheWed Apr 12 01:10:27 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
375230839Sache
375330839Sache	* io.c (find_identical_ends): Set END0 *after* last char
375430839Sache	during backward scan for suffix.
375530839Sache
375630839SacheSat Apr  8 15:49:49 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
375730839Sache
375830839Sache	* diff3.c (using_to_diff3_block): Now find high marks in files 1
375930839Sache	and 2 through mapping off of the last difference instead of the
376030839Sache	first.
376130839Sache
376230839Sache	* diff3.c: Many trivial changes to spelling inside comments.
376330839Sache
376430839SacheFri Feb 24 12:38:03 1989  Randall Smith  (randy at gluteus.ai.mit.edu)
376530839Sache
376630839Sache	* util.c, normal.c, io.c, ed.c, dir.c, diff.h, diff.c, context.c,
376730839Sache	analyze.c, Makefile: Changed copyright header to conform with new
376830839Sache	GNU General Public license.
376930839Sache	* diff3.c: Changed copyright header to conform with new GNU
377030839Sache	General Public license.
377130839Sache	* COPYING: Made a hard link to /gp/rms/COPYING.
377230839Sache
377330839SacheFri Feb 24 10:01:58 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
377430839Sache
377530839Sache	* io.c (slurp): Leave 2 chars space at end of buffer, not one.
377630839Sache	(find_identical_ends): Special case if either file is empty;
377730839Sache	don't try to make a sentinel since could crash.
377830839Sache
377930839SacheWed Feb 15 14:24:48 1989  Jay Fenlason  (hack at apple-gunkies.ai.mit.edu)
378030839Sache
378130839Sache	* diff3.c (message)  Re-wrote routine to avoid using alloca()
378230839Sache
378330839SacheWed Feb 15 06:19:14 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
378430839Sache
378530839Sache	* io.c (find_identical_ends): Delete the variable `bytes'.
378630839Sache
378730839SacheSun Feb 12 11:50:36 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
378830839Sache
378930839Sache	* io.c (slurp): ->bufsize is nominal amount we have room for;
379030839Sache	add room for sentinel when calling xmalloc or xrealloc.
379130839Sache
379230839Sache	* io.c (find_identical_ends): Do need overrun check in finding suffix.
379330839Sache
379430839SacheFri Feb 10 01:28:15 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
379530839Sache
379630839Sache	* diff.c (main): -C now takes arg to specify context length.
379730839Sache	Now -p to show C function name--Damned IEEE!
379830839Sache	Fatal error if context length spec'd twice.
379930839Sache
380030839Sache	* ed.c (print_ed_hunk): Now special treatment only for lines containing
380130839Sache	precisely a dot and nothing else.  Output `..', end the insert,
380230839Sache	substitute that one line, then resume the insert if nec.
380330839Sache
380430839Sache	* io.c (find_and_hash_lines): When backing up over starting context,
380530839Sache	don't move past buffer-beg.
380630839Sache
380730839Sache	* io.c (find_identical_ends): Use sentinels to make the loops faster.
380830839Sache	If files are identical, skip the 2nd loop and return quickly.
380930839Sache	(slurp): Leave 1 char extra space after each buffer.
381030839Sache
381130839Sache	* analyze.c (diff_2_files): Mention difference in final newlines.
381230839Sache
381330839SacheWed Jan 25 22:44:44 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
381430839Sache
381530839Sache	* dir.c (diff_dirs): Use * when calling fcn ptr variable.
381630839Sache
381730839SacheSat Dec 17 14:12:06 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
381830839Sache
381930839Sache	* Makefile: New vars INSTALL and LIBS used in some rules;
382030839Sache	provide default defns plus commented-put defns for sysV.
382130839Sache
382230839SacheThu Nov 17 16:42:53 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
382330839Sache
382430839Sache	* dir.c (dir_sort): Open-trouble not fatal; just say # files is -1.
382530839Sache	(diff_dirs): If dir_sort does that, give up and return 2.
382630839Sache
382730839Sache	* diff.c (compare_files): Don't open directories.
382830839Sache	Don't close them specially either.
382930839Sache	Cross-propagate inf[i].dir_p sooner.
383030839Sache
383130839SacheSun Nov 13 11:19:36 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
383230839Sache
383330839Sache	* diff.h: Declare index, rindex.
383430839Sache
383530839Sache	* diff.c (compare_files): If comparing foodir with b/f,
383630839Sache	use foodir/f, not foodir/b/f.
383730839Sache
383830839Sache	* diff.c (compare_files): Don't print "are identical" msg for 2 dirs.
383930839Sache	Status now 1 if one file is a dir and the other isn't, etc.
384030839Sache
384130839SacheThu Nov  3 16:30:24 1988  Randall Smith  (randy at gluteus.ai.mit.edu)
384230839Sache
384330839Sache	* Makefile: Added a define for diff3 to define DIFF_PROGRAM.
384430839Sache
384530839Sache	* util.c: Added hack to make sure that perror was not called with
384630839Sache	a null pointer.
384730839Sache
384830839Sache	* diff.c: Changed S_IFDIR to S_IFMT in masking type of file bits
384930839Sache	out.
385030839Sache
385130839Sache	* diff3.c: Included USG compatibility defines.
385230839Sache
385330839Sache	* diff.h: Moved sys/file.h into #else USG section (not needed or
385430839Sache	wanted on System V).
385530839Sache
385630839Sache	* ed.c, analyze.c, context.c: Shortened names to 12 characters for
385730839Sache	the sake of System V (too simple not to do).
3858170754Sdelphij
3859170754Sdelphij
3860170754SdelphijCopyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1997, 1998, 1999,
3861170754Sdelphij2000, 2001, 2002 Free Software Foundation, Inc.
3862170754Sdelphij
3863170754SdelphijThis file is part of GNU Diffutils.
3864170754Sdelphij
3865170754SdelphijThis program is free software; you can redistribute it and/or modify
3866170754Sdelphijit under the terms of the GNU General Public License as published by
3867170754Sdelphijthe Free Software Foundation; either version 2, or (at your option)
3868170754Sdelphijany later version.
3869170754Sdelphij
3870170754SdelphijThis program is distributed in the hope that they will be useful,
3871170754Sdelphijbut WITHOUT ANY WARRANTY; without even the implied warranty of
3872170754SdelphijMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
3873170754SdelphijGNU General Public License for more details.
3874170754Sdelphij
3875170754SdelphijYou should have received a copy of the GNU General Public License
3876170754Sdelphijalong with this program; see the file COPYING.  If not, write to
3877170754Sdelphijthe Free Software Foundation, Inc., 59 Temple Place - Suite 330,
3878170754SdelphijBoston, MA 02111-1307, USA.
3879