📄 changelog
字号:
2004-04-13 Paul Eggert <eggert@twinsun.com> * NEWS, configure.ac (AC_INIT): Version 2.8.7. * configure.ac (AM_GNU_GETTEXT_VERSION): Add. (XGETTEXT): Restore from pre-2004-04-12 version. This fixes a bug that lost many msgids in doc/diffutils.pot. * bootstrap: New file. * exgettext: Don't generate a temporary file, as this runs afoul of "make distcheck" which operates with read-only directories. * Makefile.am (EXTRA_DIST): Add bootstrap. Remove config/config.rpath as it is deduced automatically these days.2004-04-12 Paul Eggert <eggert@twinsun.com> * NEWS, configure.ac (AC_INIT): Version 2.8.6. * NEWS: Add news for 2.8.4, 2.8.6. * README: Move copyright notice to end. Defer to "configure --help" for special "configure" options. Suggest latest libiconv. Update version numbers of Autoconf etc. to current. * configure.ac: Quote various arguments better. (AC_CONFIG_MACRO_DIR): Add call, specifying "m4". (AC_CONFIG_HEADER): Replaces AM_CONFIG_HEADER. (gl_USE_SYSTEM_EXTENSIONS): Replaces AC_GNU_SOURCE. (AC_ISC_POSIX): Remove; nobody ports to ancient ISC any more. (AC_PROG_CPP, AC_PROG_INSTALL, AC_C_INLINE, AC_HEADER_STDBOOL, AC_HEADER_STDC, AM_GNU_GETTEXT, XGETTEXT, AC_HEADER_STAT, AC_FUNC_VPRINTF, jm_FUNC_GLIBC_UNLOCKED_IO, jm_FUNC_GNU_STRFTIME, jm_FUNC_MALLOC, jm_FUNC_REALLOC, jm_PREREQ_C_STACK, jm_PREREQ_ERROR, jm_PREREQ_HARD_LOCALE, jm_PREREQ_QUOTEARG, jm_PREREQ_REGEX, AC_FUNC_FNMATCH_GNU, jm_AC_DOS): Remove; not needed here, as our files don't use them directly or we rely on gnulib modules. (AC_C_CONST): Remove; we assume C89 now. (AC_CHECK_HEADERS): Remove libintl.h, limits.h, stdlib.h, string.h, time.h. (AC_CHECK_TYPE): Remove ptrdiff_t, ssize_t. (AC_CHECK_FUNCS): Remove diraccess, strchr, strerror, tmpnam). (AC_REPLACE_FUNCS): Remove memchr, mkstemp, strcasecmp. (GNULIB_AUTOCONF_SNIPPET): Add call. This replaces much of the above. (AC_CONFIG_FILES): Remove lib/posix/Makefile. (AC_CONFIG_COMMANDS): Remove. * doc/diff.texi (dircategory): Change to "Text creation and manipulation" from "GNU packages". (Translations): New node. (Overview): Improve quality of algorithm citations. (Binary): -q doesn't exactly cause diff to assume files are binary. (Normal): Place after Side by Side, since it's less important. (Detailed Context, Detailed Unified, Detailed ed, Detailed if-then-else, diff3 Hunks, Detailed diff3 Normal): Place at end of menu. (Detailed Unified): Mention that fractional timestamps are omitted on hosts that don't support them. Mention what happens when hunks contain just one line. (Line Group Formats, Reject Names): Fix duplicate-word typos. (Comparing Directories): Trailing white space and empty lines are ignored in the -X file. (diff Options): Add --strip-trailing-cr. (Projects): gnu -> gvc@gnu.org. * lib/Makefile.am (SUBDIRS): Remove. (EXTRA_DIST, noinst_HEADERS): Remove most entries. (libdiffutils_a_SOURCES): Now just lib_SOURCES. (lib_SOURCES): New macro. (DISTCLEANFILES, MOSTLYCLEANFILES): Set to empty now. (gnulib.mk): Include: this does most of the work eliminated by the above changes. * lib/inttostr.c (inttostr): Protect i < 0 by compile-time test intended to suppress compiler warnings. * lib/inttostr.h: Include limits.h unilaterally. (CHAR_BIT): Remove. (PARAMS): Remove; all uses changed. * lib/setmode.c (__attribute__): New macro. (set_binary_mode): Define only if HAVE_SETMODE_DOS. Otherwise define a dummy static char, as C89 requires that we define something. * lib/setmode.h (set_binary_mode): Return true, not 1. * src/analyze.c, src/context.c, src/diff.c, src/io.c, src/util.c: Do not include regex.h, as diff.h does this now. * src/cmp.c: Sort includes. Include <exit.h>, <unlocked-io.h>. (specify_comparison_type): Don't report an error if the comparison type has already been specified the same way as this one. * src/cmp.c (usage): Mention exit status. * src/diff.c (option_help_msgid): Likewise. * src/diff3.c (usage): Likewise. * src/sdiff.c (usage): Likewise. * src/cmp.c (main): Adjust to latest gnulib c_stack_action calling conventions. * src/diff.c (main): Likewise. * src/diff3.c (main): Likewise. * src/sdiff.c (main): Likewise. * src/cmp.c (main): Adjust to latest version_etc calling conventions. * src/diff.c (main): Likewise. * src/diff3.c (main): Likewise. * src/sdiff.c (main): Likewise. * src/diff.c: Include <exit.h>. (binary): Define to true if not declared. (longopts): Set tabsize flag to 1. (main): Don't output nanoseconds if platform lacks them. Don't treat files as binary if !binary. (set_mtime_to_now): Use 0, not NULL. (compare_files): Mark files as nonexistent if it looks like 'patch' created inaccessible regular empty files to denote nonexistent backups. Don't compare such files. Clear st_* members of status of nonexistent file. Remove now-unnecessary tests. * src/diff.h: Include regex.h, unlocked-io.h. (struct file_data.changed): Now char *, not bool *, to save space on hosts where bool takes more space than char. All uses changed. * src/diff3.c: Include unlocked-io.h. (strip_trailing_cr): New var. (STRIP_TRAILING_CR_OPTION): New enum. (longopts, main, option_help_msgid, read_diff): Add --strip-trailing-cr support. (read_diff): Exit with status 126 (not 127) if errno != ENOENT after failed execvp in child. Report this in parent. * src/dir.c: Include <strcase.h>. (failed_locale_specific_sorting): Renamed from failed_strcoll. All uses changed. (compare_names): Don't invoke strcasecmp first thing when ignore_file_name_case; if locale_specific_sorting, we should just use that. * src/ifdef.c (next_line): Remove; replace with... (next_line0, next_line1): New vars. (print_ifdef_script, print_ifdef_hunk): Use them to fix line-number computation bug. * src/io.c (find_and_hash_each_line): Don't convert char * to unsigned char *; just leave pointers as char *. This lessens the number of potentially-dangerous casts. * src/util.c (lines_differ): Likewise. * src/sdiff.c: Include <unlocked-io.h>, <exit.h>. (check_child_status): Renamed from ck_editor_status, and accept a new arg MAX_OK_STATUS. All callers changed. Handle status 126/127 as per POSIX. (edit): Likewise. (main): Likewise. Fix getopt typo: -E wasn't supported. * src/system.h (S_IRWXU, S_IRWXG, S_IRWXO): Define if not defined. (S_IXUSR, S_IXGRP, S_IXOTH): Remove. Include <time.h> unconditionally, since we can assume C89 now. Likewise for <stdlib.h>, <string.h>. (getenv, EXIT_SUCCESS, EXIT_FAILURE, SSIZE_MAX, strchr, strrchr, memcmp, memcpy): Remove decl; no longer needed. (strcasecoll, strcasecmp): Define if not built in. (CTYPE_DOMAIN, ISPRINT, ISSPACE, TOLOWER, _tolower, errno): Remove; we now assume C89 or better. All uses changed. Include <stdbool.h> unconditionally now, since gnulib supports it if the C compiler doesn't. All boolean uses of 0 and 1 now changed to false and true. (lin_is_printable_as_long_int): Renamed from lin_is_printable_as_long. * src/util.c (begin_output): Fix bug: 0 wasn't cast to char * arg, which led to undefined behavior on 64-bit hosts. Use more-standard test for exit status 126 versus 127. (finish_output): Likewise. (analyze_hunk): Do not cast bool to int.2004-03-15 Paul Eggert <eggert@twinsun.com> * src/cmp.c (main): Don't consider two files with the same name to be the same, if their initial skip values differ. This fixes a bug reported by Hideki Iwamoto in <http://mail.gnu.org/archive/html/bug-gnu-utils/2004-03/msg00024.html>.2004-03-11 Paul Eggert <eggert@twinsun.com> * src/analyze.c (diag): Return void, not lin, since the return value wasn't needed. All callers changed. (diag, diff_2_files): Use 'true' and 'false' instead of '1' and '0', when appropriate. (compareseq): Use lin const * local variables instead of lin *. Don't bother checking diag's return value. (shift_boundaries, build_reverse_script, build_script, diff_2_files): Use char arrays, not bool arrays, since sizeof (bool) might be greater than 1.2004-02-09 Paul Eggert <eggert@twinsun.com> * m4/setmode.m4 (AC_FUNC_SETMODE_DOS): AC_LIBOBJ(setmode) if we would return true.2002-10-14 Paul Eggert <eggert@twinsun.com> * src/Makefile.am (diff3.$(OBJEXT), diff.$(OBJEXT), sdiff.$(OBJEXT)): Rename from (misspelled) diff3.$(OBJECT), diff.$(OBJECT), sdiff.$(OBJECT). Patch by Paul D. Smith in <http://mail.gnu.org/pipermail/bug-gnu-utils/2002-October/003251.html>. Bug reported by Chris Bainbridge.2002-10-13 Paul Eggert <eggert@twinsun.com> * src/Makefile.am (MOSTLYCLEANFILES): Add paths.ht. (paths.h): Send output to paths.ht first, and then rename to paths.h at the end. This avoids problems if the disk is full. It also works around what appears to be a bug with GNU make -j (3.79.1); see <http://bugs.gentoo.org/show_bug.cgi?id=8934>.2002-06-27 Paul Eggert <eggert@twinsun.com> * NEWS, configure.ac (AC_INIT): Version 2.8.4. * config/config.sub: Sync with latest version maintained in other packages. * lib/file-type.h: Protect against double inclusion. Detect whether <sys/stat.h> has been included. Fix from Jim Meyering. * src/analyze.c (briefly_report): Don't say "Binary files differ", since one of the files may not be a binary file. Bug reported by Dan Jacobson.2002-06-22 Paul Eggert <eggert@twinsun.com> * lib/c-stack.c (segv_handler, c_stack_action) [! defined SA_SIGINFO]: Do not assume SA_SIGINFO behavior. Bug reported by Jim Meyering on NetBSD 1.5.2.2002-06-16 Paul Eggert <eggert@twinsun.com> * NEWS, configure.ac (AC_INIT): Version 2.8.3. * config/depcomp, config/missing, README: Update to automake 1.6.2. * po/LINGUAS: Add en_US. * po/en_US.po: New file. * po/POTFILES.in: Remove lib/freesoft.c. Add lib/file-type.c, lib/version-etc.c, lib/xmalloc.c.2002-06-15 Paul Eggert <eggert@twinsun.com> * doc/diff.texi (Special Files): Document behavior of symlink loops. * lib/Makefile.am (noinst_HEADERS): Remove freesoft.h. Add version-etc.h. (libdiffutils_a_SOURCES): Remove freesoft.c. Add version-etc.c. * lib/freesoft.c, lib/freesoft.h: Remove. * lib/version-etc.h (PARAMS): Remove; we now assume C89 at least. * lib/version-etc.h (version_etc): Remove package and version args. (version_etc_copyright): Remove. * lib/version-etc.c: Likewise. Do not include unlocked-io.h; no longer needed. Include gettext.h rather than libinto.h. (_): Define unconditionally. (version_etc): Adjust wording to match current GNU coding standards. Translate "(C)" if possible. * lib/version-etc.c, lib/version-etc.h: New files, taken from fileutils. * src/Makefile.am (cmp_SOURCES, diff3_SOURCES, sdiff_SOURCES, diff_SOURCES): Remove version.c. (MAINTAINERCLEANFILES, $(srcdir)/version.c): Remove. * src/cmp.c: Include version-etc.h, not freesoft.h. (copyright_notice): Remove. (main): Use version_etc to print version. * src/diff.c, src/diff3.c, src/sdiff.c: Likewise. * src/cmp.c (version_string): Remove decl. * src/diff.h, src/diff3.c, src/sdiff.c: Likewise.2002-06-11 Paul Eggert <eggert@twinsun.com> * lib/fnmatch.c, lib/fnmatch_loop.c (WIDE_CHAR_SUPPORT): New macro. Use it uniformly instead of (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H). It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1 reported by Vin Shelton. * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc. * NEWS, configure.ac (AC_INIT): Version 2.8.2. * ABOUT-NLS, config/config.guess, config/config.sub, config/depcomp, config/texinfo.tex, lib/posix/regex.h, m4/c-bs-a.m4, m4/gettext.m4, m4/gnu-source.m4, m4/lib-link.m4, m4/malloc.m4: Update to recent version (maintained in other packages). * m4/prereq.m4 (jm_PREREQ_EXCLUSIVE): AC_FUNC_FNMATCH_GNU no longer takes a lib. * README: Incorporate contents from INSTALLME. * INSTALLME: Remove. * Makefile.am (EXTRA_DIST): Remove INSTALLME. * configure.ac (AC_GNU_SOURCE): Move up, so that it affects later compilations properly. (DEFAULT_DIFF_PROGRAM, AC_TYPE_SIGNAL): Remove. (jm_AC_TYPE_INTMAX_T): Add. (AC_FUNC_FNMATCH_GNU): Use this, instead of AC_FUNC_FNMATCH. (AC_CONFIG_LINKS): regex.hin renamed from regex_.h. * doc/diff.texi: Reword "@option{-f} and @option{--foo}" to "@option{-f} or @option{--foo}". Use @acronym instead of @sc where appropriate. (Specified Lines): Renamed from Specified Folding. (Comparison, Blank Lines): Clarify wordings for Blank Lines and Specified Lines nodes. (Binary): Mention --verbose and --print-bytes. (Tabs, sdiff Option Summary, diff Options): New option --tabsize=COLUMNS. * lib/Makefile.am (EXTRA_DIST): Add fnmatch_loop.c. (noinst_HEADERS): fnmatch_.h renamed from fnmatch.hin. regex_.h renamed from regex.hin. Add file-type.h. (libdiffutils_a_SOURCES): Add file-type.c. (DISTCLEANFILES): Remove fnmatch.hno, regex.hno. * lib/c-stack.c (__attribute__): New macro. (EOVERFLOW): Define if not defined. (stack_t): Define to struct sigaltstack if not defined or declared. Include <sys/resource.h>, <ucontext.h> if available. Include <stdio.h> if DEBUG. Do not include <inttypes.h> or <stdint.h>. (c_stack_die): Remove info and context args. All uses changed. (segv_action): Likewise. (alternate_signal_stack): Change uintmax_t to long, to ease porting. (get_stack_location, min_address_from_argv, max_address_from_argv, null_action): New functions. (stack_base, stack_size): New vars. (segv_handler): context arg may not be used. Use global stack_base, stack_size if ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC. Add debug code. Invoke die (rather than segv_action) to exit. (c_stack_action): Accept new argv arg, and simpler handler arg. All uses changed. Move code into new functions above. Allow null action. [! (defined SA_ONSTACK && defined _SC_PAGESIZE)]: Assume all segvs are stack overflows. (main) [DEBUG]: Describe what output should be like.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -