v2.8.6
(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.
Do not include regex.h, as diff.h does this now.
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. (usage): Mention exit status. (main): Adjust to latest gnulib c_stack_action calling conventions. (main): Adjust to latest version_etc calling conventions.
Do not include regex.h, as diff.h does this now. (option_help_msgid): Mention exit status. (main): Adjust to latest gnulib c_stack_action calling conventions. Adjust to latest version_etc calling conventions. 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.
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.
(usage): Mention exit status. (main): Adjust to latest gnulib c_stack_action calling conventions. Adjust to latest version_etc calling conventions. 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.
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.
int -> long int
(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.
Do not include regex.h, as diff.h does this now. (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.
Assume C89 or better. int -> lin for line numbers.
(usage): Mention exit status. (main): Adjust to latest gnulib c_stack_action calling conventions. Adjust to latest version_etc calling conventions. 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.
minor cleanups for bool, etc
(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.
Do not include regex.h, as diff.h does this now. (lines_differ): Don't convert char * to unsigned char *; just leave pointers as char *. This lessens the number of potentially-dangerous casts.