📄 changelog
字号:
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.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -