1766 lines · 65.1 KB · Text
RawDownload
Sat Oct  1 05:24:19 1994  Paul Eggert  <eggert@twinsun.com> 	* Version 2.7 released. 	* configure.in (AC_HEADER_SYS_WAIT): Add.	(AC_CHECK_HEADERS): Remove sys/wait.h.	(AC_CHECK_FUNCS): Add tmpnam.	* system.h (<sys/wait.h>, WEXITSTATUS): Use simpler scheme	now that HAVE_SYS_WAIT_H is not set on hosts	that are incompatible with Posix applications. 	* util.c (dir_file_pathname): Use filename_lastdirchar not strrchr.	* sdiff.c (expand_name): Likewise.	(private_tempnam): Use tmpnam if HAVE_TMPNAM; this simplifies porting.	(exists, letters): Omit if HAVE_TMPNAM. 	* diff3.c (read_diff): If STAT_BLOCKSIZE yields zero,	adjust it to a more reasonable value. Sat Sep 24 20:36:40 1994  Paul Eggert  <eggert@twinsun.com> 	* sdiff.c (exists, private_tempname): Adopt latest GNU libc algorithm.	(private_tempnam): Specialize for sdiff to avoid portability problems. Thu Sep 22 16:47:00 1994  Paul Eggert  <eggert@twinsun.com> 	* configure.in (AC_ARG_PROGRAM): Added.	(AC_OUTPUT): Add [date > stamp-h]. 	* Makefile.in (DEFAULT_EDITOR_PROGRAM, DIFF_PROGRAM, LIBOBJS,	NULL_DEVICE, PR_PROGRAM, PROGRAMS): New variables.	(check, stamp-h.in, cmp.o, util.o): New targets.	(edit_program_name): New variable; replaces old binprefix method.	(install, uninstall): Use it.	(binprefix): Removed.	(distfiles): Add stamp-h.in.	(clean): Clean stamp-h.	(config.hin, config.h): Use time stamp files.	(cmp_o): Add $(LIBOBJS).	(install): Install info files from srcdir if they're not in `.'. 	* cmp.c, io.c (word): Don't define if already defined. 	* comp.c (main): Use setmode, not open(..., O_BINARY); this gets stdin.	Use NULL_DEVICE instead of "/dev/null".	(cmp): Use %lu instead of %ld when it is more likely to be right. 	* diff.h (PR_FILE_NAME): Rename to PR_PROGRAM and move to Makefile.in,	util.c. 	* diff3.c (main): Give proper diagnostic if too many labels were given.	(read_diff): Use SYSTEM_QUOTE_ARG. 	* system.h: <string.h>: Include if HAVE_STRING_H, too.	<ctype.h>: Include here.  All includers changed.	(CTYPE_DOMAIN, ISDIGIT, ISPRINT, ISSPACE, ISUPPER): New macros that	work around common <ctype.h> problems.	(O_BINARY): Remove.	(SYSTEM_QUOTE_ARG): New macros. 	* diff.c: Add comment. 	* util.c (PR_PROGRAM): Moved here from diff.h.	(begin_output): Use SYSTEM_QUOTE_ARG. 	* io.c (read_files): Set mode to binary before returning 1. 	* sdiff.c (TMPDIR_ENV): New macro.	(DEFAULT_EDITOR_PROGRAM): Renamed from DEFAULT_EDITOR for consistency.	(expand_name): Change `isdir' to `is_dir' to avoid theoretical ctype	namespace contamination.	(main): Use SYSTEM_QUOTE_ARG.	(private_tempnam): Don't access "/tmp" directly; use PVT_tmpdir. Tue Sep 13 18:46:43 1994  Paul Eggert  <eggert@twinsun.com> 	* configure.in (AC_FUNC_MEMCHR): Remove.  Autoconf didn't adopt this,	since we need not worry about an old experimental library	where memchr didn't work.	(AC_FUNC_MEMCMP): Not needed, since we only test for equality.	(AC_REPLACE_FUNCS): Add test for memchr.	(AC_CHECK_FUNCS): Check for memchr, not memcpy, since it'll be cached.	(AC_CHECK_HEADERS): Add string.h; regex.c uses on some old hosts. 	* system.h (memcmp): Define in terms of bcmp.	Use HAVE_MEMCHR to test for all mem* routines. 	* Makefile.in (srcs): Remove memcmp.c.	We use bcmp if memcmp doesn't work, since we only test for equality. Mon Sep 12 15:52:22 1994  Paul Eggert  <eggert@twinsun.com> 	* configure.in (AC_CONFIG_HEADER): Rename config.h.in to config.hin.	(AC_ISC_POSIX, AC_MINIX): Go back to these old names for Autoconf 2.	(AC_CHECK_HEADERS): Remove now-redundant check for <string.h>.	(AC_CHECK_FUNCS): Check for strchr.	(AC_FUNC_MEMCHR, AC_FUNC_MEMCMP, AC_CHECK_FUNCS): Use special-purpose	macros when suitable.	* memcmp.c: New file.	* Makefile.in (CPPFLAGS, DEFS, CFLAGS, LDFLAGS, prefix, exec_prefix):	Default to autoconf-specified strings.	(COMPILE): Use the defaults.	(srcs): Add memcmp.c.	(distfiles): Rename config.h.in->config.hin, install.sh->install-sh.	(Makefile, config.h, config.hin, config.status): Rework for	compatibility with Autoconf 2.	* io.c (binary_file_p): Assume non-broken memchr.	* memchr.c: Assume compiler understands void *; otherwise	we don't match GCC's internal declaration of memchr.	* system.h: Use more modern autoconf approach to standard C headers.	* version.c: Include <config.h>, not "config.h". 	* diff.c, diff.h (ignore_some_line_changes):	New variable; replaces `length_varies'.	(line_end_char): Replace with '\n'; it wasn't being used consistently. 	* io.c (find_and_hash_each_line): Fix inconsistencies with -b -w -i and	incomplete lines.  Put incomplete lines into their own bucket.	This means line_cmp no longer needs line length arguments,	and equivalence classes' line lengths no longer need to include \n.	Invoke line_cmp only if ignore_some_line_changes.	(prepare_text_end): -B no longer ignores missing newlines.	(read_files): Allocate another bucket for incomplete lines. 	* util.c (line_cmp): Now takes just two arguments.  No longer	optimizes for common case of exact equality; the caller does that	optimization now.  The caller is changed accordingly.	Optimize for the common case of mostly equality.	Use isupper+tolower instead of islower+toupper, for consistency. 	* waitpid.c (waitpid): Fix typo with internal scoping. Thu Sep  8 08:23:15 1994  Paul Eggert  <eggert@twinsun.com> 	* configure.in: Revamp for Autoconf 2.	* memchr.c, waitpid.c: New source files for substitute functions.	* Makefile.in (diff_o, diff3_o, sdiff_o): Add $(LIBOBJS).	(srcs): Add memchr.c, waitpid.c.	(distfiles): Add install.sh, memchr.c, waitpid.c, install.sh.	* system.h: Use Autoconf 2 style HAVE_DIRENT_H etc. macros for dirs.	* dir.c (dir_sort): Prefer NAMLEN (p) to strlen (p->d_name).	Change VOID_CLOSEDIR to CLOSEDIR_VOID for Autoconf 2.	* sdiff.c, util.c (memchr, waitpid): Remove; use new substitutes.	* diff3.c (read_diff): Use new waitpid substitute. 	* cmp.c, diff.c, diff3.c, sdiff.c (check_stdout, try_help): New fns.	(usage): Just print more detailed usage message; let caller exit.	* diff.c (option_help): New variable.	(filetype): Add Posix.1b file types. Fri Sep  2 16:01:49 1994  Paul Eggert  <eggert@twinsun.com> 	* configure.in: Switch to new autoconf names.  Add sys/file.h test.	* Makefile.in (distclean): Clean config.cache, config.log	(used by new autoconf). 	* diff.c, diff3.c, (main), sdiff.c (trapsigs): If we'll have children,	make sure SIGCHLD isn't ignored. 	* diff3.c (DIFF_CHUNK_SIZE): Removed.  Get size from STAT_BLOCKSIZE.	(INT_STRLEN_BOUND): New macro. 	* ifdef.c (format_group, groups_letter_value):	Use * instead of [] in prototypes. 	* system.h: Include <sys/file.h> only if HAVE_SYS_FILE_H.	(S_IXGRP, S_IXOTH, S_IXUSR): Remove unused macros. 	* util.c (begin_output): Check fdopen result. 	The following changes simplify porting to non-Posix environments.	* cmp.c, diff.c, diff3.c, sdiff.c, (main): Call initialize_main first.	* diff.c (binary_I_O): New variable for --binary option.	(main, usage, compare_files): Support --binary option.	(compare_files): Use filename_lastdirchar to find last	directory char in a file name.	* cmp.c (main), diff.c (compare_files), dir.c (compare_names,	diff_dirs): Use filename_cmp to compare file names.	Use same_file to determine whether two files are the same.	* context.c (print_context_label): Check whether ctime yields 0.	* diff3.c (read_diff), sdiff.c (cleanup, main, waitpid),	util.c (begin_output): Use popen+pclose if !HAVE_FORK.	* io.c (sip): If HAVE_SETMODE, test for binary files in O_BINARY mode.	* sdiff.c (ck_fdopen): Function removed.	(edit): Use system if !HAVE_FORK.	(execdiff): Now assumes caller has pushed all args, plus trailing 0.	All callers changed.	(private_tempnam): Try TMP if TMPDIR isn't defined.	Fit temporary filenames into 8.3 limit.	* system.h (STAT_BLOCKSIZE): Don't define if already defined.	(min, max): Undef if already defined.	(filename_cmp, filename_lastdirchar, HAVE_FORK, HAVE_SETMODE,	initialize_main O_BINARY, same_file): New macros. Fri Jun 17 11:23:53 1994  David J. MacKenzie  (djm@geech.gnu.ai.mit.edu) 	* Makefile.in (info, dvi, diff.dvi): New targets.	(clean): Remove TeX output files. Fri Jun 17 05:37:52 1994  Paul Eggert  (eggert@twinsun.com) 	* cmp.c, io.c (word): Change from typedef to #define, to avoid	collision with Unicos 8.0 <sys/types.h>, which also typedefs `word'. Thu Apr 15 00:53:01 1994  Paul Eggert  (eggert@twinsun.com) 	* diff3.c (scan_diff_line), util.c (print_number_range): Don't	rely on promotion to make the old-style parameter type agree	with the prototype parameter type; this doesn't work on	Apollos running bsd4.3. Mon Jan  3 02:05:51 1994  Paul Eggert  (eggert@twinsun.com) 	* Makefile.in (LDFLAGS): Remove -g.  Change all link commands	to use both $(CFLAGS) and $(LDFLAGS). Mon Dec 13 12:23:27 1993  Paul Eggert  (eggert@twinsun.com) 	* system.h: Don't assume dirent.h exists just because	_POSIX_VERSION is defined. Fri Dec  3 18:39:39 1993  Paul Eggert  (eggert@twinsun.com) 	* diff.c (main): allow -pu. Tue Nov 23 03:51:08 1993  Paul Eggert  (eggert@twinsun.com) 	* Makefile.in (distclean): Remove config.h. Wed Nov 10 00:28:27 1993  Paul Eggert  (eggert@twinsun.com) 	* Version 2.6 released. 	* analyze.c (too_expensive): New variable, for heuristic to	limit the worst-case cost to O(N**1.5 log N) at the price of	producing suboptimal output for large inputs with many differences.	(diff_2_files): Initialize it.	(struct partition): New type.	(SNAKE_LIMIT): New macro; merely documents already-used number 20.	(diag): New `minimal' arg; all callers changed.  Put results into	struct partition.  Apply `too_expensive' heuristic.  Tune.	(compareseq): New `minimal' arg; all callers changed.  Tune.	(shift_boundaries): Improve heuristic to also coalesce adjacent runs	of changes more often. 	* diff.c (long_options, main, usage): Add `--help'.	(main): Send version number to stdout, not stderr.	(usage): Send usage to stdout, not stderr.	(compare_files): Initialize `inf' properly. 	* io.c (word): Change to `int'; it makes a big difference on x86.	(sip, slurp): Put off allocating room to hold the whole file until we	have to read the whole file.  This wins if the file turns out	to be binary. 	* util.c (xmalloc, xrealloc): "virtual memory" -> "memory"	(primes): Omit large primes if INT_MAX is small. 	* sdiff.c (usage): Send usage to stdout, not stderr.	(long_options, main, usage): Add `--help'.	(main): Send version number to stdout, not stderr.  Exit afterwards. 	* diff3.c (usage): Send usage to stdout, not stderr.	(long_options, main, usage): Add `--help'.	(read_diff): Detect integer overflow in buffer size calculations. 	* cmp.c (word): New type.  All uses of `long' for	word-at-a-time comparisons changed to `word'.	(long_options, main, usage): Add `--help'.	(usage): Send usage to stdout, not stderr.	(main): Add `-v'.  Send version number to stdout, not stderr. 	* configure.in (AC_HAVE_HEADERS): Add unistd.h; remove AC_UNISTD_H. Mon Sep 27 07:20:24 1993  Paul Eggert  (eggert@twinsun.com) 	* diff.c (add_exclude_file): Cast memchr to (char *)	to suppress bogus warnings on some nonstandard hosts. 	* Makefile.in (cmp): Add version.o. 	* analyze.c (diff_2_files): Work around memcmp bug with size=0. 	* cmp.c (main, usage, version_string): Add --version option. 	* system.h (malloc, realloc): Declare only if !HAVE_STDLIB_H.	(memchr): Declare only if !HAVE_MEMCHR.  These changes are	needed to keep some nonstandard hosts happy. 	* util.c (memchr): Make first arg char const *	to match standard.	(xmalloc, xrealloc): Cast malloc, realloc	to (VOID *) to suppress bogus warnings on some nonstandard hosts. 	* diff3.c (xmalloc, xrealloc): Cast malloc, realloc	to (VOID *) to suppress bogus warnings on some nonstandard hosts. 	* sdiff.c (xmalloc, xrealloc): Cast malloc, realloc	to (VOID *) to suppress bogus warnings on some nonstandard hosts.	(lf_copy, lf_skip, lf_snarf): Cast memchr to (char *)	to suppress bogus warnings on some nonstandard hosts.	(memchr): Make first arg char const *	to match standard. Mon Sep 27 00:23:37 1993  Paul Eggert  (eggert@twinsun.com) 	* Version 2.5 released. 	* analyze.c (diff_2_files): Work around memcmp bug with size=0. 	* cmp.c (main, usage, version_string): Add --version option.	* Makefile.in (cmp): Add version.o. 	* diff.c (add_exclude_file): Cast memchr to (char *)	to suppress bogus warnings on some nonstandard hosts.	* sdiff.c (lf_copy, lf_skip, lf_snarf): Likewise. 	* diff3.c, sdiff.c, util.c (xmalloc, xrealloc): Cast malloc, realloc	to (VOID *) to suppress bogus warnings on some nonstandard hosts. 	* sdiff.c, util.c (memchr): Make first arg char const *	to match standard. 	* system.h (malloc, realloc): Declare only if !HAVE_STDLIB_H.	(memchr): Declare only if !HAVE_MEMCHR.  These changes are	needed to keep some nonstandard hosts happy. 	* xmalloc.c: Include <sys/types.h> always; some nonstandard hosts	need it for size_t even if STDC_HEADERS. Sat Sep 18 01:33:07 1993  Paul Eggert  (eggert@twinsun.com) 	* configure.in (AC_STAT_MACROS_BROKEN): Add.	* system.h (S_IS{BLK,CHR,DIR,FIFO,REG,SOCK}): Fix defns if	STAT_MACROS_BROKEN. 	* Makefile.in (diff3, sdiff, cmp): Do not link $(ALLOCA). 	* analyze.c (discard_confusing_lines): Make defn static, like decl.	* sdiff.c (xmalloc): Likewise. 	* ifdef.c (format_group): Ensure isdigit argument isn't < 0. 	* side.c (print_half_line): Use isprint, since some hosts lack isgraph.	* util.c (output_1_line): Likewise.  Ensure its argument isn't < 0.	(xmalloc, xrealloc): Remove needless casts. 	* system.h (volatile, const):	Define these before including any system headers,	so that they're used consistently in all system includes.	(getenv, malloc, realloc): Declare even if HAVE_STDLIB_H, since some	<stdlib.h>s don't declare them.	(memchr): Likewise for <string.h>. 	* cmp.c, diff3.c, diff.h, sdiff.c: Include "system.h" first.	* diff.c: Remove redundant "system.h" inclusion. 	* diff3.c (xmalloc): Now static.	(xmalloc, realloc): Remove needless casts.	(READNUM): Ensure isdigit argument isn't negative. Wed Sep 14 07:14:15 1993  Paul Eggert  (eggert@twinsun.com) 	* Version 2.4 released. 	* ifdef.c (scan_char_literal): New function, for new %c'x' and	%c'\ooo' format specs.	(format_group, print_ifdef_lines): Use it.  Remove %0 format spec. 	* cmp.c (cmp): Don't try to read past end of file; this doesn't	work on ttys. 	* system.h, version.c: #include <config.h>, not "config.h", to allow	configuring in a separate directory when the source directory has	already been configured.	* Makefile.in (COMPILE): New defn, with proper -I options so that	`#include <config.h>' works.	(.c.o, diff3.o, sdiff.o): Use it. Mon Sep 13 06:45:43 1993  Paul Eggert  (eggert@twinsun.com) 	* diff.c (main, longopts): Add --line-format=FORMAT option.	(specify_format): Args no longer const pointers.  All callers changed. 	* ifdef.c: Add support for %?c, %(A=B?T:E), PRINTF_SPECn formats.	(struct group): New struct.	(print_ifdef_lines): Use it to simplify argument passing.	Remove the convention that last arg -1 signifies that the lines	from file 2 are the same as the lines from file 1; this	convention no longer works, now that line numbers might be	printed out, since the line numbers may differ.	Add first FILE * argument to output to.  All callers changed.	Use a faster test for the single-fwrite optimization.	(format_group, scan_printf_spec, groups_letter_value): New functions. 	* diff.h (group_format, line_format): No longer const pointers.	(format_ifdef): 1st arg is no longer const pointer. 	* configure.in: Configure HAVE_LIMITS_H, HAVE_STDLIB_H.	* system.h <limits.h>, <stdlib.h>, <string.h>:	Include only if HAVE_LIMITS_H etc. 	* system.h (memcmp, memcpy, strchr, strrchr, struct dirent): Prefer	these standard names to the traditional names (bcmp, bcpy, index,	rindex, struct direct).  All callers changed. 	* system.h (PARAMS, VOID):	Define earlier so that malloc decl can use VOID.	(STAT_BLOCKSIZE): Simplify ersatz defn; just use 8K. Fri Sep  3 00:21:02 1993  Paul Eggert  (eggert@twinsun.com) 	* diff.c (compare_files): Two files with the same name must be	the same file; avoid a needless `stat' in that case. Fri Aug 27 06:59:03 1993  Paul Eggert  (eggert@twinsun.com) 	* Pervasive changes for portability to 64-bit hosts:	Add prototypes to function declarations.	Use size_t, not int, when needed. 	* Other pervasive changes:	Use `const' more often.	Use STD{IN,OUT,ERR}_FILENO instead of [012].	Use 0, not NULL, for portability to broken hosts. 	* Makefile.in: (srcs, objs, distfiles, cmp): New files cmpbuf.[ch].	(distfiles): New files config.h.in, mkinstalldirs.	(.c.o): Add -DHAVE_CONFIG_H. 	* analyze.c: (diag): Pacify `gcc -Wall' with a useless assignment.	(diff_2_files): Use l.c.m., not max, of files' buffer sizes. 	* cmp.c: Make globals static when possible. 	(file): Now a 2-element array; replaces `file1' and `file2'.	(file_desc, buffer): Likewise, for file[12]_desc and buf[12].	(main): Likewise, for stat_buf[12].  Index these variables with `i'. 	(ignore_initial): New var.	(long_options): Now const.  Add `--ignore-initial'.	(usage): Sort options and add `--ignore-initial'.	(main, cmp): Add `--ignore-initial' support. 	(main): `cmp - -' now succeeds.	When comparing standard input to a file, and using a shortcut (e.g.	looking at file sizes or inode numbers), take the lseek offset into	account before deciding whether the files are identical.	Avoid mentioning `dev_t', `ino_t' for portability to nonstandard hosts.	Use l.c.m. of files' buffer sizes, not 8 * 1024.	ferror (stdout) does not imply errno has a useful value.	If 2nd file is "-", treat it first, in case stdin is closed. 	(cmp): Always compute `char_number', `smaller' for speed and simplicity.	Say `cmp: EOF on input', not `/usr/gnu/bin/cmp: EOF on input',	as per Posix.2. 	(block_compare_and_count): Increment line_number argument.	Remove end_char argument; it's always '\n'.  All callers changed.	Do not assume sizeof(long) == 4; this isn't true on some 64-bit hosts.	(block_compare): Minimize differences with block_compare_and_count. 	(block_read): Coalesce `bp += nread's. 	(printc): Remove `FILE *' arg; output to stdout.  All callers changed. 	* configure.in: Configure HAVE_SIGACTION, RETSIGTYPE, HAVE_VPRINTF.	Configure into config.h. 	* context.c (print_context_label):	Standard input's st_mtime is no longer a special case	here, since `compare_files' now sets it to the current time. 	* diff.c (usage): Sort options.	(filetype): New function.	(compare_files): Set stdin's st_mtime to be the current time.	Leave its name "-" instead of changing it to "Standard Input";	to test whether a file is stdin, we must compare its name to "-" instead	of its desc to 0, since if it's closed other file descs may be 0.	When comparing standard input to a file, and using a shortcut (e.g.	looking at file sizes or inode numbers), take the lseek offset into	account before deciding whether the files are identical.	Pretend that nonexistent files have the same filetype as existing files.	Rename `errorcount' to `failed', since it's boolean.	In directory comparisons, if a file is neither a regular file nor a	directory, just print its type and the other file's type. 	* diff.h (Is_space, textchar): Remove.	(struct msg, msg_chain, msg_chain_end): Move to util.c.	(VOID): Move to system.h.	(line_cmp, version_string, change_letter, print_number_range,	find_change): New decls. 	* diff.texi:	whitespace -> white space.  It now stands for whatever isspace yields.	Add --ignore-initial. 	* diff3.c (VOID): Move to system.h.	(version_string): Now char[].	(usage): Sort options.

Lines 1–500 of 1766.