📄 changelog
字号:
option spellings. All uses changed. (text): Renamed from always_text. (initial_tab): Renamed from tab_align_flag. (horizon_lines): Remove. Remove all uses. (main): Invoke bindtextdomain and textdomain after setlocale. Rename "DIFF" to "DIFF_PROGRAM". Try to compare file0 to file1, because this is where changes are expected to come from. Diffing between these pairs of files is more likely to avoid phantom changes from file0 to file1. However, use file2 as the common file if this is a 3-way diff, for backward compatibility. Suggested by Karl Tomlinson. (create_diff3_block): Use xcalloc instead of malloc + bzero. (INT_STRLEN_BOUND): Remove; now in system.h. (read_diff): Always use --horizon-lines=100 rather than trying to guess it. Do not pass --inhibit-hunk-merge. Minimum chunk size is 1, not 8KiB. Use xalloc_die to report memory exhaustion. (undotlines): Use long for start, not int. * src/diff.h: Assume C89 or better. int -> bool for booleans. int -> lin for line numbers. Don't include regex.h. (enum changes): New enum. (enum line_class): Remove; subsumed by enum changes. (enum output_style): New constant OUTPUT_UNSPECIFIED. (ignore_space_change_flag, ignore_all_space_flag): Remove. (ignore_white_space): New decl, subsuming the above two. All uses changed. Rename the following decls for consistency with user-visible option spellings. All uses changed. (text): Renamed from always_text_flag. (ignore_blank_lines): Renamed from ignore_blank_lines_flag. (ignore_case): Renamed from ignore_case_flag. (brief): Renamed from no_details_flag. (initial_tab): Renamed from tab_align_flag. (expand_tabs): Renamed from tab_expand_flag. (starting_file): Renamed from dir_start_file. (paginate): Renamed from paginate_flag. (sdiff_merge_assist): Renamed from sdiff_help_sdiff. (left_column): Renamed from sdiff_left_only. (suppress_common_lines): Renamed from sdiff_skip_common_lines. (speed_large_files): Renamed from heuristic. (minimal): Renamed from no_discards. (inhibit_hunk_merge): Remove. (strip_trailing_cr, excluded, time_format): New decls. (files_can_be_treated_as_binary): Renamed from ignore_some_changes. (group_format, line_format): Now char const *[], not char *[]. (struct file_data): Buffer is now word*, not char*, as it's always aligned and this can help the compiler. buffered_chars -> buffered (since it's a byte count, not a char count). All uses changed. New member `eof'. (FILE_BUFFER): New macro. (excluded_filename, error, free_software_msgid): Remove decls; now in other .h files. (sip, slurp): Remove decls. (file_block_read): New decl. (change_letter): Now an array, not a function. (lines_differ): Renamed from line_cmp. (analyze_hunk): Now returns enum changes rather than two change counts. * src/Makefile.am (diff_LDADD): New symbol. * src/diff.c: Assume C89 or better. int -> bool for booleans. long -> off_t for line numbers. Use angle-brackets when including getopt.h, fnmatch.h, quotesys.h. Include error.h, exclude.h, freesoft.h, hard-locale.h, prepargs.h, regex.h, signal.h, xalloc.h. (copyright_string): Use only most recent year. (authorship_msgid, option_help_msgid): Wrap in N_(). Rename the following variables for consistency with user-visible option spellings. All uses changed. (binary): Renamed from binary_flag. (new_file): Renamed from entire_new_file_flag. (unidirectional_new_file): Renamed from unidirectional_new_file_flag. (report_identical_files): Renamed from print_file_same_flag. (numeric_arg): Remove. (exclude, exclude_alloc, exclude_count, excluded_filename, add_exclude, add_exclude_file): Remove; now done by exclude.h. (BINARY_OPTION, FROM_FILE_OPTION, HELP_OPTION, HORIZON_LINES_OPTION, IGNORE_FILE_NAME_CASE_OPTION, INHIBIT_HUNK_MERGE_OPTION, LEFT_COLUMN_OPTION, LINE_FORMAT_OPTION, NORMAL_OPTION, SDIFF_MERGE_ASSIST_OPTION, STRIP_TRAILING_CR_OPTION, SUPPRESS_COMMON_LINES_OPTION, TO_FILE_OPTION, UNCHANGED_LINE_FORMAT_OPTION, OLD_LINE_FORMAT_OPTION, NEW_LINE_FORMAT_OPTION, UNCHANGED_GROUP_FORMAT_OPTION, OLD_GROUP_FORMAT_OPTION, NEW_GROUP_FORMAT_OPTION, CHANGED_GROUP_FORMAT_OPTION): New constants. (longopts, main): Use them. (longopts, main, option_help_msgid): Add -E, --from-file, --to-file. (main): Invoke bindtextdomain and textdomain after setlocale. Use grep syntax, not Emacs, for regular expressions. Use exclude.h, not our own functions. Use ISO 8601 time format in hard locales. Prepend DIFF_OPTIONS. Don't update ignore_some_changes. Use strtoumax instead of numeric_arg. Use specify_value when appropriate. error -> try_help when appropriate. -p now means ^[[:alpha:]$_], not ^[_a-zA-Z$]. Ignore --inhibit-hunk-merge. Prefer changed group formats to unchanged ones. Remove now-unnecessary casts. Set files_can_be_treated_as_binary. (specify_value): Renamed from specify_format. All uses changed. (specify_style): Default is now unspecified, not normal. All uses changed. (set_mtime_to_now): New function. (compare_files): Use it. Use memset, not bzero. Set stdin mtime to current time even when stdin is not a regular file. Check for same file attributes, as well as for same file. Use files_can_be_treated_as_binary. "write failed" -> "standard output on output failure. * src/context.c: Assume C89 or better. int -> lin for line numbers. Include inttostr.h, regex.h. (TIMESPEC_NS): New macro. (nstrftime): New decl. (print_context_label): Use nstrftime and time_format to format times. Print numeric time stamp value if localtime fails. (print_context_function): New function. (pr_context_hunk, pr_unidiff_hunk): Use it. (find_function): Use size_t for sizes, not int. * src/cmp.c: Assume C89 or better. int -> bool for booleans. long -> off_t for line numbers. Use angle-brackets when including cmpbuf.h, getopt.h. Include error.h, freesoft.h, inttostr.h, xalloc.h. (copyright_string): Use only most recent year. (authorship_msgid): Wrap in N_(). (buffer): Now word*, not char*. All uses changed. (word): Remove macro; now in system.h. (long_options, option_help_msgid, main): -c --print-chars -> -b --print-bytes (check_stdout): "write failed" -> "standard output" (option_help_msgid): Wrap in N_(). (main): Invoke bindtextdomain and textdomain after setlocale. Use strtoumax instead of doing the work ourselves. Check for same_file_attributes as well as same_file. (cmp): Use ssize_t for read returns, not size_t. Do not assume that size_t is not narrower than int. Do not assume that line numbers fit in 'long'. (block_compare_and_count, block_compare): Compiler now checks that buffers are word-aligned. (block_compare_and_count): Count sizes with size_t, not long. (sprintc): byte arg is unsigned char, not unsigned. * src/analyze.c: Assume C89 or better. int -> lin for line numbers. int -> bool for booleans. unsigned int -> size_t for sizes. Use angle-brackets when including cmpbuf.h. Include error.h, regex.h, xalloc.h. (discard_confusing_lines, diff_2_files): Use zalloc rather than xalloc+bzero. (discard_confusing_lines): unsigned int -> lin for values that are really line numbers. (shift_boundaries): Do not inhibit hunk merges. (build_reverse_script, build_script, diff_2_files): Use |, not ||. (diff_2_files): no_details_flag & ~ignore_some_changes -> files_can_be_treated_as_binary. Esure that buffer size is a multiple of sizeof (word). Use file_block_read to read buffers. (diff_2_files): Abort if output style is not one of the expected styles.2001-11-23 Paul Eggert <eggert@twinsun.com> * src/Makefile.am, m4/vararrays.m4: New file. * m4/prereq.m4 (jm_PREREQ_READUTMP): Remove, as it gives autoheader the willies. * m4/README, lib/prepargs.h, lib/prepargs.c, lib/offtostr.c, lib/umaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/imaxtostr.c, lib/freesoft.h: New files. * lib/freesoft.c: Include config.h, freesoft.h rather than diff.h. (free_software_msgid): Wrap contents in N_. * lib/cmpbuf.h: Use prototypes instead of old-style functions. * lib/cmpbuf.c: Don't include system.h; instead, include config.h, unistd.h. Use prototypes instead of old-style functions. (block_read): Don't assume that int is no wider than size_t. * lib/Makefile.am, po/POTFILES.in: New file.2001-11-22 Paul Eggert <eggert@twinsun.com> * pc/config.h: Define filename_cmp as an object-like macro, not as a function-like macro. * exgettext: Always operate in the C locale. Set AWK using a method that works even with broken shells. * doc/Makefile.am: New file. * configure.ac (AC_INIT): Use src/diff.c, not diff.h, as the source files got removed. (AM_CONFIG_HEADER): Switch from AC_CONFIG_HEADER. (AC_ARG_PROGRAM, AC_MINIX): Remove. (AC_PREREQ, AM_INIT_AUTOMAKE, ALL_LINGUAS, AC_PROG_AWK, AM_PROG_CC_STDC, AC_PROG_RANLIB, AC_C_INLINE, AC_C_VARARRAYS, DEFAULT_DIFF_PROGRAM, DEFAULT_EDITOR_PROGRAM, AC_STRUCT_ST_MTIM_NSEC): Add. (PR_PROGRAM): AC_DEFINE. (AC_SYS_LARGEFILE): Use instead of our homebrew version. (_GNU_SOURCE): Define if not defined. (AC_CHECK_HEADERS): Add stdbool.h, unistd.h. (AC_CHECK_TYPES): Add ptrdiff_t, uintmax_t. (AM_GNU_GETTEXT, XGETTEXT): Add. (WITH_MVFS_STAT_BUG, WITH_NFS_STAT_BUG): Remove. (HAVE_MEMCHR): Remove. (AC_CHECK_FUNCS): Add diraccess. (AC_REPLACE_FUNCS): Add memchr, waitpid. (jm_FUNC_GLIBC_UNLOCKED_IO, jm_FUNC_GNU_STRFTIME, jm_FUNC_MALLOC, jm_FUNC_REALLOC, jm_PREREQ_ERROR, jm_PREREQ_QUOTEARG, jm_PREREQ_REGEX, jm_PREREQ_TEMPNAME, jm_AC_PREREQ_XSTRTOUMAX, AC_FUNC_FNMATCH): Add. (fnmatch.h, regex.h): Do not create these files unless we're using our own fnmatch and regex. (AC_OUTPUT): Add doc/Makefile, intl/Makefile, lib/Makefile, lib/posix/Makefile, m4/Makefile, po/Makefile.in, src/Makefile. * Makefile.am: New file. * po/en_GB.po: Don't translate "program" to "programme".2001-11-20 Paul Eggert <eggert@twinsun.com> * m4/prereq.m4: New file.2001-03-16 Paul Eggert <eggert@twinsun.com> * lib/tempname.c (uint64_t): Define if not defined, and if UINT64_MAX is not defined.2001-02-26 Paul Eggert <eggert@twinsun.com> * lib/tempname.c: glibc 1.322001-02-17 Paul Eggert <eggert@twinsun.com> * m4/Makefile.am.in: GNU fileutils 4.12001-01-09 Paul Eggert <eggert@twinsun.com> * lib/tempname.c (struct_stat64): New macro. (direxists, __gen_tempname): Use it. This avoids a portability problem with Solaris 8. * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H. (<stddef.h>, <stdint.h>, <string.h>): Include only if STDC_HEADERS || _LIBC. (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC. (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC. (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC. (__set_errno): Define this macro if <errno.h> doesn't. (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE): Define these macros if <stdio.h> doesn't. (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR): Define these macros if <sys/stat.h> doesn't. Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN. (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64, __xstat64): Define if not _LIBC. (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC). (__gen_tempname): Invoke gettimeofday only if HAVE_GETTIMEOFDAY || _LIBC; otherwise, fall back on plain "time". Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600. * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.2000-10-25 Paul Eggert <eggert@twinsun.com> * lib/hard-locale.c: New file.2000-02-05 Paul Eggert <eggert@twinsun.com> * exgettext: From GCC repository1999-07-06 Paul Eggert <eggert@twinsun.com> * lib/mkstemp.c: glibc 2.21998-12-11 Paul Eggert <eggert@twinsun.com> * src/sdiff.c (lf_snarf): Fix bug when help line wrapped around the input buffer.1998-09-15 Paul Eggert <eggert@twinsun.com> * diff.texi: Add @dircategory and @direntry.1998-09-14 Paul Eggert <eggert@twinsun.com> * Makefile.in (VERSION): Version 2.7.2. (DEFAULT_DIFF_PROGRAM): Renamed from DIFF_PROGRAM. (PR_PROGRAM): All `configure' to define it. (srcs): Add $(diffutils_srcs), freesoft.c, quotearg.c instead of quote.c, quotearg.h. (distfiles): Add acconfig.h, message/*. (all): Depend on $(destfiles), not info. (version.c): Parenthesize `GNU diffutils'. (common_o): Add freesoft.o (diff_o): quote.o -> quotearg.o (diff3_o, sdiff_o): Likewise. (diff.dvi): Depend on version.texi. (diff.o diff3.o quotearg.o sdiff.o util.o): New dependency on quotearg.h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -