3879 lines
143 KiB
Plaintext
3879 lines
143 KiB
Plaintext
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.
|
|
|
|
* lib/c-stack.h (siginfo_t, c_stack_die): Remove decl.
|
|
|
|
* lib/file-type.c, lib/file-type.h: New files. These contain code
|
|
that was in src/diff.c, but is now librarified and spiffed up a
|
|
bit. Jim Meyering suggested this.
|
|
|
|
* lib/fnmatch.c (alloca, __builtin_expect): Define for non-GCC hosts.
|
|
<strings.h>: Include only if HAVE_STRINGS_H.
|
|
<stddef.h>: Include if we include stdlib.h.
|
|
Do not comment out all code if ! HAVE_FNMATCH_GNU.
|
|
(getenv): Do not declare if HAVE_DECL_GETENV.
|
|
(__strchrnul, __wcschrnul): Remove; not used.
|
|
(MEMPCPY): Use mempcpy if not _LIBC; use memcpy if neither _LIBC
|
|
nor HAVE_MEMPCPY.
|
|
(FOLD) [HANDLE_MULTIBYTE]: Do not pass wide char to ISUPPER.
|
|
(STRLEN, STRCAT, MEMPCPY) [HANDLE_MULTIBYTE && !defined _LIBC]:
|
|
Use wcslen rather than __wcslen, and likewise for wcscat, wmempcpy.
|
|
(MEMPCPY) [HANDLE_MULTIBYTE]: Use wmempcpy if not _LIBC; use wmemcpy
|
|
if neither _LIBC nor HAVE_WMEMPCPY.
|
|
* lib/fnmatch_.h (__const): Do not define to empty, as this breaks
|
|
Sun cc. The code doesn't work with K&R anyway.
|
|
* lib/fnmatch_loop.c (struct patternlist.str): Size 1, not 0,
|
|
as C89 requires this.
|
|
(NEW_PATTERN): Use offsetof, not sizeof, since str now has size 1.
|
|
* lib/fnmatch_.h: Import from glibc fnmatch.h.
|
|
* lib/fnmatch.c, lib/fnmatch_loop.c: Import from glibc.
|
|
|
|
* lib/posixver.c: Include posixver.h.
|
|
|
|
* lib/regex_.h: Renamed from lib/regex.hin.
|
|
|
|
* m4/c-stack.m4 (jm_PREREQ_C_STACK): Do not AC_REQUIRE
|
|
jm_AC_TYPE_UINTMAX_T and do not use uintmax_t.
|
|
Check for sys/resource.h, uccontext.h.
|
|
Check for decls and existence of getcontext, sigaltstack.
|
|
Check for stack_t.
|
|
|
|
* m4/codeset.m4, m4/glibc21.m4, m4/lcmessage.m4: Remove.
|
|
|
|
* m4/fnmatch.m4: Update to latest Autoconf CVS for AC_FUNC_FNMATCH_GNU.
|
|
* m4/gnu-source.m4: Likewise, for AC_GNU_SOURCE (renamed from
|
|
AC__GNU_SOURCE).
|
|
|
|
* m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Renamed from AC_MBSTATE_T.
|
|
All uses changed. Upgrade to recent Autoconf CVS.
|
|
|
|
* m4/stdbool.m4 (AC_HEADER_STDBOOL): Do not cast pointer to
|
|
bool in integer constant expression; C99 does not allow it.
|
|
Reported by Bruno Haible.
|
|
|
|
* po/LINGUAS: Add hu, pt_BR.
|
|
* po/hu.po, po/pt_BR.po: New files.
|
|
|
|
* src/Makefile.am (noinst_HEADERS): Remove diff.h.
|
|
(DEFS): Remove.
|
|
(diff_sources): Add diff.h.
|
|
(MOSTLYCLEANFILES): New macro.
|
|
(cmp.$(OBJEXT) diff3.$(OBJECT) diff.$(OBJECT) sdiff.$(OBJECT)): Depend
|
|
on paths.h.
|
|
(paths.h): New rule.
|
|
|
|
* src/analyze.c, src/cmp.c, src/diff.c, src/diff3.c, src/io.c,
|
|
src/sdiff.c: Include <file-type.h>.
|
|
|
|
* src/cmp.c: Include paths.h.
|
|
(copyright_notice): Renamed from copyright_string.
|
|
Now a msgid, so that copyright symbol can be translated.
|
|
All uses changed.
|
|
* src/diff.c, src/diff3.c, src/sdiff.c: Likewise.
|
|
|
|
* src/diff.c: Include posixver.h.
|
|
(TABSIZE_OPTION): New constant.
|
|
(main): Allow widths up to SIZE_MAX.
|
|
(filetype): Move to lib/file-type.c and rename to file_type.
|
|
All uses changed.
|
|
|
|
* src/diff.c (longopts, main, usage): New option --tabsize=COLUMNS.
|
|
* src/io.c (find_and_hash_each_line): Likewise.
|
|
|
|
* src/diff.h (TAB_WIDTH): Remove.
|
|
(tabsize): New decl.
|
|
(sdiff_half_width, sdiff_column2_offset): Now size_t rather than
|
|
unsigned int.
|
|
|
|
* src/diff3.c (skipwhite, readnum): New functions.
|
|
(process_diff_control): Use them.
|
|
(SKIPWHITE, READNUM): Remove.
|
|
(read_diff): Don't worry about errno == ENOEXEC.
|
|
|
|
* src/sdiff.c (catchsig, signal_handler, initial_action): Signal
|
|
handlers return void, not RETSIGTYPE, since we no longer support
|
|
K&R.
|
|
(TABSIZE_OPTION): New constant.
|
|
(longopts, usage, main): New option --tabsize=COLUMNS.
|
|
(cleanup): New arg signo. All uses changed.
|
|
(ck_editor_status, main, edit): Don't worry about ENOEXEC.
|
|
|
|
* src/side.c (tab_from_to, print_half_line, print_1sdiff_line):
|
|
New option --tabsize=COLUMNS.
|
|
|
|
* src/system.h (S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISREG,
|
|
S_ISSOCK): Remove; now in lib/file-type.h.
|
|
|
|
* src/util.c (finish_output): Check for ENOEXEC.
|
|
(lines_differ, output_1_line): New option --tabsize=COLUMNS.
|
|
(analyze_hunk): If -b or -w is also specified, -B now considers
|
|
lines to be empty if they contain only white space.
|
|
|
|
2002-04-05 Paul Eggert <eggert@sic.twinsun.com>
|
|
|
|
* NEWS, configure.ac (AC_INIT): Version 2.8.1.
|
|
|
|
* configure.ac (AC_HEADER_STDBOOL): Add.
|
|
(AC_CHECK_HEADERS): Remove stdbool.h.
|
|
* m4/stdbool.m4: New file.
|
|
* m4/prereq.m4 (jm_PREREQ_EXCLUDE):
|
|
Use AC_HEADER_STDBOOL rather than AC_CHECK_HEADERS(stdbool.h).
|
|
(jm_PREREQ_HASH): Likewise.
|
|
|
|
* src/system.h (SSIZE_MAX): Define if limits.h doesn't.
|
|
|
|
* src/analyze.c (diff_2_files): Assign PTRDIFF_MAX - 1 to a
|
|
size_t variable, just in case there's a problem with ptrdiff_t
|
|
versus size_t.
|
|
|
|
* lib/cmpbuf.c (errno): Remove decl; K&R C is no longer supported.
|
|
Include limits.h.
|
|
(SIZE_MAX, SSIZE_MAX): Define if standard headers don't.
|
|
(MIN): New macro.
|
|
(block_read): Do not attempt to read more than SSIZE_MAX bytes, as the
|
|
resulting behavior is implementation-defined. Work around bug in
|
|
Tru64 5.1, which can't read more than INT_MAX bytes at a time.
|
|
* src/cmp.c (cmp): Use block_read instead of read, to work
|
|
around Tru64 5.1 bug.
|
|
* src/diff3.c (read_diff): Likewise.
|
|
* src/diff3.c: Include cmpbuf.h.
|
|
|
|
* THANKS: Add Ulrich Drepper.
|
|
|
|
* INSTALLME: Mention GNU texinfo.
|
|
|
|
* doc/diff.texi:
|
|
Use new @copying directive.
|
|
Put @contents first, not last, since Texinfo now suggests this.
|
|
Fix bug in -w documentation noted by Karl Berry.
|
|
Mention links for speedup.
|
|
New node "Speedups" for future speedups.
|
|
Just say "Index", not "Concept Index".
|
|
|
|
2002-03-26 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* src/Makefile.am:
|
|
(INCLUDES): Remove this obsolete macro, replacing it with:
|
|
(AM_CPPFLAGS): New macro.
|
|
|
|
2002-03-26 Albert Chin-A-Young <china@thewrittenword.com>
|
|
|
|
* src/Makefile.am (datadir): Remove, as it conflicts with --datadir.
|
|
|
|
2002-03-26 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* doc/diff.texi (dircategory GNU packages): Fix typo: a "* " was
|
|
missing before the menu entry. Bug diagnosed by Adam Heath.
|
|
Also, put this dircategory after the Individual utilities dircategory,
|
|
to work around a compatibility problem with Debian install-info.
|
|
|
|
2002-03-24 Eli Zaretskii <eliz@is.elta.co.il>
|
|
|
|
* src/io.c (sip): Do not mishandle buffered count when reverting
|
|
to text mode.
|
|
|
|
2002-03-23 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* NEWS, configure.ac (AC_INIT): Version 2.8.
|
|
* configure.ac (AC_PREREQ): 2.53.
|
|
* INSTALLME: Upgrade to gettext 0.11.1 and help2man 1.27.
|
|
|
|
* doc/diff.texi: Upgrade the description of `patch' to GNU patch
|
|
2.5.4, and revamp the documentation accordingly.
|
|
|
|
* src/diff.c (main): Fix typo that prevented diff -y from working.
|
|
Bug reported by Mitsuru Chinen.
|
|
|
|
2002-03-15 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* lib/c-stack.c (c_stack_die) [!HAVE_SIGINFO_T]: Don't use info.
|
|
Bug reported by Eli Zaretskii.
|
|
|
|
2002-03-15 Eli Zaretskii <eliz@is.elta.co.il>
|
|
|
|
* ms/config.sed: Tweak editing of install-info-am target.
|
|
|
|
2002-03-12 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* NEWS, configure.ac (AC_INIT): Version 2.7.10.
|
|
|
|
* NEWS: cmp -l -s and cmp -s -l are not allowed.
|
|
Deprecate diff -h, -H, -L, -P, --inhibit-hunk-merge.
|
|
|
|
* configure.ac (jm_PREREQ_HARD_LOCALE): Add.
|
|
(AM_INIT_AUTOMAKE): Do not distribute shar file.
|
|
|
|
* doc/diff.texi (Overview): byte != character.
|
|
(Detailed Context, Detailed Unified, Alternate Names, diff Options):
|
|
Do not document diff -L.
|
|
(Comparing Directories, Making Patches, diff Options):
|
|
Do not document diff -P.
|
|
(diff Performance, sdiff Option Summary, diff Options, sdiff Options):
|
|
Do not document diff -H.
|
|
(diff Performance, diff Options): Do not document --horizon-lines.
|
|
(cmp Options): Prefer -b to -c.
|
|
(cmp Options, diff Options, diff3 Options, patch Options,
|
|
sdiff Options): Put short options next to the similar long options.
|
|
Document --help, and use the same wording for --verbose.
|
|
(diff3 Options): Fix typo in description of -E, which used wrongly used
|
|
"-e" instead of "-E".
|
|
|
|
* lib/hard-locale.c (alloca): Remove.
|
|
Include stdlib.h if available, for malloc.
|
|
(hard_locale): Use malloc, not alloca, so that we need not worry about
|
|
alloca issues. Test for storage allocation failure.
|
|
|
|
* m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HARD_LOCALE.
|
|
(jm_PREREQ_HARD_LOCALE): New macro.
|
|
|
|
* src/cmp.c (specify_comparison_type): New function.
|
|
(check_stdout): "indices and codes" -> "byte numbers and values"
|
|
(main): Detect clashing options.
|
|
(cmp): Use "byte" rather than "char" if a translation for "byte"
|
|
is available, even when in the POSIX locale.
|
|
|
|
* src/diff.c (option_help_msgid): Do not document -L, -P,
|
|
--horizon-lines, --inhibit-hunk-merge, -H.
|
|
* src/diff.h: -L -> --label
|
|
|
|
2002-03-11 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* NEWS, configure.ac (AC_INIT): Version 2.7.9.
|
|
|
|
* INSTALLME: Update to autoconf 2.53, automake 1.6, help2man
|
|
1.25 with patch.
|
|
|
|
* configure.ac (AC_INIT):
|
|
Change package name from diff to diffutils.
|
|
(AM_INIT_AUTOMAKE): Use new form, with option gnits,
|
|
rather than old from that duplicated AC_INIT.
|
|
(AM_MISSING_PROG): Add help2man.
|
|
(REGEX_MALLOC): Define.
|
|
(AC_CONFIG_FILES): Add man/Makefile.
|
|
|
|
* Makefile.am (AUTOMAKE_OPTIONS): Remove.
|
|
* doc/Makefile.am (AUTOMAKE_OPTIONS): Remove.
|
|
* lib/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
|
|
* ms/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
|
|
* src/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
|
|
|
|
* lib/c-stack.c: Include <errno.h>
|
|
(ENOTSUP): Define if errno.h doesn't.
|
|
(SA_NODEFER, SA_ONSTACK, SA_RESETHAND, SA_SIGINFO, SIGSTKSZ,
|
|
_SC_PAGESIZE, ALTERNATE_STACK_SIZE, stack_t, sigaltstack):
|
|
Remove; we now assume them all when
|
|
HAVE_XSI_STACK_OVERFLOW_HEURISTIC, so we don't need
|
|
substitutes.
|
|
(<ucontext.h>): Include only if HAVE_XSI_STACK_OVERFLOW_HEURISTIC.
|
|
(alternate_signal_stack): Now of size SIGSTKSZ.
|
|
(segv_handler): Simplify, under the assumption that
|
|
HAVE_XSI_STACK_OVERFLOW_HEURISTIC is nonzero.
|
|
(c_stack_action): Likewise.
|
|
(exit_failure) [DEBUG]: Initialize to 0, not 1.
|
|
(recurse, main) [DEBUG]: Remove main args.
|
|
|
|
* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change
|
|
wording of message. Do not check for stdbool.h or ucontext.h,
|
|
or for ucontext_t or sigaction or sigaltstack.
|
|
|
|
* po/LINGUAS: Add zh_TW.
|
|
|
|
* Makefile.am (SUBDIRS): Add man.
|
|
* man/Makefile.am: New file.
|
|
* src/cmp.c (usage): Reword for help2man.
|
|
* src/diff.c (option_help_msgid): Likewise.
|
|
* src/diff3.c (option_help_msgid, usage): Likewise.
|
|
* src/sdiff3.c (option_help_msgid, usage): Likewise.
|
|
Reword for help2man.
|
|
|
|
* THANKS: Add email address for Tower.
|
|
|
|
* config/config.guess, config/config.sub, config/depcomp,
|
|
config/install-sh, config/mdate-sh, config/missing,
|
|
config/mkinstalldirs, config/texinfo.tex: Update
|
|
to recent version (maintained in other packages).
|
|
|
|
2002-03-04 Bruno Haible <haible@ilog.fr>
|
|
|
|
* m4/gettext.m4 (AM_GNU_GETTEXT): Set LIBINTL and LTLIBINTL to empty if
|
|
no preinstalled GNU gettext was found.
|
|
|
|
2002-03-02 Eli Zaretskii <eliz@is.elta.co.il>
|
|
|
|
* ms/config.sed: Tweak editing of install-info-am and
|
|
uninstall-info-am targets, to include 8+3-butchered names of Info
|
|
files.
|
|
|
|
2002-02-28 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* NEWS, configure.ac (AC_INIT, AM_INIT_AUTOMAKE): Version 2.7.8.
|
|
|
|
* doc/diff.texi: Add vr index.
|
|
Update copyright to 2002.
|
|
(Standards conformance): New chapter.
|
|
(Binary): Differing binary files are trouble unless the user asked for
|
|
brief output.
|
|
(Detailed Context): Prefer ISO time stamp format in discussion.
|
|
(Detailed Unified, Pagination): Likewise.
|
|
(Less Context): Likewise. Also use short option.
|
|
(Alternate Names): Separate option from arg.
|
|
(Making Patches): Mention -U 2.
|
|
(diff Options): Deprecate -LINES, as POSIX 1003.1-2001 does not
|
|
allow it.
|
|
|
|
* INSTALLME: Update advice for Solaris installation problems.
|
|
We no longer use a test version of gettext.
|
|
Autoconf test version updated from 2.52f to 2.52h.
|
|
POSIX 1003.1-2001 patch for Automake.
|
|
|
|
* configure.ac (AC__GNU_SOURCE): Add this,
|
|
replacing AH_VERBATIM of _GNU_SOURCE.
|
|
(tempname): Use AC_LIBOBJS, not LIBOBJS=, as now required by autoconf.
|
|
(jm_PREREQ_C_STACK): Add.
|
|
(AC_CONFIG_FILES): Remove intl/Makefile.
|
|
(AM_GNU_GETTEXT): Add external arg, from gettext 0.11.
|
|
|
|
* lib/c-stack.c, lib/c-stack.h, lib/exitfail.c, lib/exitfail.h,
|
|
lib/posixver.c, lib/posixver.h, m4/c-stack.m4, m4/gnu-source.m4,
|
|
po/cs.po, po/ja.po: New files.
|
|
|
|
* intl/ChangeLog, intl/Makefile.in, intl/VERSION,
|
|
intl/bindtextdom.c, intl/config.charset, intl/dcgettext.c,
|
|
intl/dcigettext.c, intl/dcngettext.c, intl/dgettext.c,
|
|
intl/dngettext.c, intl/explodename.c, intl/finddomain.c,
|
|
intl/gettext.c, intl/gettextP.h, intl/gmo.h, intl/hash-string.h,
|
|
intl/intl-compat.c, intl/l10nflist.c, intl/libgnuintl.h,
|
|
intl/loadinfo.h, intl/loadmsgcat.c, intl/localcharset.c,
|
|
intl/locale.alias, intl/localealias.c, intl/localename.c,
|
|
intl/ngettext.c, intl/os2compat.c, intl/os2compat.h, intl/osdep.c,
|
|
intl/plural-eval.c, intl/plural-exp.c, intl/plural-exp.h,
|
|
intl/plural.c, intl/plural.y, intl/ref-add.sin, intl/ref-del.sin,
|
|
intl/textdomain.c, m4/isc-posix.m4, m4/libtool.m4: Remove.
|
|
|
|
* ABOUT-NLS: Update to Gettext 0.11.
|
|
|
|
* Makefile.am (SUBDIRS): Remove intl.
|
|
|
|
* config/config.guess, config/config.rpath, config/config.sub,
|
|
config/texinfo.tex, config/depcomp, config/texinfo.tex,
|
|
lib/tempname.c: Update to latest version from other packages.
|
|
|
|
* lib/xalloc.h (xalloc_exit_failure): Remove; subsumed by exit_failure.
|
|
* lib/xmalloc.c: Include exitfail.h.
|
|
(xalloc_exit_failure): Remove; subsumed by exit_failure.
|
|
All uses changed.
|
|
|
|
* lib/Makefile.am (noinst_HEADERS): Add c-stack.h, exitfail.h.
|
|
(libdiffutils_a_SOURCES): Add c-stack.c, exitfail.c, quotesys.c.
|
|
(INCLUDES): Remove.
|
|
|
|
* lib/cmpbuf.h (buffer_lcm): New arg LCM_MAX.
|
|
* lib/cmpbuf.c: Include errno.h.
|
|
(errno): Declare if !STDC_HEADERS.
|
|
Include signal.h.
|
|
(SA_RESTART): Define if not already defined.
|
|
Include <inttypes.h>.
|
|
(PTRDIFF_MAX): Define if not already defined.
|
|
(TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
|
|
(block_read): Accommodate ancient AIX hosts that set errno to EINTR
|
|
after uncaught SIGCONT.
|
|
(buffer_lcm): Return a reasonable size if the multiple is too large.
|
|
New arg LCM_MAX. All callers changed.
|
|
|
|
* lib/hard-locale.c: Include "hard-locale.h".
|
|
(hard_locale): Ignore ENABLE_NLS, since we want to operate on
|
|
locales other than LC_MESSAGES.
|
|
|
|
* m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_POSIXVER.
|
|
(jm_PREREQ_POSIXVER): New macro.
|
|
|
|
* m4/setmode.m4 (AC_FUNC_SETMODE_DOS):
|
|
Check for fcntl.h and unistd.h unconditionally.
|
|
Suggested by Bruno Haible.
|
|
|
|
* po/LINGUAS: Add cs, ja.
|
|
* po/POTFILES.in: Add lib/c-stack.c, src/dir.c.
|
|
|
|
* src/Makefile.am (datadir): @DATADIRNAME@ -> share.
|
|
(INCLUDES): Remove intl.
|
|
(LDADD): Change INTLLIBS to LIBINTL.
|
|
No longer need to link libdiffutils.a twice.
|
|
|
|
* src/analyze.c (diff_2_files):
|
|
Avoid arithmetic overflow in buffer size calculation.
|
|
|
|
* src/cmp.c: Include c-stack.h, exitfail.h.
|
|
(hard_locale_LC_MESSAGES): Depend on ENABLE_NLS.
|
|
(try_help, check_stdout, main, cmp): 2 -> EXIT_TROUBLE.
|
|
(main): Check for stack overflow.
|
|
0 -> EXIT_SUCCESS.
|
|
1 -> EXIT_FAILURE.
|
|
(cmp): Likewise.
|
|
Accommodate ancient AIX hosts that set errno to
|
|
EINTR after uncaught SIGCONT.
|
|
|
|
* src/context.c (pr_context_hunk):
|
|
Do not dump core if an enormous context causes an
|
|
arithmetic overflow.
|
|
(pr_unidiff_hunk): Likewise.
|
|
(find_hunk): Likewise.
|
|
|
|
* src/diff.h: unsigned -> unsigned int.
|
|
* src/diff.c: Include c-stack.h, exitfail.h.
|
|
Do not include signal.h.
|
|
(specify_style, specify_value): Bring these routines back, as POSIX
|
|
requires that the order of options not matter.
|
|
(shortopts): New constant.
|
|
(group_format_option, line_format_option): New constants.
|
|
(main): 0 -> EXIT_SUCCESS, 1 -> EXIT_FAILURE, 2 -> EXIT_TROUBLE.
|
|
Ensure that order of options does not matter.
|
|
Check for stack overflow.
|
|
If contexts overflow, substitute LIN_MAX, as that's good enough.
|
|
If multiple contexts are specified, use their maximum.
|
|
-c is equivalent to -C 3 now, instead of having an implicit context;
|
|
likewise for -u and -U 3.
|
|
Use specify_style and specify_value.
|
|
(SIGCHLD): Do not define; now done in a header.
|
|
Use new style time stamp format for -u / -U.
|
|
Reject numeric-string options if operating in POSIX 1003.1-2001 mode.
|
|
Avoid overflow problems with tab width.
|
|
Simplify from-file and to-file code.
|
|
(usage): Do not mention obsolete options.
|
|
(filetype): Do not mention whether a file is executable.
|
|
Add typed memory objects.
|
|
(compare_files): 0 -> EXIT_SUCCESS, 1 -> EXIT_FAILURE, 2 ->
|
|
EXIT_TROUBLE.
|
|
|
|
* src/diff3.c: Include c-stack.h, exitfail.h.
|
|
(ALLOCATE): Remove. All uses changed to xmalloc, or to xmalloc plus
|
|
an overflow check.
|
|
(myread): Remove.
|
|
(main): Check for stack overflow.
|
|
0 -> EXIT_SUCCESS, 1 -> EXIT_FAIULRE, 2 -> EXIT_TROUBLE.
|
|
(try_help): Likewise.
|
|
(process_diff): Check for integer overflow, to avoid core dumps.
|
|
2 -> EXIT_TROUBLE.
|
|
(read_diff): Exit with status 126 if the file is not executable,
|
|
for compatibility with POSIX 1003.1-2001.
|
|
Accommodate ancient AIX hosts that set errno to EINTR after uncaught
|
|
SIGCONT.
|
|
Check for integer overflow to avoid core dumps.
|
|
(fatal, perror_with_exit): 2 -> EXIT_TROUBLE.
|
|
|
|
* src/dir.c (dir_read):
|
|
Ignore st_size of directories: POSIX says it's garbage.
|
|
Check for integer overflow to avoid core dumps.
|
|
(diff_dirs): 0 -> EXIT_SUCCESS, 2 -> EXIT_TROUBLE.
|
|
|
|
* src/ifdef.c: Include <xalloc.h>.
|
|
(format_group, print_ifdef_lines): Avoid core dumps with bad formats.
|
|
(do_printf_spec): Avoid alloca.
|
|
|
|
* src/io.c (sip):
|
|
Avoid integer overflow and core dumps if buffer alignments are
|
|
preposterously incompatible.
|
|
(slurp): Do not dump core if the file is growing as we read it.
|
|
If a regular file grows, keep reading until we catch up with its EOF.
|
|
(find_and_hash_each_line): Check for integer overflow to avoid cores.
|
|
(GUESS_LINES): Remove.
|
|
(guess_lines): New function. Avoid integer overflow.
|
|
(find_identical_ends): Use it.
|
|
Avoid integer overflow and possible core dumps.
|
|
|
|
* src/sdiff.c: Include c-stack.h, exitfail.h. Do not include signal.h.
|
|
0 -> EXIT_SUCCESS, 1 -> EXIT_FAILURE, 2 -> EXIT_TROUBLE.
|
|
(ck_editor_status): New function.
|
|
(main): Check for stack overflow.
|
|
Adopt POSIX convention for subsidiary programs not found.
|
|
(diffarg): Check for integer overflow to avoid core dumps.
|
|
(trapsigs): Remove SA_INTERRUPT special case; now done by header.
|
|
(SIGCHLD): Likewise.
|
|
(edit): Adopt POSIX convention for subsidiary programs not found.
|
|
|
|
* src/side.c: unsigned -> unsigned int.
|
|
|
|
* src/system.h: Don't use alloca or include <alloca.h>.
|
|
unsigned -> unsigned int
|
|
(EXIT_SUCCESS, EXIT_FAILURE, EXIT_TROUBLE): Define if not defined.
|
|
Include signal.h.
|
|
(SA_RESTART): Define if not defined.
|
|
(SIGCHLD): Likewise.
|
|
|
|
* src/util.c: 2 -> EXIT_TROUBLE.
|
|
Adopt POSIX convention for ENOEXEC and exit status 126.
|
|
unsigned -> unsigned int
|
|
|
|
2002-01-24 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* NEWS, configure.ac (AC_INIT, AM_INIT_AUTOMAKE): Version 2.7.7.
|
|
|
|
* intl/plural.c: Regenerate with Bison 1.31.
|
|
|
|
* ABOUT-NLS, intl/*: Update to Gettext 0.11-pre5++.
|
|
* INSTALL: Update to Autoconf 2.52f.
|
|
|
|
* INSTALLME: New file.
|
|
* Makefile.am (EXTRA_DIST): Add config/config.rpath, INSTALLME.
|
|
(DISTCLEANFILES): Remove.
|
|
* NEWS: Reformat for imminent 2.8 release.
|
|
* README: Mention INSTALLME.
|
|
* README-alpha: Move most of contents to INSTALLME.
|
|
* THANKS: Add Bruno Haible, Jim Meyering, and Eli Zaretskii.
|
|
|
|
* config: New subdirectory, containing the following files from .:
|
|
config.guess, config.sub, depcomp, missing, install-sh, mkinstalldirs.
|
|
Move the following files here from doc: texinfo.tex, mdate-sh.
|
|
* config/config.guess, config/config.sub, config/texinfo.tex:
|
|
Update to latest version from FSF.
|
|
* config/config.rpath: New file, from Gettext 0.11-pre5++.
|
|
|
|
* configure.ac (AC_INIT): Use new 3-arg form.
|
|
(AC_CONFIG_SRCDIR): Specify src/diff.c here, not in AC_INIT.
|
|
(ALL_LINGUAS): Remove: now in po/LINGUAS as per Gettext 0.11.
|
|
(AC_CONFIG_AUX_DIR): New macro invocation.
|
|
|
|
* lib/Makefile.am (noinst_HEADERS): Add gettext.h.
|
|
* lib/gettext.h: New file, from Gettext 0.11-pre5++.
|
|
* lib/prepargs.c: Include <string.h>. Reported by Bruno Haible.
|
|
|
|
* m4/codeset.m4, m4/gettext.m4, glibc21.m4, iconv.m4, isc-posix.m4,
|
|
lcmessage.m4, progtest.m4: Upgrade to Gettext 0.11-pre5++.
|
|
* m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
|
|
Gettext 0.11-pre5++.
|
|
|
|
* po/LINGUAS: New file.
|
|
* po/Makefile.in.in: Upgrade to Gettext 0.11-pre5++.
|
|
* po/Makevars, po/Rules-quot, po/boldquot.sed: New files,
|
|
from Gettext 0.11-pre5++.
|
|
|
|
* src/cmp.c (copyright_string): Update to 2002.
|
|
* src/diff.c (copyright_string): Likewise.
|
|
* src/diff3.c (copyright_string): Likewise.
|
|
* src/sdiff.c (copyright_string): Likewise.
|
|
|
|
* src/cmp.c (specify_ignore_initial): Renamed from
|
|
parse_ignore_initial, with different signature, to take the
|
|
maximum of multiple options rather than the last one.
|
|
All uses changed.
|
|
|
|
* src/cmp.c (bytes, specify_ignore_initial, cmp): Use UINTMAX_MAX
|
|
instead of (uintmax_t) -1, to avoid warnings on some compilers.
|
|
* src/io.c (file_block_read): Likewise, for SIZE_MAX.
|
|
|
|
* src/cmp.c (usage): Reformat messages to ease translation.
|
|
* src/diff3.c (usage): Likewise.
|
|
* src/sdiff.c (usage): Likewise.
|
|
|
|
* src/cmp.c (main): Two files with the same name are identical
|
|
only if the same offset is specified.
|
|
(block_compare_and_count): Avoid cast to unsigned char.
|
|
|
|
* src/diff3.c (main): Remove unused variable.
|
|
|
|
* src/dir.c: Include <setjmp.h>
|
|
(struct dirdata): New member nnames.
|
|
(locale_specific_sorting, failed_strcoll): New vars.
|
|
(dir_read): Renamed from dir_sort. Don't sort the dir.
|
|
Set new nnames member of struct dirdata. All callers changed.
|
|
(compare_names): Don't check for errno after strcasecmp.
|
|
Use strcoll only if locale_specific_sorting is nonzero.
|
|
If strcoll fails, longjmp out rather than returning a value
|
|
that might result in an invalid comparison function that might
|
|
make qsort dump core.
|
|
(diff_dirs): Sort the directory ourselves. Use setjmp to recover
|
|
from strcoll failure, falling back on native byte comparison.
|
|
Make local variables volatile if they need to preserve their value
|
|
after setjmp/longjmp.
|
|
|
|
* src/sdiff.c (handler_index_of_SIGINT, handler_index_of_SIGPIPE):
|
|
New macros.
|
|
(main): Do not confuse signal numbers with their indices.
|
|
Bug reported by Bruno Haible.
|
|
(edit): Cat lin to long before printing with %ld, since lin might
|
|
be narrow than long.
|
|
|
|
* src/system.h (UINTMAX_MAX): New macro.
|
|
Include gettext.h, not libgettext.h.
|
|
(N_): Do not wrap arg in parentheses. Fix from Bruno Haible.
|
|
|
|
* src/util.c (finish_output): Ensure that werrno is initialized.
|
|
(lines_differ): Have an explicit do-nothing case for
|
|
IGNORE_NO_WHITE_SPACE, to pacify gcc -Wall.
|
|
|
|
2001-12-29 Eli Zaretskii <eliz@is.elta.co.il>
|
|
|
|
* src/sdiff.c (interact): After extracting rlen from the editor
|
|
command, test for a terminating null character, not for a newline.
|
|
|
|
* ms/config.bat: Allow longer source directory names without
|
|
overflowing the line length limits. Create the cache in the
|
|
build directory, not in the source directory
|
|
* ms/config.sed: Fix AC_CONFIG_LINKS for when symlinks are
|
|
unavailable.
|
|
|
|
2001-12-23 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* NEWS, configure.ac (AM_INIT_AUTOMAKE): Version 2.7.6.
|
|
|
|
* configure.ac (ALL_LINGUAS): Add tr.
|
|
|
|
* src/util.c (begin_output):
|
|
Have child exit with status 127 rather than reporting
|
|
failure on its own. Set errno to 0 before invoking popen.
|
|
(finish_output): Report errno on pclose failure.
|
|
Distinguish between subsidiary program not found, and failure.
|
|
|
|
* src/sdiff.c (not_found, execdiff): Remove.
|
|
(DIFF_PROGRAM_OPTION): New constant.
|
|
(longopts, option_help_msgid, main): Add --diff-program=PROGRAM.
|
|
(check_stdout): New function.
|
|
(main): Remove DIFF_PROGRAM. Check stdout after printing version.
|
|
Use check_stdout after printing help. Use execvp/perror_fatail rather
|
|
than execdiff. Set errno to 0 before invoking popen.
|
|
Check for pclose failure properly.
|
|
(main, edit): If child exec fails, exit with 127 rather than trying to
|
|
print diagnostic.
|
|
Distinguish between subsidiary program failing and not being found.
|
|
(edit): Handle signals the same way, regardless of whether we're using
|
|
system or fork+exec. Check for system returning -1.
|
|
|
|
* src/diff3.c (DIFF_PROGRAM_OPTION, HELP_OPTION): New constants.
|
|
(longopts, main): Use them.
|
|
(longopts, main, option_help_msgid): New option --diff-option=PROGRAM.
|
|
(main): Remove DIFF_PROGRAM support.
|
|
Check stdout after printing version.
|
|
(check_stdout): Report errno info if fclose fails.
|
|
(read_diff): Have child exit with status 127 when program is not found,
|
|
rather than trying to have the child report failure. Check for
|
|
pclose returning -1.
|
|
|
|
* src/diff.c (DEFAULT_WIDTH): Remove.
|
|
(main): Use 130 instead of DEFAULT_WIDTH, since it's not really
|
|
builder-settable. Do not prepend DIFF_OPTIONS.
|
|
(check-stdout): If fclose (stdout) fails, print errno info.
|
|
(option_help_msgid): Default context is 3, not 2.
|
|
(usage): Work even if ptrdiff_t is wider than int.
|
|
|
|
* doc/diff.texi (diff Options): Remove DIFF_OPTIONS.
|
|
(Invoking diff3, Invoking sdiff): Remove DIFF_PROGRAM.
|
|
(diff3 Options, sdiff Options): Add --diff-program.
|
|
|
|
* src/cmp.c (valid_suffixes):
|
|
Add '0', to support suffixes like "MB" and "MiB".
|
|
(check_stdout): Don't assume that the translations of "write failed"
|
|
and of "standard output" lack '%'.
|
|
(main): Check stdout after printing version.
|
|
|
|
* lib/setmode.c: [HAVE_FCNTL_H && HAVE_SETMODE_DOS]: Include <fcntl.h>.
|
|
[!HAVE_SETMODE_DOS]: Do not include <unistd.h>.
|
|
(set_binary_mode): Return mode (not 1) if fd is a tty.
|
|
Do not assume that O_TEXT is zero.
|
|
|
|
* doc/diff.texi (cmp Options):
|
|
In byte counts, a plain suffix (without any integer)
|
|
is assumed to modify the integer 1. Index terms like "kibibyte".
|
|
Document plain "k".
|
|
|
|
(Reporting Bugs): Mention bug-report archive and test version
|
|
location. Ask for "diff --version" in bug reports.
|
|
|
|
2001-12-13 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* src/diff.c (DEFAULT_WIDTH): Remove; couldn't be changed without
|
|
also changing option_help_msgid. All uses replaced with 130.
|
|
|
|
* lib/setmode.c: Include fcntl.h and unistd.h only if
|
|
HAVE_SETMODE_DOS.
|
|
(setmode): Assume a file is binary unless the mode is O_TEXT.
|
|
* ms/README: Fix minor typos.
|
|
|
|
2001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
|
|
|
|
* ms/README: New file.
|
|
|
|
* lib/setmode.c (set_binary_mode) [HAVE_SETMODE_DOS]: Don't assume
|
|
O_TEXT has a zero value. If FD is a terminal device, do nothing
|
|
and return MODE, thus pretending that it was already in the
|
|
requested MODE.
|
|
[HAVE_FCNTL_H]: Include fcntl.h (needed for O_BINARY).
|
|
|
|
* ms/config.sed: Remove the split prevention of config.status.
|
|
Fix Sed commands for converting absolute file names into
|
|
top_srcdir-relative ones.
|
|
|
|
* ms/config.bat: Fix typos.
|
|
|
|
2001-12-12 Neal H Walfield <neal@cs.uml.edu>
|
|
|
|
* diff.c (option_help_msgid): Correct the default context width
|
|
from 2 to 3.
|
|
|
|
2001-12-11 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* m4/Makefile.am.in: Remove jm-glibc-io.m4
|
|
|
|
* NEWS, configure.ac (AM_INIT_AUTOMAKE): Version 2.7.5.
|
|
|
|
* configure.ac (PR_PROGRAM): Use AC_DEFINE_UNQUOTED, so that
|
|
$PR_PROGRAM is expanded by sh.
|
|
(ptrdiff_t, ssize_t): Use AC_CHECK_TYPE with a default of int,
|
|
not AC_CHECK_TYPES.
|
|
(jm_AC_DOS, AC_FUNC_SETMODE_DOS): New macros.
|
|
(AC_CONFIG_FILES): Add ms/Makefile.
|
|
|
|
* doc/diff.texi: Add --no-ignore-file-name-case.
|
|
File name case sensitivity now affects file name exclusion.
|
|
Fix typos.
|
|
|
|
* src/util.c: Include dirname.h.
|
|
(dir_file_pathname): Use base_name rather than file_name_lastdirchar.
|
|
|
|
* src/system.h (S_IXUSR, S_IXGRP, S_IXOTH): New macros.
|
|
Include <libgettext.h> rather than rolling it ourselves.
|
|
(file_name_lastdirchar, HAVE_SETMODE, set_binary_mode): Remove.
|
|
|
|
* src/sdiff.c: Include <dirname.h>.
|
|
(expand_name): Use base_name rather than file_name_lastdirchar, for
|
|
portability to DOS.
|
|
(main): Initialize xalloc_exit_failure before possibly invoking
|
|
any memory allocator.
|
|
|
|
* src/io.c: Include setmode.h.
|
|
|
|
* src/diff3.c (main):
|
|
Initialize xalloc_exit_failure before possibly invoking any memory
|
|
allocator.
|
|
|
|
* src/diff.c: Include dirname.h, setmode.h.
|
|
|
|
(main): Later values and/or styles now silently override earlier.
|
|
(specify_value, specify_style): Likewise. All callers changed.
|
|
Remove.
|
|
(binary, main, option_help_msgid, compare_files):
|
|
HAVE_SETMODE -> HAVE_SETMODE_DOS.
|
|
(NO_IGNORE_FILE_NAME_CASE_OPTION): New constant.
|
|
(longopts, main, option_help_msgid): Support it.
|
|
(exclude_options): New function.
|
|
(main): Use it. Initialize xalloc_exit_failure before potentially
|
|
allocating memory.
|
|
|
|
(filetype): Distinguish executable files from others, as POSIX
|
|
suggests.
|
|
|
|
(compare_files): Use base_name instead of file_name_lastdirchar.
|
|
|
|
* src/cmp.c: Include <hard-locale.h>, <setmode.h>.
|
|
(hard_locale_LC_MESSAGES): New macro.
|
|
(sprintc): Remove int width arg; it's now the caller's responsibility
|
|
to pad. All callers changed.
|
|
(stat_buf): New static var; was formerly a local var in 'main'.
|
|
(valid_suffixes): Add 'K', for 'KiB'.
|
|
(option_help_msgid): Don't confuse bytes with characters.
|
|
(main): Set xalloc_exit_failure before invoking anything that might
|
|
allocate memory. Fix bug: -n was incorrectly ignored when optimizing
|
|
the case of regular files with different lengths.
|
|
(cmp): Use an index column wide enough to store this comparison's
|
|
indexes. In locales other than the POSIX locale, say "byte"
|
|
rather than "char".
|
|
|
|
* ms/config.bat: pc -> ms
|
|
|
|
* ms/Makefile.am, m4/setmode.m4, lib/setmode.c, lib/setmode.h:
|
|
New file.
|
|
|
|
* lib/Makefile.am (noinst_HEADERS): Add dirname.h, setmode.h.
|
|
(libdiffutils_a_SOURCES): Add basename.c, setmode.c.
|
|
|
|
* Makefile.am (SUBDIRS): Add ms.
|
|
|
|
2001-12-10 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* m4/fnmatch.m4: Test for FNM_CASEFOLD.
|
|
|
|
2001-12-03 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* lib/posix/regex.h: Fix copyright notice.
|
|
|
|
2001-12-03 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* NEWS, configure.ac (AM_INIT_AUTOMAKE): Version 2.7.4.
|
|
|
|
* diff.texi (direntry, Overview, Comparison, Binary, Invoking cmp):
|
|
Use "byte" rather than "character" when talking about cmp, since
|
|
it compares bytes, not character.
|
|
(Invoking cmp): New trailing operands FROM-SKIP and TO-SKIP.
|
|
-i or --ignore-initial now accepts FROM-SKIP:TO-SKIP.
|
|
New option -n or --bytes.
|
|
Count operands now may be in octal or hex, and may be followed by a
|
|
size multiplier.
|
|
|
|
* configure.ac (DEFAULT_DIFF_PROGRAM):
|
|
Define to "diff", not "$bindir/diff" (which didn't work anyway).
|
|
(AC_CHECK_MEMBERS): Add struct stat.st_blksize, struct stat.st_rdev.
|
|
(AC_STRUCT_ST_BLKSIZE, AC_STRUCT_ST_RDEV): Remove; obsolescent.
|
|
(AC_FUNC_FORK): Use this, instead of obsolescent AC_FUNC_VFORK.
|
|
(AC_CONFIG_FILES, AC_CONFIG_COMMANDS): Add.
|
|
(AC_OUTPUT): Remove args; they were obsolescent.
|
|
|
|
* util.c (setup_output, begin_output, finish_output):
|
|
HAVE_FORK -> HAVE_WORKING_FORK || HAVE_WORKING_VFORK.
|
|
* sdiff.c (diffpid, cleanup, main, edit): Likewise.
|
|
* diff3.c (read_diff): Likewise.
|
|
|
|
* system.h (STAT_BLOCKSIZE):
|
|
Use HAVE_STRUCT_STAT_ST_BLKSIZE, not HAVE_ST_BLKSIZE.
|
|
(vfork): New macro.
|
|
(HAVE_FORK): Remove.
|
|
(set_binary_mode): New macro.
|
|
|
|
* sdiff.c (main): HAVE_VFORK -> HAVE_WORKING_VFORK.
|
|
(edit): Reopen the temporary file after the editor has run, in case
|
|
the editor operates by unlinking the old file and linking a new one.
|
|
(P_tmpdir): Rename from PVT_tmpdir; this fixes a typo.
|
|
All uses changed.
|
|
|
|
* io.c (sip, read_files):
|
|
Remove tests for HAVE_SETMODE; use set_binary_mode
|
|
instead of setmode.
|
|
(sip): Fix typo in backward lseek when reverting to text mode.
|
|
|
|
* config.site, config.sed, config.bat: New file.
|
|
|
|
* Makefile.am (EXTRA_DIST): Add xstrtol.c.
|
|
(noinst_HEADERS): Add xstrtol.h.
|
|
(libdiffutils_a_SOURCES): Add xstrtoumax.c.
|
|
|
|
* cmp.c: <xstrtol.h>: Include.
|
|
(ignore_initial): Now an array with 2 elements. All uses changed.
|
|
(bytes): New var.
|
|
(HELP_OPTION): New constant.
|
|
(long_options, main): Use it.
|
|
(long_options, option_help_msgid, main, cmp):
|
|
Add support for -n or --bytes.
|
|
(parse_ignore_initial): New function.
|
|
(option_help_msgid, main): Add -i M:N.
|
|
(usage, main): Add two optional trailing operands, a la BSD.
|
|
(main): setmode -> set_binary_mode.
|
|
(cmp): Report byte number of what we've seen, not of the entire file.
|
|
This is to be consistent with the line number, which is always relative
|
|
with what we've seen.
|
|
|
|
2001-12-02 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* diff.c (main, compare_files): setmode -> set_binary_mode.
|
|
|
|
* xstrtol.c (__xstrtol): Don't accept 'Ki'; require 'KiB'.
|
|
|
|
* xstrtol.c (__xstrtol): Add support for IEC 60027-2.
|
|
|
|
2001-11-25 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* NEWS, configure.ac (AM_INIT_AUTOMAKE): Version 2.7.3.
|
|
|
|
* README-alpha: New file.
|
|
|
|
* src/Makefile.am (INCLUDES): Add -I../lib, for regex.h.
|
|
|
|
* configure.ac:
|
|
Don't set LIB_CLOCK_GETTIME to 'none required'; set it to
|
|
the empty string instead.
|
|
|
|
* lib/Makefile.am (EXTRA_DIST): Add strtoimax.c, strtol.c.
|
|
|
|
* Makefile.am (SUBDIRS): Put intl before lib, so that libintl.h exists.
|
|
|
|
* lib/Makefile.am (noinst_HEADERS): Add unlocked-io.h.
|
|
|
|
* configure.ac (__EXTENSIONS__): New define, for the unlocked macros.
|
|
|
|
* README: Add copyright notice.
|
|
Remove stuff that doesn't apply any more.
|
|
|
|
* doc/diff.texi: offsets -> indices for cmp
|
|
|
|
* src/cmp.c (option_help_msgid): offsets -> indices
|
|
|
|
* src/diff.c (option_help_msgid):
|
|
Don't mention --binary on POSIX hosts.
|
|
|
|
* src/sdiff.c (STRIP_TRAILING_CR_OPTION): New constant.
|
|
(longopts, option_help_msgid, main): Add -E, --ignore-tab-expansion,
|
|
--strip-trailing-cr.
|
|
|
|
* doc/diff.texi: Change direcategory from Utilities to GNU Packages.
|
|
Add individual utilities.
|
|
Switch to Free Documentation License.
|
|
@code -> @command
|
|
@samp -> @option
|
|
GNU -> @sc{gnu}
|
|
Expand tabs to spaces, except when in an example that actually
|
|
uses tabs.
|
|
Prefer @node with just one arg.
|
|
Document -E or --ignore-tab-expansion, --strip-trailing-cr,
|
|
--ignore-file-name-case.
|
|
Regular expressions are now grep style, not Emacs style.
|
|
cmp's -c or --print-chars option is now -b or --print-bytes.
|
|
Time stamps now depend on LC_TIME.
|
|
-p now implies ^[[:alpha:]$_].
|
|
Flags now include ' and 0.
|
|
cmp -i is an alias for --ignore-initial
|
|
Document --from-file, --to-file.
|
|
Document DIFF_OPTIONS.
|
|
|
|
* configure.ac (AC_CHECK_FUNCS): Add gettimeofday, clock_gettime.
|
|
(LIB_CLOCK_GETTIME): New subst.
|
|
|
|
* src/system.h: Assume C89 or better.
|
|
(_GNU_SOURCE): Remove; config.h now defines it.
|
|
(alloca): Declare like coreutils does it.
|
|
(verify, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, O_RDWR,
|
|
S_IRUSR, S_IWUSR): New macros.
|
|
(STAT_BLOCKSIZE): Parenthesize definiens.
|
|
<inttypes.h>: Include if HAVE_INTTYPES_H.
|
|
(CHAR_MAX, INT_MAX): Remove.
|
|
(PTRDIFF_MAX, SIZE_MAX): New macros.
|
|
(strtoumax): New decl.
|
|
Include stddef.h.
|
|
(bzero): Remove.
|
|
(bindtextdomain, textdomain, N_): New macros.
|
|
(ISPRINT, ISSPACE): Remove ifndef wrappers.
|
|
(ISUPPER, ISDIGIT): Remove.
|
|
(TOLOWER): New macro.
|
|
(MIN): Renamed from min; all callers changed.
|
|
(MAX): Likewise, from max.
|
|
(lin): New type.
|
|
(LIN_MAX): New macro.
|
|
(file_name_cmp): Renamed from filename_cmp. All callers changed.
|
|
(file_name_lastdirchar): Renamed from file_name_lastdirchar.
|
|
All callers changed.
|
|
(could_be_mvfs_stat_bug, could_be_nfs_stat_bug,
|
|
dev_may_have_duplicate_ino): Remove.
|
|
(HAVE_SETMODE, NULL_DEVICE): New macros.
|
|
(same_file): Do not check attributes.
|
|
(same_file_attributes): New macro.
|
|
|
|
* src/util.c: Assume C89 or better.
|
|
int -> bool for booleans.
|
|
int -> lin for line numbers.
|
|
int -> size_t for sizes.
|
|
Use angle-brackets when including quotesys.h.
|
|
Include error.h, regex.h, xalloc.h.
|
|
(message5): sizeof -> offsetof
|
|
(begin_output): Invoke pr without -f.
|
|
(lines_differ): Renamed from line_cmp, and return bool not 3-way int.
|
|
All callers changed.
|
|
Add support for IGNORE_TAB_EXPANSION.
|
|
(change_letter): Now an array rather than a function. All
|
|
callers changed.
|
|
(translate_range): Translate line numbers to long, not lin,
|
|
for convenience with printf.
|
|
(analyze_hunk): Return enum changes instead of a count of
|
|
inserts and deletes. All callers changed.
|
|
(zalloc): New function.
|
|
|
|
* src/side.c: Assume C89 or better.
|
|
int -> bool for booleans.
|
|
int -> lin for line numbers.
|
|
|
|
* src/sdiff.c: Assume C89 or better.
|
|
int -> bool for booleans.
|
|
int -> lin for line numbers.
|
|
Use angle-brackets when including getopt.h, quotesys.h.
|
|
Include error.h, freesoft.h, stdio.h, xalloc.h.
|
|
(copyright_string): Use only most recent year.
|
|
(authorship_msgid, option_help_msgid): Wrap in N_().
|
|
|
|
(tmpname): Now volatile.
|
|
(tmpmade): Remove.
|
|
(tmp): New var.
|
|
(private_tempnam, exists, letters): Remove.
|
|
(temporary_file): New function.
|
|
(edit): Use it.
|
|
(interact): Use strtoumax, not atoi.
|
|
|
|
* src/normal.c: Assume C89 or better.
|
|
int -> lin for line numbers.
|
|
|
|
* src/io.c: Assume C89 or better.
|
|
int -> bool for booleans.
|
|
int -> lin for line numbers.
|
|
int -> size_t for sizes.
|
|
Use angle-brackets when including cmpbuf.h.
|
|
Include regex.h, xalloc.h.
|
|
(word): Remove; now done in system.h.
|
|
(hash_value): New type; use it instead of 'unsigned' for hash values.
|
|
(file_block_read): New function.
|
|
(sip, slurp): Use it. Now static.
|
|
(sip): Ensure block size is a multiple of word size. Clear eof flag.
|
|
(slurp): Use xalloc_die to report memory exhaustion.
|
|
(find_and_hash_each_line): Use TOLOWER instead of _tolower.
|
|
Add support for IGNORE_TAB_EXPANSION.
|
|
(prepare_text_end): Strip trailing CR if requested.
|
|
(find_identical_ends): Prepare the text only once,
|
|
if they're duplicates.
|
|
Let the compiler take advantage more of the fact that the buffers are
|
|
word-aligned.
|
|
(primes): Remove.
|
|
(prime_offset): New var.
|
|
(read_var): Use prime_offset instead of primes.
|
|
Use zalloc instead of xmalloc + bzero.
|
|
|
|
* src/ifdef.c: Assume C89 or better.
|
|
int -> lin for line numbers.
|
|
(format_group): Use strtoumax to parse line numbers.
|
|
(format_group, print_ifdef_lines): Use do_printf_spec to
|
|
handle printf specs.
|
|
(groups_letter_value): Don't use _tolower; it's locale-dependent.
|
|
(do_printf_spec): Renamed from scan_printf_spec; now does the printing.
|
|
|
|
* src/ed.c: Assume C89 or better.
|
|
int -> lin for line numbers (or 'long' when that's more convenient).
|
|
(print_ed_hunk): Fix bug when handling double-dot inserts.
|
|
|
|
* src/dir.c: Assume C89 or better.
|
|
int -> bool for booleans.
|
|
Include error.h, exclude.h, xalloc.h.
|
|
|
|
(dir_sort): Return 0 on error, 1 on success. All callers changed.
|
|
compare_names -> compare_names_for_qsort.
|
|
|
|
(compare_names): Try strcasecmp if ignore_file_name_case. Then try
|
|
strcoll. Use file_name_cmp only as a last resort. Warn about
|
|
strcasecmp or strcoll failure.
|
|
(compare_names_for_qsort): New function.
|
|
|
|
(diff_dirs): Use compare_names rather than filename_cmp.
|
|
|
|
* src/diff3.c: Assume C89 or better.
|
|
int -> bool for booleans.
|
|
int -> lin for line numbers.
|
|
Use angle-brackets when including getopt.h, quotesys.h.
|
|
Include error.h, freesoft.h, inttostr.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.
|
|
(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.32
|
|
|
|
2001-02-17 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* m4/Makefile.am.in: GNU fileutils 4.1
|
|
|
|
2001-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 repository
|
|
|
|
1999-07-06 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* lib/mkstemp.c: glibc 2.2
|
|
|
|
1998-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
|
|
(diff3.o): DIFF_PROGRAM -> DEFAULT_DIFF_PROGRAM.
|
|
(sdiff.o): Likewise.
|
|
(messages.po): Remove.
|
|
(message/msgid.po, message/template.po): New rules.
|
|
(maintainer-clean): Renamed from realclean.
|
|
(install): Install from source directory, if applicable.
|
|
Invoke install-info if needed.
|
|
(install-strip): New rule.
|
|
(check): Set DIFF.
|
|
(stamp-h.in): Don't put the date into the timestamp.
|
|
(D_dirs): Add $D/message.
|
|
($D.tar.gz): Compress with gzip -9.
|
|
Don't use ln to create distribution; it doesn't work with symlinks.
|
|
(srcs, distfiles, diff_o, diff3_o, sdiff_o): Rename quotearg.c to
|
|
quotesys.c and quotearg.h to quotesys.h.
|
|
|
|
* configure.in (AC_PATH_PROG): Add PR_PROGRAM.
|
|
If available, prefer support for large files unless the user specified
|
|
one of the CPPFLAGS, LDFLAGS, or LIBS variables.
|
|
(AC_STRUCT_ST_RDEV): Add.
|
|
(HAVE_ST_FSTYPE_STRING): Add.
|
|
(--with-mvfs-stat-bug, --with-nfs-stat-bug): New options.
|
|
(HAVE_MEMCHR): New macro.
|
|
(AC_CHECK_FUNCS): Add sicprocmask.
|
|
|
|
* diff.h (XTERN): Renamed from EXTERN.
|
|
(struct filedata): Remove dir_p arg.
|
|
(struct comparison): New type.
|
|
(diff_2_files, diff_dirs)" Ise ot/
|
|
(error): Add printf attribute if applicable.
|
|
(free_software_msgid): New decl.
|
|
(pr_program): New decl.
|
|
(fatal): Add noreturn attribute.
|
|
(pfatal_with_name): Likewise.
|
|
|
|
* system.h (__attribute__): New macro.
|
|
(getenv): Don't declare if HAVE_STDLIB_H.
|
|
(CHAR_MAX): New macro.
|
|
(<locale.h>): New include.
|
|
(<locale.h>): Include before <libintl.h>.
|
|
(could_be_mvfs_stat_bug, could_be_nfs_stat_bug,
|
|
dev_may_have_duplicate_ino, same_special_file): New macros.
|
|
(same_file): Use them.
|
|
|
|
* cmp.c (authorship_msgid): New var.
|
|
(free_software_msgid): New decl.
|
|
(error): Now has printf attribute.
|
|
(try_help): Likewise.
|
|
(long_options): Don't assume ASCII.
|
|
(try_help): Now accepts operand arg.
|
|
(main): Check for -1, not EOF, when calling getopt_long.
|
|
Report --ignore-initial value when complaining about it.
|
|
Output copyright and free software info with -v.
|
|
Don't assume ASCII.
|
|
Report last operand when one is missing.
|
|
Report text of extra operand.
|
|
Move block_read into cmpbuf.c.
|
|
|
|
* diff.c (authorship_msgid): New var.
|
|
(quotesys.h): Include.
|
|
(ck_atoi): Remove.
|
|
(function_regexp_list, ignore_regexp_list): Now static.
|
|
(binary_flag): Renamed from binary_I_O.
|
|
(entire_new_file_flag, unidirectional_new_file_flag,
|
|
print_file_same_flag): Now static.
|
|
(numeric_arg): Renamed from ck_atoi.
|
|
New argument specifying the argument type.
|
|
(longopts, main): Don't assume ASCII.
|
|
(longopts): Remove old aliases --file-label, --entire-new-file,
|
|
--ascii, --print.
|
|
(main): Check for -1, not EOF, when calling getopt_long.
|
|
Use numeric_arg to report errors.
|
|
Report error if -l specified but pagination is not supported.
|
|
Report error if -S is specified twice with conflicting values.
|
|
Have --version conform to the new GNU standards.
|
|
Add new --from-file, --to-file, --inhibit-hun,-merge options.
|
|
Make the horizon at least as large as the context.
|
|
Add casts to pacify gcc -Wall.
|
|
(try_help): Add operand arg.
|
|
(option_help_msgid): Doc fix to match above.
|
|
(usage): Indent option_help_msgid.
|
|
(compare_files): Now takes struct comparison
|
|
instead of two directory names and a depth.
|
|
(NONEXISTENT, UNOPENED, ERRNO_ENCODE, ERRNO_DECODE):
|
|
New macros.
|
|
(DIR_P): New macro.
|
|
Report error if fflush does.
|
|
|
|
* cmpbuf.c (block_read): Moved here from cmp.c.
|
|
|
|
* cmpbuf.h (block_read): New decl.
|
|
|
|
* io.c (cmpbuf.h): Include.
|
|
(slurp): Check for arithmetic overflow when computing buffer size.
|
|
|
|
* dir.c (diff_dirs): Check for recursive directory loop.
|
|
Arg is now struct comparison const *.
|
|
(dir_loop): New function
|
|
|
|
* analyze.c (no_discards): Remove.
|
|
(inhibit): Remove.
|
|
(shift_boundaries): Don't inhibit. If inhibit_hunk_merge is nonzero,
|
|
don't merge hunks.
|
|
(briefly_report): Now returns 2 if trouble, CHANGES otherwise.
|
|
(diff_2_files): Now takes struct comparison. If briefly_report reports
|
|
trouble, pass it on to caller.
|
|
|
|
* side.c (print_half_line): Add brackets to pacify GCC -Wall.
|
|
|
|
* sdiff.c (quotesys.h): Include.
|
|
(DIFF_PROGRAM, DEFAULT_EDITOR_PROGRAM): Remove.
|
|
(free_software_msgid, editor_program, not_found): New vars.
|
|
(diffbin, edbin): Remove.
|
|
(editor_program): Renamed from edbin.
|
|
(edit, interact): Now take extra string arg.
|
|
(exiterr, fatal, perror_fatal, try_help): Add noreturn attribute.
|
|
(sigset_t, sigemptyset, sigmask, sigaddset, SIG_BLOCK, SIG_SETMASK):
|
|
(sigprocmask): New macros, if !HAVE_SIGPROCMASK.
|
|
(error): Now has printf attribute.
|
|
(longopts, main): Don't assume ASCII.
|
|
(try_help): New operand arg.
|
|
(usage): Conform to new GNU standards.
|
|
(main): Set static vars for editor and diff program.
|
|
Compare getopt_long result to -1, not EOF.
|
|
-v conforms to new GNU standard.
|
|
Complain better about extra and missing operands.
|
|
If HAVE_VFORK, block SIGINT and SIGPIPE in the parent, since when
|
|
the child munges its handlers it may somp on the parent.
|
|
Pass rname to intract.
|
|
Translate not-found message before forking.
|
|
(give_help): Just output it all at once.
|
|
(edit): New args lname, lline, rname, rline.
|
|
(edit): New command 'd'.
|
|
(interact): New args lname, rname.
|
|
|
|
* util.c (quotesys.h): Include.
|
|
(PR_PROGRAM): New macro.
|
|
(pfatal_with_name): Abort if error returns.
|
|
(fatal): Likewise.
|
|
(print_message_queue): Free message chain after printing.
|
|
(currently_recursive): Renamed from current_depth, and now a boolean.
|
|
(begin_output): Report error if fflush does.
|
|
Avoid stdio and gettext in child.
|
|
|
|
* diff3.c (quotesys.h): Include.
|
|
(free_software_msgid): New decl.
|
|
(RANGE_START, RANGE_END): Renamed from START and END.
|
|
(fatal, perror_with_exit, try_help): Add noreturn attribute.
|
|
(error): Add printf attribute.
|
|
(diff_program): Now a ptr, not an array.
|
|
Initialize to DEFAULT_DIFF_PROGRAM instead of DIFF_PROGRAM.
|
|
(longopts, main): Don't assume ASCII.
|
|
(main): Use DIFF environment var to specify name of diff program.
|
|
Compare getopt_long result to -1, not EOF.
|
|
-v now reports version according to new GNU standard.
|
|
Report spelling of extra operand, or last operand before missing one.
|
|
(try_help): Now takes operand arg.
|
|
(option_help_ms): Fix typo: missing comma.
|
|
(usage): Update as per current GNU standards.
|
|
(environ): Remove decl.
|
|
(read_diff): Invoke diff with --inhibit-hunk-merge.
|
|
Translate `not found' message before forking.
|
|
Quote name of diff program.
|
|
Pass horizon lines.
|
|
`memory exhausted' -> `Memory exhausted'
|
|
|
|
* pc/makefile (%.exe): Remove.
|
|
(pc-clean): Remove *.exe
|
|
* pc/makefile.sed (DEFAULT_DIFF_PROGRAM): Renamed from DIFF_PROGRAM.
|
|
When editing mkinstalldirs rule, look for exec_prefix and prefix.
|
|
Add .exe when installing files.
|
|
* pc/emx/config.h (same_file): Add.
|
|
* pc/config.h (same_file): Remove.
|
|
* pc/djgpp/config.h: Adjust to latest patch from eliz.
|
|
* pc/djgpp/makefile.sed: Don't alter PROGRAMS.
|
|
* pc/pc.c: Update FSF address.
|
|
(quote_system_arg): Renamed from system_quote_arg.
|
|
|
|
* README: Add --with-mvfs-stat-bug, --with-nfs-stat-bug.
|
|
|
|
* getmsgids: Add copyright date and update FSF address.
|
|
|
|
* diff.texi: Document recent changes.
|
|
The patch doc still corresponds to patch 2.2, unfortunately.
|
|
Update GNU bug reporting address. Omit Larry Wall's address;
|
|
it's obsolete and he's busy with perl.
|
|
|
|
* context.c: Fix spacing.
|
|
|
|
* NEWS: Mention --from-file=FILE, --to-file=FILE, ed.
|
|
|
|
* acconfig.h, freesoft.c, message/de.po, message/en_UK.po,
|
|
message/es.po, message/fr.po, message/pl.po, message/sv.po:
|
|
New files.
|
|
|
|
* ed.c: Remove `#if 0'ed code.
|
|
|
|
* normal.c, waitpid.c: Update FSF address.
|
|
|
|
1998-03-15 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* quotesys.c: Renamed from quotearg.c.
|
|
|
|
* quotesys.h: Renamed from quotearg.h
|
|
(__QUOTESYS_P): Renamed from __QUOTEARG_P.
|
|
|
|
1997-05-05 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* quotesys.c, quotesys.h: New file.
|
|
|
|
Mon Nov 14 05:10:56 1994 Paul Eggert <eggert@twinsun.com>
|
|
|
|
Add internationalization support.
|
|
Several messages have been changed slightly,
|
|
to make them more consistent and easier to translate.
|
|
All strings that are messages are passed through gettext once before
|
|
being used, so that they can be localized.
|
|
Each function and macro whose first parameter is a gettext msgid
|
|
has had its first parameter's name changed so it ends in `msgid'.
|
|
All arrays of msgids have had their names changed to end in `msgid'.
|
|
`getmsgids' uses this to determine which strings are msgids.
|
|
|
|
* pc/COPYING, pc/INSTALL, pc/config.h,
|
|
pc/djgpp/config.h, pc/djgpp/makefile.sed,
|
|
pc/emx/config.h, pc/emx/diff.def, pc/emx/gnuregex.def,
|
|
pc/emx/makefile.sed,
|
|
pc/makefile, pc/makefile.sed, pc/pc.c: New files, for PC support.
|
|
|
|
* getmsgids: New file.
|
|
|
|
* Makefile.in (PACKAGE, VERSION, diffutils_srcs, D): New vars.
|
|
(version.c, version.texi, messages.po): New files.
|
|
messages.po is built automatically from source files and `getmsgids'.
|
|
(distfiles): Add them, pc/*, and getmsgids.
|
|
(diff.info): Now depends on version.texi.
|
|
(realclean): Clean messages.po, version.*.
|
|
(dist): Just build $D.tar.gz.
|
|
($D.tar.gz): New file, takes over old `dist' function.
|
|
Don't assume $(distfiles) are all in same directory.
|
|
|
|
* configure.in (AC_CHECK_HEADERS): Add libintl.h, locale.h.
|
|
(AC_CHECK_LIB): Check for -lintl.
|
|
|
|
* analyze.c (briefly_report): Rewrite `message (A?"B":"C")' as
|
|
`if (A) message ("B") : message ("C")'; this is for getmsgids.
|
|
(briefly_report, diff_2_files): For label, use file_label if set.
|
|
* diff.c (compare_files): Likewise.
|
|
|
|
* system.h (gettext): Declare; use a stub if ! HAVE_LIBINTL_H.
|
|
(setlocale): Declare; use a stub if ! HAVE_LOCALE_H.
|
|
|
|
* cmp.c, diff.c, diff3.c, sdiff.c (main):
|
|
Invoke setlocale first thing, to tell library we're internationalized.
|
|
(option_help_msgid): New constant.
|
|
(usage): Use it, so message is translated one option at a time.
|
|
* sdiff (help_msgid, give_help): Likewise.
|
|
|
|
* cmp.c (sprintc): Renamed from `printc'.
|
|
Now outputs to a buffer instead of stdout.
|
|
(cmp): Use new sprintc; it's easier to internationalize.
|
|
|
|
* diff.c (main): -D FOO now outputs `/* ! FOO */ instead of
|
|
`/* not FOO */'.
|
|
|
|
* sdiff.c (version_string): Fix decl typo: `const' was missing.
|
|
(trapsigs): Ignore sigaction failure, to be compatible with `signal'.
|
|
|
|
* util.c (struct msg, message5, print_message_queue):
|
|
Allocate just one block of memory to save a message.
|
|
|
|
Wed Nov 9 17:42:44 1994 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* sdiff.c (trapsigs): Don't check signal return value, since it's
|
|
bogus under djgpp.
|
|
|
|
Mon Oct 31 07:27:27 1994 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* Makefile.in (srcs, diff_o, diff3_o, sdiff_o):
|
|
New files quote.c, quote.o.
|
|
|
|
* diff.h (function_regexp, ignore_regexp): Replace lists of compiled
|
|
regexps with these single compiled regexps. All users changed.
|
|
(regexp_list,function_regexp_list,ignore_regexp_list): Move to diff.c.
|
|
* diff.c (add_regexp): Build one big regexp instead of a regexp list.
|
|
(summarize_regexp_list): New function.
|
|
(regexp_list): Redesigned struct; moved here from diff.h.
|
|
(function_regexp_list, ignore_regexp_list): Likewise, for vars.
|
|
|
|
* context.c (find_function): Simplify interface:
|
|
don't return size of function line. All callers changed.
|
|
(print_context_script, find_function): INT_MAX now denotes no
|
|
previous match; this is simpler than `- file->prefix_lines - 1'.
|
|
|
|
* diff3.c (read_diff): Quote arguments with system_quote_arg.
|
|
* sdiff.c (main): Use system_quote_arg to compute command.
|
|
* diff.c (option_list): Quote options with system_quote_arg.
|
|
* util.c (begin_output): Use system_quote_arg to compute command.
|
|
|
|
* util.c (pr_program): New var.
|
|
(analyze_hunk): Fix off-by-1 line length bug.
|
|
Match with one big regexp instead of a list of regexps.
|
|
Use new `trivial_length' local instead of comparing first byte to `\n'.
|
|
Help the compiler with linbuf local vars.
|
|
|
|
* system.h (system_quote_arg):
|
|
New function; replaces SYSTEM_QUOTE_ARG macro.
|
|
|
|
Sat Oct 15 20:09:12 1994 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* system.h (_tolower): Define if not already defined.
|
|
* io.c (find_and_hash_each_line): Change tolower to _tolower; this
|
|
speeds up diff -i considerably on some hosts (e.g. Solaris 2.3).
|
|
* util.c (line_cmp): Likewise.
|
|
* ifdef.c (groups_letter_value): Likewise.
|
|
|
|
* diff.h (ignore_some_line_changes): Remove. All users changed.
|
|
* io.c (find_and_hash_each_line): Don't invoke line_cmp if the length
|
|
differs and -i is in force. Don't assume ISSPACE ('\n') is nonzero.
|
|
|
|
* diff.h (xmalloc_exit_failure): New variable.
|
|
All `main' programs set this variable at the start.
|
|
xmalloc and xrealloc are now taken from GNU library.
|
|
* cmp.c (main): Align buffer size to word size; some mallocs care.
|
|
* io.c (slurp): Likewise.
|
|
* diff.c (add_exclude): Can now assume xrealloc (0, ...) works.
|
|
(add_regexp): Free storage on failure. Allocate storage all at one go.
|
|
* system.h (malloc, realloc): Remove unused declarations.
|
|
* diff3.c, sdiff.c, util.c (xmalloc, xrealloc): Remove.
|
|
* sdiff.c (diffarg): Take advantage of cleaner xrealloc semantics.
|
|
|
|
* io.c (ROL): Use sizeof to make it more generic.
|
|
|
|
* Makefile.in (common_o): New variable.
|
|
Link error.o and xmalloc.o into all programs.
|
|
(check): Depend on $(PROGRAMS).
|
|
|
|
* diff.h (error): Change to GNU library standard. All callers changed.
|
|
* diff3.c (main): Use strerror (EISDIR) instead of "Is a directory".
|
|
(fatal, perror_with_exit): Use `error'.
|
|
* util.c (perror_with_name, fatal): Use GNU `error'.
|
|
(error): Remove.
|
|
|
|
Wed Oct 12 17:04:40 1994 David J. MacKenzie (djm@duality.gnu.ai.mit.edu)
|
|
|
|
* cmp.c (main): Set xmalloc_exit_failure.
|
|
|
|
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.
|
|
(process_diff): Pacify `gcc -Wall' with a useless assignment.
|
|
(read_diff): pid is of type pid_t, not int. Use waitpid if available.
|
|
(output_diff3): Simplify test for `\ No newline at end of file' message.
|
|
|
|
* dir.c (struct dirdata): Rename `files' to `names' to avoid confusion
|
|
with external struct file_data `files'.
|
|
|
|
* io.c (line_cmp): Move declaration to diff.h.
|
|
(textchar): Remove.
|
|
(find_and_hash_each_line): Use locale's definition of white space
|
|
instead of using one hardwired defn for -b and another for -w.
|
|
|
|
* normal.c (change_letter, print_number_range, find_change):
|
|
Move decls to diff.h.
|
|
(print_normal_hunk): Now static.
|
|
|
|
* sdiff.c (SEEK_SET): Move to system.h.
|
|
(version_string): Now char[], not char*.
|
|
(private_tempnam): Remove hardcoded limit on temporary file names.
|
|
(exiterr, perror_fatal, main): When exiting because of a signal,
|
|
exit with that signal's status.
|
|
(lf_refill, main, skip_white, edit, interact): Check for signal.
|
|
(ignore_SIGINT): Renamed from `ignore_signals'.
|
|
(NUM_SIGS, initial_handler): New macros.
|
|
(initial_action, signal_received, sigs_trapped): New vars.
|
|
(catchsig, trapsigs): Use sigaction if possible, since this closes the
|
|
windows of vulnerability that `signal' has. Use RETSIGTYPE not void.
|
|
When a signal comes in, just set a global variable; this is safer.
|
|
(checksigs, untrapsig): New functions.
|
|
(edit): Pacify `gcc -Wall' with a useless assignment.
|
|
Respond to each empty line with help, not to every other empty line.
|
|
(private_tempnam): Remove hardcoded limit on temporary file name length.
|
|
Don't assume sizeof (pid_t) <= sizeof (int).
|
|
|
|
* system.h: (S_IXOTH, S_IXGRP, S_IXUSR,
|
|
SEEK_SET, SEEK_CUR,
|
|
STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
|
|
New macros, if system doesn't define them.
|
|
(volatile): Don't define if already defined.
|
|
(PARAMS): New macro.
|
|
(VOID): Move here from diff.h.
|
|
|
|
* util.c (struct msg, msg_chain, msg_chain_end): Moved here from diff.h.
|
|
(message5): New function.
|
|
(pr_pid): New var.
|
|
(begin_output): Allocate `name' more precisely.
|
|
Put child pid into pr_pid, so that we can wait for it later.
|
|
Don't check execl's return value, since any return must be an error.
|
|
(finish_output): Detect and report output errors.
|
|
Use waitpid if available. Check pr exit status.
|
|
(line_cmp): Use locale's definition of white space
|
|
instead of using one hardwired defn for -b and another for -w.
|
|
(analyze_cmp): Avoid double negation with `! nontrivial'.
|
|
Pacify `gcc -Wall' be rewriting for-loop into do-while-loop.
|
|
(dir_file_pathname): New function.
|
|
|
|
* version.c (version_string): Now char[], not char*.
|
|
|
|
Thu Jul 29 20:44:30 1993 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
|
|
|
|
* Makefile.in (config.status): Run config.status --recheck, not
|
|
configure, to get the right args passed.
|
|
|
|
Thu Jul 22 10:46:30 1993 Paul Eggert (eggert@twinsun.com)
|
|
|
|
* Makefile.in (dist): Replace `if [ ! TEST ]; then ACTION; fi'
|
|
with `[ TEST ] || ACTION || exit' so that the containing for-loop exits
|
|
with proper status for `make'.
|
|
|
|
Thu Jul 8 19:47:22 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
|
|
|
|
* Makefile.in (installdirs): New target.
|
|
(install): Use it.
|
|
(Makefile, config.status, configure): New targets.
|
|
|
|
Sat Jun 5 23:10:40 1993 Paul Eggert (eggert@twinsun.com)
|
|
|
|
* Makefile.in (dist): Switch from .z to .gz.
|
|
|
|
Wed May 26 17:16:02 1993 Paul Eggert (eggert@twinsun.com)
|
|
|
|
* diff.c (main): Cast args to compare_files, for traditional C.
|
|
* side.c (print_sdiff_common_lines, print_sdiff_hunk): Likewise.
|
|
* analyze.c, diff3.c, sdiff.c, util.c: Don't assume NULL is defined
|
|
properly.
|
|
|
|
Tue May 25 14:54:05 1993 Paul Eggert (eggert@twinsun.com)
|
|
|
|
* analyze.c (diff_2_files): With -q, do not report that files differ
|
|
if all their differences are ignored.
|
|
(briefly_report): New function.
|
|
* diff.h (ignore_some_changes): New variable.
|
|
* diff.c (compare_files): Don't use the file size shortcut if
|
|
ignore_some_changes is nonzero, since the file size may differ
|
|
merely due to ignored changes.
|
|
(main): Set ignore_some_changes if we might ignore some changes.
|
|
Remove unsystematic assignment of 0 to static vars.
|
|
* io.c (read_files): New argument PRETEND_BINARY says whether to
|
|
pretend the files are binary.
|
|
|
|
* diff3.c (tab_align_flag): New variable, for new -T option.
|
|
(main, usage, output_diff3): Add support for -T.
|
|
|
|
Sun May 23 15:25:29 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
|
|
|
|
* dir.c (dir_sort): Always init `data' to avoid GCC warning.
|
|
|
|
Sat May 22 15:35:02 1993 Paul Eggert (eggert@twinsun.com)
|
|
|
|
* Makefile.in (dist): Change name of package from diff to diffutils.
|
|
Don't bother to build .Z dist; .z suffices.
|
|
|
|
Fri May 21 16:35:22 1993 Paul Eggert (eggert@twinsun.com)
|
|
|
|
* diff.c: Include "system.h" to get memchr declaration.
|
|
* system.h (memchr): Declare if !HAVE_MEMCHR, not if
|
|
!HAVE_MEMCHR && !STDC_HEADERS.
|
|
|
|
Wed May 19 17:43:55 1993 Paul Eggert (eggert@twinsun.com)
|
|
|
|
* Version 2.3 released.
|
|
|
|
Fri Apr 23 17:18:44 1993 Paul Eggert (eggert@twinsun.com)
|
|
|
|
* io.c (find_identical_ends): Do not discard the last HORIZON_LINES
|
|
lines of the prefix, or the first HORIZON_LINES lines of the suffix.
|
|
* diff.c (main, longopts, usage): Add --horizon-lines option.
|
|
* diff3.c (main, process_diff, read_diff): Invoke second diff
|
|
with --horizon-lines determined by the first diff.
|
|
* diff.h, diff3.c (horizon_lines): New variable.
|
|
|
|
Mon Mar 22 16:16:00 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
* system.h [HAVE_STRING_H || STDC_HEADERS] (bcopy, bcmp, bzero):
|
|
Don't define if already defined.
|
|
|
|
Fri Mar 5 00:20:16 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
|
|
|
|
* diff.c (main): Use NULL in arg to compare_files.
|
|
|
|
Thu Feb 25 15:26:01 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
* system.h: Declare memchr #if !HAVE_MEMCHR && !STDC_HEADERS,
|
|
not #if !HAVE_MEMCHR || !STDC_HEADERS.
|
|
|
|
Mon Feb 22 15:04:46 1993 Richard Stallman (rms@geech.gnu.ai.mit.edu)
|
|
|
|
* io.c (find_identical_ends): Move complicated arg outside GUESS_LINES.
|
|
|
|
Mon Feb 22 12:56:12 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
* Makefile.in (.c.o): Add -I$(srcdir); put $(CFLAGS) last before $<.
|
|
|
|
Sat Feb 20 19:18:56 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
|
|
|
|
* io.c (binary_file_p): Return zero if file size is zero.
|
|
|
|
Fri Feb 19 17:31:32 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
* Version 2.2 released.
|
|
|
|
* system.h [HAVE_STRING_H || STDC_HEADERS] (index, rindex): Don't
|
|
define if already defined.
|
|
|
|
Wed Feb 17 17:08:00 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
* Makefile.in (srcs): Remove limits.h.
|
|
|
|
Thu Feb 11 03:36:00 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
|
|
|
|
* diff3.c (xmalloc): No longer static.
|
|
|
|
* sdiff.c (edit): Allocate buf dynamically.
|
|
|
|
* dir.c (dir_sort): Handle VOID_CLOSEDIR.
|
|
|
|
Wed Feb 10 00:15:54 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
|
|
|
|
* limits.h: File deleted (should never have been there).
|
|
|
|
Tue Feb 9 03:53:22 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
|
|
|
|
* Makefile.in (.c.o, diff3.o, sdiff.o): Put $(CFLAGS) last.
|
|
|
|
Wed Feb 3 15:42:10 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
|
|
|
|
* system.h: Don't #define const; let configure do it.
|
|
|
|
Mon Feb 1 02:13:23 1993 Paul Eggert (eggert@hal.gnu.ai.mit.edu)
|
|
|
|
* Version 2.1 released.
|
|
|
|
* Makefile.in (dist): Survive ln failures. Create .tar.z
|
|
(gzipped tar) file as well as .tar.Z (compressed tar) file.
|
|
|
|
Fri Jan 8 22:31:41 1993 Paul Eggert (eggert@twinsun.com)
|
|
|
|
* side.c (print_half_line): When the input position falls
|
|
outside the column, do not output a tab even if the output
|
|
position still falls within the column.
|
|
|
|
Mon Dec 21 13:54:36 1992 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
|
|
|
|
* Makefile.in (.c.o): Add -I.
|
|
|
|
Fri Dec 18 14:08:20 1992 Paul Eggert (eggert@twinsun.com)
|
|
|
|
* configure.in: Add HAVE_FCNTL_H, since system.h uses it.
|
|
|
|
Tue Nov 24 10:06:48 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
|
|
|
|
* Makefile.in: Note change from USG to HAVE_STRING_H.
|
|
|
|
Mon Nov 23 18:44:00 1992 Paul Eggert (eggert@twinsun.com)
|
|
|
|
* io.c (find_and_hash_each_line): When running out of lines,
|
|
double the number of allocated lines, instead of just doubling
|
|
that number minus the prefix lines. This is more likely to
|
|
avoid the need for further memory allocation.
|
|
|
|
Wed Nov 18 20:40:28 1992 Paul Eggert (eggert@twinsun.com)
|
|
|
|
* dir.c (dir_sort): Plug memory leak: space holding directory
|
|
contents was not being reclaimed. Get directory size from
|
|
struct file_data for initial guess at memory needed.
|
|
Detect errors when reading and closing directory.
|
|
(diff_dirs): Pass struct file_data to dir_sort. Finish plugging leak.
|
|
* diff.c (compare_files): Pass struct file_data to diff_dirs.
|
|
|
|
* io.c (find_and_hash_each_line): Don't assume alloc_lines is
|
|
nonzero when allocating more lines.
|
|
|
|
Thu Nov 12 16:02:18 1992 Paul Eggert (eggert@twinsun.com)
|
|
|
|
* diff.c (main): Add `-U lines' as an alias for `--unified=lines'.
|
|
|
|
* diff3.c (usage): Add third --label option in example.
|
|
|
|
* util.c (analyze_hunk): Fix test for ignoring blank lines.
|
|
|
|
* configure.in, system.h: Avoid USG; use HAVE_TIME_H etc. instead.
|
|
|
|
Mon Nov 9 05:13:25 1992 Paul Eggert (eggert@twinsun.com)
|
|
|
|
* diff3.c (main, usage): Add -A or --show-all.
|
|
-m now defaults to -A, not -E. Allow up to three -L options.
|
|
(output_diff3_edscript, output_diff3_merge):
|
|
Remove spurious differences between these two functions.
|
|
Output ||||||| for -A. Distinguish between conflicts and overlaps.
|
|
(dotlines, undotlines): New functions that output `Ns', not `N,Ns'.
|
|
(output_diff3_edscript, output_diff3_merge): Use them.
|
|
|
|
* io.c (find_identical_ends): shift_boundaries needs an extra
|
|
identical line at the end, not at the beginning.
|
|
|
|
* sdiff.c (edit): execvp wants char **, not const char **.
|
|
|
|
Mon Oct 19 04:39:32 1992 Paul Eggert (eggert@twinsun.com)
|
|
|
|
* context.c (print_context_script, find_function): Context
|
|
line numbers start with - file->prefix_lines, not 0.
|
|
|
|
* io.c (binary_file_p): Undo last change; it was a library bug.
|
|
|
|
Sun Oct 18 00:17:29 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
|
|
|
|
* io.c (binary_file_p): Consider empty file as non-binary.
|
|
|
|
Mon Oct 5 05:18:46 1992 Paul Eggert (eggert@twinsun.com)
|
|
|
|
* diff3.c (main, make_3way_diff, using_to_diff3_block): Don't
|
|
report bogus differences (for one of -mexEX3) just because the
|
|
file0-file1 diffs don't line up with the file0-file2 diffs.
|
|
(This is entirely possible since we don't use diff's -n
|
|
option.) Always compare file1 to file2, so that diff3 sees
|
|
those changes directly. Typically, file2 is now the common
|
|
file, not file0.
|
|
(output_diff3_merge): The input file is file 0, not the common file.
|
|
|
|
(FC, FO): New macros; they replace FILE1, FILE0 for two-way diffs,
|
|
to distinguish them from three-way diffs.
|
|
|
|
* diff3.c (using_to_diff3_block): Fold repeated code into loops.
|
|
|
|
* diff3.c (make_3way_diff, process_diff): Have the *_end
|
|
variable point to the next field to be changed, not to the last
|
|
object allocated; this saves an if-then-else.
|
|
|
|
* diff3.c (process_diff): Use D_NUMLINES instead of its definiens.
|
|
|
|
* diff3.c: Make fns and vars static unless they must be external.
|
|
|
|
Wed Sep 30 09:21:59 1992 Paul Eggert (eggert@twinsun.com)
|
|
|
|
* analyze.c (diff_2_files): OUTPUT_IFDEF is now robust.
|
|
* diff.h (ROBUST_OUTPUT_STYLE): Likewise.
|
|
(default_line_format): Remove. All refs removed.
|
|
|
|
* ifdef.c (print_ifdef_lines): Add %L. Optimize %l\n even if user
|
|
specified it, as opposed to its being the default.
|
|
|
|
Tue Sep 29 19:01:28 1992 Paul Eggert (eggert@twinsun.com)
|
|
|
|
* diff.c (longopts, main): --{old,new,unchanged,changed}--group-format
|
|
are new options, so that -D is no longer overloaded. Set
|
|
no_diff_means_no_output if --unchanged-{line,group}-format allows it.
|
|
* diff.h (enum line_class): New type.
|
|
(group_format, line_format): Use it to regularize option flags.
|
|
All refs changed.
|
|
|
|
* ifdef.c (format_ifdef, print_ifdef_lines): %n is no longer a format.
|
|
|
|
Mon Sep 28 04:51:42 1992 Paul Eggert (eggert@twinsun.com)
|
|
|
|
* diff.c (main, usage): Replace --line-prefix with the more general
|
|
--{old,new,unchanged}-line-format options.
|
|
* ifdef.c (format_ifdef, print_ifdef_lines): Likewise.
|
|
* diff.h (line_format): Renamed from line_prefix. All refs changed.
|
|
* diff.h, ifdef.c (default_line_format): New variable.
|
|
* util.c (output_1_line): New function.
|
|
(print_1_line): Use it.
|
|
|
|
* ifdef.c: (format_ifdef, print_ifdef_lines): Add %0 format.
|
|
|
|
Sun Sep 27 05:38:13 1992 Paul Eggert (eggert@twinsun.com)
|
|
|
|
* diff.c (main): Add -E or --line-prefix option. Add -D'=xxx'
|
|
for common lines. Change default -D< format from copy of -D>
|
|
format to to -D<%<; similarly for default -D> format.
|
|
* diff.h (common_format, line_prefix): New variables.
|
|
* ifdef.c (format_ifdef): New function.
|
|
(print_ifdef_script, print_ifdef_hunk, print_ifdef_lines):
|
|
Use it for -D'=xxx', -E.
|
|
|
|
* context.c (find_hunk): Glue together two non-ignorable changes that
|
|
are exactly CONTEXT * 2 lines apart. This shortens output, removes
|
|
a behavioral discontinuity at CONTEXT = 0, and is more compatible
|
|
with traditional diff.
|
|
|
|
* io.c (find_identical_ends): Slurp stdin at most once.
|
|
|
|
* util.c (print_line_line): line_flag is const char *.
|
|
|
|
Thu Sep 24 15:18:07 1992 Paul Eggert (eggert@twinsun.com)
|
|
|
|
* ifdef.c (print_ifdef_lines): New function, which fwrites a sequence
|
|
of lines all at once for speed.
|
|
(print_ifdef_script, print_ifdef_hunk): Use it.
|
|
|
|
Thu Sep 24 05:54:14 1992 Paul Eggert (eggert@twinsun.com)
|
|
|
|
* diff.c (main): Support new -D options for if-then-else formats.
|
|
(specify_format): New function.
|
|
* diff.h (ifndef_format, ifdef_format, ifnelse_format): New variables.
|
|
* ifdef.c (print_ifdef_hunk): Use the new variables instead of
|
|
a hardwired format.
|
|
|
|
* side.c (print_1sdiff_line): Represent incomplete lines on output.
|
|
(print_sdiff_script): Likewise. Don't print 'q' at end,
|
|
since that doesn't work with incomplete lines.
|
|
* sdiff.c (interact): Don't assume diff output ends with 'q' line.
|
|
* diff.h (ROBUST_OUTPUT_STYLE): OUTPUT_SDIFF is now robust.
|
|
|
|
* sdiff.c (lf_copy, lf_snarf): Use memchr instead of index,
|
|
to avoid dumping core when files contain null characters.
|
|
(memchr): New function (if memchr is missing).
|
|
|
|
* io.c (sip): New arg SKIP_TEST to skip test for binary file.
|
|
(read_files): Don't bother testing second file if first is binary.
|
|
|
|
Thu Sep 17 21:17:49 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
|
|
|
|
* system.h [!USG && !_POSIX_VERSION]: Protect from conflicting
|
|
prototype for wait in sys/wait.h.
|
|
|
|
Wed Sep 16 12:32:18 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
|
|
|
|
* Makefile.in: Include binprefix in -DDIFF_PROGRAM.
|
|
|
|
Tue Sep 15 14:27:25 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
|
|
|
|
* Version 2.0.
|
|
|
|
Sat Sep 12 01:31:19 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
|
|
|
|
* util.c, diff.h, system.h [!HAVE_MEMCHR]: Don't use void *
|
|
and const when declaring memchr replacement. Declare memchr
|
|
if !STDC_HEADERS && !USG.
|
|
|
|
Thu Sep 10 15:17:32 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
|
|
|
|
* Makefile.in (uninstall): New target.
|
|
|
|
* diff.c (excluded_filename): Use fnmatch, not wildmat.
|
|
(usage): Document -x, -X, --exclude, --exclude-from.
|
|
Makefile.in: Use fnmatch.c, not wildmat.c.
|
|
|
|
Sun Sep 6 23:46:25 1992 Paul Eggert (eggert@twinsun.com)
|
|
|
|
* configure.in: Add HAVE_MEMCHR.
|
|
* diff.h, util.c: Use it instead of MEMCHR_MISSING.
|
|
|
|
Sun Sep 6 07:25:49 1992 Paul Eggert (eggert@twinsun.com)
|
|
|
|
* diff.h: (struct line_def): Replace this 3-word struct with char *.
|
|
This uses less memory, particularly for large files with short lines.
|
|
(struct file_data): New member linbuf_base counts number of lines
|
|
in common prefix that are not recorded in linbuf;
|
|
this uses less memory if files are identical or differ only at end.
|
|
New member buffered_lines counts possibly differing lines.
|
|
New member valid_lines counts valid data.
|
|
New member alloc_lines - linbuf_base replaces old linbufsize.
|
|
linbuf[0] now always points at first differing line.
|
|
Remove unused members ltran, suffix_lines.
|
|
Add const where appropriate.
|
|
(Is_space): New macro, for consistent definition of `white space'.
|
|
(excluded_filename, memchr, sip, slurp): New declarations.
|
|
* ed.c (print_ed_hunk): Adjust to diff.h's struct changes.
|
|
* context.c (pr_context_hunk): Likewise.
|
|
* ifdef.c (print_ifdef_script): Likewise.
|
|
* side.c (print_sdiff_script, print_half_line): Likewise.
|
|
* util.c (analyze_hunk, line_cmp, print_1_line): Likewise.
|
|
|
|
* analyze.c (shift_boundaries): Remove unneeded variable `end' and
|
|
unnecessary comparisons of `preceding' and `other_preceding' against 0.
|
|
(diff_2_files): When comparing files byte-by-byte for equality,
|
|
don't slurp them all in at once; just compare them a buffer at a time.
|
|
This can win big if they differ early on.
|
|
Move some code to compare_files to enable this change.
|
|
Use only one buffer for stdin with `diff - -'.
|
|
(discard_confusing_lines, diff_2_files): Coalesce malloc/free calls.
|
|
(build_script): Remove obsolete OUTPUT_RCS code.
|
|
|
|
* diff.c (add_exclude, add_exclude_file, excluded_filename): New fns.
|
|
(main): Use them for the new --exclude and --exclude-from options.
|
|
(compare_files): Don't open a file unless it must be read.
|
|
Treat `diff file file' and `diff file dir' similarly.
|
|
Move some code here from diff_2_files to enable this.
|
|
Simplify file vs dir warning.
|
|
|
|
* dir.c (dir_sort): Support new --exclude* options.
|
|
|
|
* io.c (struct equivclass): Put hash code and line length here instead
|
|
of struct line_def, so that they can be shared.
|
|
(find_and_hash_each_line): Compute equivalence class as we go,
|
|
instead of doing it in a separate pass; this thrashes memory less.
|
|
Make buckets realloc-able, since we can't preallocate them.
|
|
Record one more line start than there are lines, so that we can compute
|
|
any line's length by subtracting its start from the next line's,
|
|
instead of storing the length explicitly. This saves memory.
|
|
Move prefix-handling code to find_identical_ends;
|
|
this wins with large prefixes.
|
|
Use Is_space, not is_space, for consistent treatment of white space.
|
|
(prepare_text_end): New function.
|
|
(find_identical_ends): Move slurping here, so it's only done when
|
|
needed. Work even if the buffers are the same (because of `diff - -').
|
|
Compare prefixes a word at a time for speed.
|
|
(find_equiv_class): Delete; now done by find_and_hash_each_line.
|
|
(read_files): Don't slurp unless needed.
|
|
find_equiv_class's work is now folded into find_and_hash_each_line.
|
|
Don't copy stdin buffer if `diff - -'.
|
|
Check for running out of primes.
|
|
(sip, slurp): Split first part of `slurp' into another function `sip'.
|
|
`sip' sets things up and perhaps reads the first ST_BLKSIZE buffer to
|
|
see whether the file is binary; `slurp' now just finishes the job.
|
|
This lets diff_2_files compare binary files lazily.
|
|
Allocate a one-word sentinel to allow word-at-a-time prefix comparison.
|
|
Count prefix lines only if needed, only count the first file's prefix.
|
|
Don't bother to count suffix lines; it's never needed.
|
|
Set up linbuf[0] to point at first differing line.
|
|
(binary_file_p): Change test for binary files:
|
|
if it has a null byte in its first buffer, it's binary.
|
|
(primes): Add more primes.
|
|
|
|
* util.c (line_cmp): Use bcmp for speed.
|
|
Use Is_space, not is_space, for consistent treatment of white space.
|
|
(translate_line_number): Internal line numbers now count from 0
|
|
starting after the prefix.
|
|
(memchr): New function (if memchr is missing).
|
|
|
|
* Makefile.in: Document HAVE_ST_BLKSIZE. Link with wildmat.o.
|
|
* system.h (STAT_BLOCKSIZE): New macro based on HAVE_ST_BLKSIZE.
|
|
* configure.in: Add AC_ST_BLKSIZE.
|
|
* wildmat.c: New file.
|
|
|
|
Fri Sep 4 01:28:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
|
|
|
|
* sdiff.c (xmalloc): Renamed from ck_malloc. Callers changed.
|
|
|
|
Thu Sep 3 15:28:59 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
|
|
|
|
* diff.h: Don't declare free, index, rindex.
|
|
|
|
Tue Aug 11 22:18:06 1992 John Gilmore (gnu at cygnus.com)
|
|
|
|
* io.c (binary_file_p): Use heuristic to avoid declaring info
|
|
files as binary files. Allow about 1.5% non-printing
|
|
characters (in info's case, ^_).
|
|
|
|
Tue Jul 7 01:09:26 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
|
|
|
|
* diff.h: Replace function_regexp and ignore_regexp with lists
|
|
of compiled regexps.
|
|
* analyze.c, context.c, util.c: Test whether the lists, not
|
|
the old variables, are empty.
|
|
* util.c (analyze_hunk), context.c (find_function): Compare
|
|
lines with the lists of regexps.
|
|
* diff.c (add_regexp): New function.
|
|
(main): Use it.
|
|
|
|
* diff3: Add -v --version option.
|
|
* Makefile.in: Link with version.o.
|
|
|
|
* system.h: New file.
|
|
* diff.h, cmp.c, diff3.c, sdiff.c: Use it.
|
|
|
|
* diff.h, diff3.c: Include string.h or strings.h, as appropriate.
|
|
Declare malloc and realloc.
|
|
|
|
* diff3.c (perror_with_exit): Include program name in message.
|
|
|
|
* diff3.c: Lowercase error messages for GNU standards.
|
|
|
|
* sdiff.c [USG || STDC_HEADERS]: Define bcopy in terms of memcpy.
|
|
|
|
* sdiff.c: Use the version number from version.c.
|
|
* Makefile.in: Link with version.o.
|
|
|
|
* cmp.c error.c xmalloc.c: New files from textutils.
|
|
* Makefile.in: Add rules for them.
|
|
|
|
* diff.c (longopts): --unidirectional-new-file is like -P, not -N.
|
|
Rename --file-label to --label (leave old name, but undocumented).
|
|
|
|
* sdiff.c, diff.c (usage): Condense messages and fix some errors.
|
|
|
|
* diff3.c (main, usage): Add long-named options.
|
|
|
|
Fri Jul 3 14:31:18 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
|
|
|
|
* diff.h, diff3.c, sdiff.c: Change FOO_MISSING macros to HAVE_FOO.
|
|
|
|
Thu Jun 25 16:59:47 1992 David J. MacKenzie (djm@apple-gunkies.gnu.ai.mit.edu)
|
|
|
|
* diff.c: --reversed-ed -> --forward-ed.
|
|
|
|
Wed Feb 26 12:17:32 1992 Paul Eggert (eggert@yata.uucp)
|
|
|
|
* analyze.c, diff.c, diff.h, io.c: For -y, compare even if same file.
|
|
|
|
Fri Feb 14 22:46:38 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
|
|
|
|
* io.c, diff3.c, analyze.c: Add extra parentheses.
|
|
|
|
Sun Feb 9 00:22:42 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
|
|
|
|
* diff.h (unidirectional_new_file_flag): New variable.
|
|
* diff.c (main): Set that for -P.
|
|
(compare_files): Support -P, somewhat like -N.
|
|
(longopts): Support long name for -P.
|
|
|
|
Sat Jan 4 20:10:34 1992 Paul Eggert (eggert at yata.uucp)
|
|
|
|
* Makefile.in: Distribute diff.info-* too.
|
|
|
|
* README, sdiff.c: version number now matches version.c.
|
|
|
|
* configure: Fix and document vfork test.
|
|
|
|
* ifdef.c: Don't dump core if `diff -Dx f f'.
|
|
|
|
Mon Dec 23 23:36:08 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
|
|
|
|
* diff.h, diff3.c, sdiff.c: Change POSIX ifdefs to
|
|
HAVE_UNISTD_H and _POSIX_VERSION.
|
|
|
|
Wed Dec 18 17:00:31 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
|
|
|
|
* Makefile.in (srcs): Add sdiff.c.
|
|
(tapefiles): Add diff.texi and diff.info.
|
|
|
|
* diff.h, diff3.c, sdiff.c: Use HAVE_VFORK_H instead of
|
|
VFORK_HEADER and VFORK_WORKS.
|
|
|
|
Tue Dec 17 00:02:59 1991 Paul Eggert (eggert at yata.uucp)
|
|
|
|
* Makefile.in (all): Add diff.info, sdiff.
|
|
|
|
* configure, diff.c, sdiff.c:
|
|
Prefix long options with `--', not `+'.
|
|
* diff.c: Regularize option names.
|
|
|
|
* configure: Fix check for vfork.
|
|
* configure, diff.c, diff.h, diff3.c, sdiff.c:
|
|
Use Posix definitions when possible.
|
|
|
|
* context.c: Align context with tab if -T is given. Tune.
|
|
* diff.c, diff.h, side.c: Calculate column widths so that tabs line up.
|
|
* io.c: Add distinction between white space and printing chars.
|
|
* side.c: Don't expand tabs unless -t is given.
|
|
* side.c, util.c: Tab expansion now knows about '\b', '\f', '\r', '\v'.
|
|
* util.c: -w skips all white space. Remove lint. Tune.
|
|
|
|
* sdiff.c: Support many more diff options, e.g. `-', `sdiff file dir'.
|
|
Ignore interrupts while the subsidiary editor is in control.
|
|
Clean up temporary file and kill subsidiary diff if interrupted.
|
|
Ensure subsidiary diff doesn't ignore SIGPIPE.
|
|
Don't get confused while waiting for two subprocesses.
|
|
Don't let buffers overflow. Check for I/O errors.
|
|
Convert to GNU style. Tune.
|
|
|
|
* sdiff.c, util.c: Don't lose errno.
|
|
Don't confuse sdiff with messages like `Binary files differ'.
|
|
* sdiff.c, side.c: Don't assume that common lines are identical.
|
|
Simplify --sdiff-merge-assist format.
|
|
|
|
Mon Sep 16 16:42:01 1991 Tom Lord (lord at churchy.gnu.ai.mit.edu)
|
|
|
|
* Makefile.in, sdiff.c: introduced sdiff front end to diff.
|
|
|
|
* Makefile.in, analyze.c, diff.c, diff.h, io.c, side.c: Added
|
|
sdiff-style output format to diff.
|
|
|
|
Mon Aug 26 16:44:55 1991 David J. MacKenzie (djm at pogo.gnu.ai.mit.edu)
|
|
|
|
* Makefile.in, configure: Only put $< in Makefile if using VPATH,
|
|
because older makes don't understand it.
|
|
|
|
Fri Aug 2 12:22:30 1991 David J. MacKenzie (djm at apple-gunkies)
|
|
|
|
* configure: Create config.status. Remove it and Makefile if
|
|
interrupted while creating them.
|
|
|
|
Thu Aug 1 22:24:31 1991 David J. MacKenzie (djm at apple-gunkies)
|
|
|
|
* configure: Check for +srcdir etc. arg and look for
|
|
Makefile.in in that directory. Set VPATH if srcdir is not `.'.
|
|
* Makefile.in: Get rid of $(archpfx).
|
|
|
|
Tue Jul 30 21:28:44 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
|
|
|
|
* Makefile.in (prefix): Renamed from DESTDIR.
|
|
|
|
Wed Jul 24 23:08:56 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
|
|
|
|
* diff.h, diff3.c: Rearrange ifdefs to use POSIX,
|
|
STDC_HEADERS, VFORK_MISSING, DIRENT. This way it works on
|
|
more systems that aren't pure USG or BSD.
|
|
Don't not define const if __GNUC__ is defined -- that would
|
|
break with -traditional.
|
|
* configure: Check for those features.
|
|
|
|
Wed Jul 10 01:39:23 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
|
|
|
|
* configure, Makefile.in: $(INSTALLPROG) -> $(INSTALL).
|
|
|
|
Sat Jul 6 16:39:04 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
|
|
|
|
* Replace Makefile with configure and Makefile.in.
|
|
Update README with current compilation instructions.
|
|
|
|
Sat Jul 6 14:03:29 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
|
|
|
|
* util.c (setup_output): Just save the args for later use.
|
|
(begin_output): Do the real work, with the values that were saved.
|
|
It's safe to call begin_output more than once.
|
|
Print the special headers for context format here.
|
|
* analyze.c (diff_2_files): Don't print special headers here.
|
|
* context.c (pr_context_hunk, pr_unidiff_hunk): Call begin_output.
|
|
* ed.c (print_ed_hunk, print_forward_ed_hunk, print_rcs_hunk):
|
|
* normal.c (print_normal_hunk): Likewise.
|
|
* ifdef.c (print_ifdef_hunk): Likewise.
|
|
* util.c (finish_output): Don't die if begin_output was not called.
|
|
|
|
Thu Jun 20 23:10:01 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
|
|
|
|
* Makefile: Add TAGS, distclean, and realclean targets.
|
|
Set SHELL.
|
|
|
|
Tue Apr 30 13:54:36 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
|
|
|
|
* diff.h (TRUE, FALSE): Undefine these before defining.
|
|
|
|
Thu Mar 14 18:27:27 1991 Richard Stallman (rms@mole.ai.mit.edu)
|
|
|
|
* Makefile (objs): Include $(ALLOCA).
|
|
|
|
Sat Mar 9 22:34:03 1991 Richard Stallman (rms at mole.ai.mit.edu)
|
|
|
|
* diff.h: Include regex.h.
|
|
|
|
Thu Feb 28 18:59:53 1991 Richard Stallman (rms at mole.ai.mit.edu)
|
|
|
|
* Makefile (diff3): Link with GNU getopt.
|
|
|
|
Sat Feb 23 12:49:43 1991 Richard Stallman (rms at mole.ai.mit.edu)
|
|
|
|
* io.c (find_equiv_class): Make hash code unsigned before mod.
|
|
|
|
* diff.h (files): Add EXTERN.
|
|
|
|
Sun Jan 13 21:33:01 1991 Richard Stallman (rms at mole.ai.mit.edu)
|
|
|
|
* diff.c: +print option renamed +paginate. Remove +all-text.
|
|
|
|
Mon Jan 7 06:18:01 1991 David J. MacKenzie (djm at geech.ai.mit.edu)
|
|
|
|
* Makefile (dist): New target, replacing diff.tar and
|
|
diff.tar.Z, to encode version number in distribution directory
|
|
and tar file names.
|
|
|
|
Sun Jan 6 18:42:23 1991 Michael I Bushnell (mib at geech.ai.mit.edu)
|
|
|
|
* Version 1.15 released.
|
|
|
|
* version.c: Updated from 1.15 alpha to 1.15
|
|
|
|
* context.c (print_context_number_range,
|
|
print_unidiff_number_range): Don't print N,M when N=M, print
|
|
just N instead.
|
|
|
|
* README: Updated for version 1.15.
|
|
Makefile: Updated for version 1.15.
|
|
|
|
* diff3.c (main): Don't get confused if one of the arguments
|
|
is a directory.
|
|
|
|
* diff.c (compare_files): Don't get confused if comparing
|
|
standard input to a directory; print error instead.
|
|
|
|
* analyze.c (diff_2_files), context.c (print_context_header,
|
|
print_context_script), diff.c (main), diff.h (enum
|
|
output_style): Tread unidiff as an output style in its own
|
|
right. This also generates an error when both -u and -c are
|
|
given.
|
|
|
|
* diff.c (main): Better error messages when regexps are bad.
|
|
|
|
* diff.c (compare_files): Don't assume stdin is opened.
|
|
|
|
* diff3.c (read_diff): Don't assume things about the order of
|
|
descriptor assignment and closes.
|
|
|
|
* util.c (setup_output): Don't assume things about the order
|
|
of descriptor assignment and closes.
|
|
|
|
* diff.c (compare_files): Set a flag so that closes don't
|
|
happen more than once.
|
|
|
|
* diff.c (main): Don't just flush stdout, do a close. That
|
|
way on broken systems we can still get errors.
|
|
|
|
Mon Dec 24 16:24:17 1990 Richard Stallman (rms at mole.ai.mit.edu)
|
|
|
|
* diff.c (usage): Use = for args of long options.
|
|
|
|
Mon Dec 17 18:19:20 1990 Michael I Bushnell (mib at geech.ai.mit.edu)
|
|
|
|
* context.c (print_context_label): Labels were interchanged badly.
|
|
|
|
* context.c (pr_unidiff_hunk): Changes to deal with files
|
|
ending in incomplete lines.
|
|
* util.c (print_1_line): Other half of the changes.
|
|
|
|
Mon Dec 3 14:23:55 1990 Richard Stallman (rms at mole.ai.mit.edu)
|
|
|
|
* diff.c (longopts, usage): unidiff => unified.
|
|
|
|
Wed Nov 7 17:13:08 1990 Richard Stallman (rms at mole.ai.mit.edu)
|
|
|
|
* analyze.c (diff_2_files): No warnings about newlines for -D.
|
|
|
|
* diff.c (pr_unidiff_hunk): Remove ref to output_patch_flag.
|
|
|
|
Tue Oct 23 23:19:18 1990 Richard Stallman (rms at mole.ai.mit.edu)
|
|
|
|
* diff.c (compare_files): For -D, compare even args are same file.
|
|
* analyze.c (diff_2_files): Likewise.
|
|
Also, output even if files have no differences.
|
|
|
|
* analyze.c (diff_2_files): Print missing newline messages last.
|
|
Return 2 if a newline is missing.
|
|
Print them even if files end with identical text.
|
|
|
|
Mon Oct 22 19:40:09 1990 Richard Stallman (rms at mole.ai.mit.edu)
|
|
|
|
* diff.c (usage): Return 2.
|
|
|
|
Wed Oct 10 20:54:04 1990 Richard Stallman (rms at mole.ai.mit.edu)
|
|
|
|
* diff.c (longopts): Add +new-files.
|
|
|
|
Sun Sep 23 22:49:29 1990 Richard Stallman (rms at mole.ai.mit.edu)
|
|
|
|
* context.c (print_context_script): Handle unidiff_flag.
|
|
(print_context_header): Likewise.
|
|
(print_unidiff_number_range, pr_unidiff_hunk): New functions.
|
|
* diff.c (longopts): Add element for +unidiff.
|
|
(main): Handle +unidiff and -u.
|
|
(usage): Mention them.
|
|
|
|
Wed Sep 5 16:33:22 1990 Richard Stallman (rms at mole.ai.mit.edu)
|
|
|
|
* io.c (find_and_hash_each_line): Deal with missing final newline
|
|
after buffering necessary context lines.
|
|
|
|
Sat Sep 1 16:32:32 1990 Richard Stallman (rms at mole.ai.mit.edu)
|
|
|
|
* io.c (find_identical_ends): ROBUST_OUTPUT_FORMAT test was backward.
|
|
|
|
Thu Aug 23 17:17:20 1990 Richard Stallman (rms at mole.ai.mit.edu)
|
|
|
|
* diff3.c (WIFEXITED): Undef it if WEXITSTATUS is not defined.
|
|
* context.c (find_function): Don't try to return values.
|
|
|
|
Wed Aug 22 11:54:39 1990 Richard Stallman (rms at mole.ai.mit.edu)
|
|
|
|
* diff.h (O_RDONLY): Define if not defined.
|
|
|
|
Tue Aug 21 13:49:26 1990 Richard Stallman (rms at mole.ai.mit.edu)
|
|
|
|
* Handle -L option.
|
|
* context.c (print_context_label): New function.
|
|
(print_context_header): Use that.
|
|
* diff.c (main): Recognize the option.
|
|
(usage): Updated.
|
|
* diff.h (file_label): New variable.
|
|
* diff3.c (main): Recognize -L instead of -t.
|
|
|
|
* diff3.c (main): Support -m without other option.
|
|
|
|
* diff3.c (WEXITSTATUS, WIFEXITED): Define whenever not defined.
|
|
|
|
* diff3.c (bcopy, index, rindex): Delete definitions; not used.
|
|
(D_LINENUM, D_LINELEN): Likewise.
|
|
(struct diff_block): lengths includes newlines.
|
|
(struct diff3_block): Likewise.
|
|
(always_text, merge): New variables.
|
|
(read_diff): Return address of end, not size read. Calls changed.
|
|
Pass -a to diff if given to diff3.
|
|
current_chunk_size now an int. Detect error in `pipe'.
|
|
Check for incomplete line of output here.
|
|
(scan_diff_line): Don't make scan_ptr + 2 before knowing it is valid.
|
|
No need to check validity of diff output here.
|
|
Include newline in length of line.
|
|
(main): Compute rev_mapping here. Handle -a and -m.
|
|
Error message if excess -t operands. Error for incompatible options.
|
|
Error if `-' given more than once.
|
|
Fix error storing in tag_strings.
|
|
(output_diff3): REV_MAPPING is now an arg. Call changed.
|
|
Change syntax of "missing newline" message.
|
|
Expect length of line to include newline.
|
|
(output_diff3_edscript): Return just 0 or 1.
|
|
REV_MAPPING is now an arg. Call changed.
|
|
(output_diff3_merge): New function.
|
|
(process_diff): Better error message for bad diff format.
|
|
(fatal, perror_with_exit): Return status 2.
|
|
|
|
* analyze.c (diff_2_files): Report missing newline in either
|
|
or both files, if not robust output style.
|
|
|
|
* util.c (setup_output): Detect error from pipe.
|
|
No need to close stdin.
|
|
|
|
* util.c (print_1_line): Change format of missing-newline msg.
|
|
Change if statements to switch.
|
|
|
|
* io.c (slurp): Don't mention differences in final newline if -B.
|
|
|
|
* io.c (binary_file_p): Use ISO char set as criterion, not ASCII.
|
|
|
|
* io.c (find_identical_ends): Increase value of BEG0 by 1.
|
|
Other changes in backwards scan to avoid decrementing pointers
|
|
before start of array, and set LINES properly.
|
|
|
|
* diff.h (ROBUST_OUTPUT_STYLE): New macro.
|
|
* io.c (find_identical_ends, find_and_hash_each_line): Use that macro.
|
|
|
|
* diff.h (dup2): Don't define if XENIX.
|
|
|
|
* diff.c (main): Check for write error at end.
|
|
|
|
* context.c (find_function): Don't return a value.
|
|
Use argument FILE rather than global files.
|
|
|
|
* analyze.c: Add external function declarations.
|
|
* analyze.c (build_script): Turn off explicit check for final newline.
|
|
|
|
* analyze.c (discard_confusing_lines): Make integers unsigned.
|
|
|
|
Tue Jul 31 21:37:16 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* io.c (find_and_hash_each_line): Correct the criterion
|
|
for leaving out the newline from the end of the line.
|
|
|
|
Tue May 29 21:28:16 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* dir.c (diff_dirs): Free things only if nonzero.
|
|
|
|
Mon Apr 16 18:31:05 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* diff.h (NDIR_IN_SYS): New macro controls location of ndir.h.
|
|
|
|
* diff3.c (xmalloc, xrealloc): Don't die if size == 0 returns 0.
|
|
|
|
Sun Mar 25 15:58:42 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* analyze.c (discard_confusing_lines):
|
|
`many' wasn't being used; use it.
|
|
Canceling provisionals near start of run must handle already
|
|
canceled provisionals.
|
|
Canceling subruns of provisionals was canceling last nonprovisional.
|
|
|
|
Sat Mar 24 14:02:51 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* analyze.c (discard_confusing_lines):
|
|
Threshold for line occurring many times scales by square root
|
|
of total lines.
|
|
Within each run, cancel any long subrun of provisionals.
|
|
Don't update `provisional' while canceling provisionals.
|
|
In big outer loop, handle provisional and nonprovisional separately.
|
|
|
|
Thu Mar 22 16:35:33 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* analyze.c (discard_confusing_lines):
|
|
The first loops to discard provisionals from ends failed to step.
|
|
In second such loops, keep discarding all consecutive provisionals.
|
|
Increase threshold for stopping discarding, and also check for
|
|
consecutive nondiscardables as separate threshold.
|
|
|
|
Fri Mar 16 00:33:08 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* diff3.c (read_diff): Pass -- as first arg to diff.
|
|
|
|
* diff3.c: Include wait.h or define equivalent macros.
|
|
(read_diff): Don't use stdio printing error in the inferior.
|
|
Remember the pid and wait for it. Report failing status.
|
|
Report failure of vfork.
|
|
|
|
Sun Mar 11 17:10:32 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* diff3.c (main): Accept -t options and pass to output_diff3_edscript.
|
|
(usage): Mention -t.
|
|
(read_diff): Use vfork.
|
|
(vfork): Don't use it on Sparc.
|
|
|
|
* diff.h (vfork): Don't use it on Sparc.
|
|
|
|
Tue Mar 6 22:37:20 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* diff3.c (dup2): Don't define on Xenix.
|
|
|
|
* Makefile: Comments for Xenix.
|
|
|
|
Thu Mar 1 17:19:23 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* analyze.c (diff_2_files): `message' requires three args.
|
|
|
|
Fri Feb 23 10:56:50 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
|
|
|
|
* diff.h, util.c, diff3.c: Change 'void *' to 'VOID *', with
|
|
VOID defined as void if __STDC__, char if not.
|
|
|
|
Sun Feb 18 20:31:58 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
|
|
|
|
* Makefile: Add rules for getopt.c, getopt1.c, getopt.h.
|
|
|
|
* getopt.c, getopt.h, getopt1.c: New files.
|
|
|
|
* main.c (main, usage): Add long options.
|
|
|
|
* analyze.c (shift_boundaries): Remove unused var 'j_end'.
|
|
|
|
Thu Feb 8 02:43:16 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu)
|
|
|
|
* GNUmakefile: include ../Makerules before Makefile.
|
|
|
|
Fri Feb 2 23:21:38 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* analyze.c (diff_2_files): If -B or -I, don't return 1
|
|
if all changes were ignored.
|
|
|
|
Wed Jan 24 20:43:57 1990 Richard Stallman (rms at albert.ai.mit.edu)
|
|
|
|
* diff3.c (fatal): Output to stderr.
|
|
|
|
Thu Jan 11 00:25:56 1990 David J. MacKenzie (djm at hobbes.ai.mit.edu)
|
|
|
|
* diff.c (usage): Mention -v.
|
|
|
|
Wed Jan 10 16:06:38 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* diff3.c (output_diff3_edscript): Return number of overlaps.
|
|
(main): If have overlaps, exit with status 1.
|
|
|
|
Sun Dec 24 10:29:20 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* io.c (find_equiv_class): Fix typo that came from changing init of B
|
|
to an assignment.
|
|
|
|
* version.c: New file.
|
|
* diff.c (main): -v prints version number.
|
|
|
|
* io.c (binary_file_p): Null char implies binary file.
|
|
|
|
Fri Nov 17 23:44:55 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* util.c (print_1_line): Fix off by 1 error.
|
|
|
|
Thu Nov 16 13:51:10 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* util.c (xcalloc): Function deleted.
|
|
|
|
* io.c (slurp): Null-terminate the buffer.
|
|
|
|
* io.c (read_files): Delete unused vars.
|
|
|
|
* io.c (find_equiv_class): Don't index by N if too low.
|
|
|
|
* dir.c (dir_sort): Delete the extra declaration of compare_names.
|
|
|
|
* diff.h: Don't declare xcalloc. Declare some other functions.
|
|
|
|
* analyze.c (shift_boundaries):
|
|
Test for END at end of range before indexing by it.
|
|
Fix misspelling of `preceding' in var names.
|
|
|
|
Sat Nov 11 14:04:16 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* diff3.c (using_to_diff3_block): Delete unused vars.
|
|
(make_3way_diff, process_diff_control, read_diff, output_diff3): Likewise.
|
|
|
|
Mon Nov 6 18:15:50 EST 1989 Jay Fenlason (hack@ai.mit.edu)
|
|
|
|
* README Fix typo.
|
|
|
|
Fri Nov 3 15:27:47 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* diff.c (usage): Mention -D.
|
|
|
|
* ifdef.c (print_ifdef_hunk): Write comments on #else and #endif.
|
|
|
|
Sun Oct 29 16:41:07 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* diff.c (compare_files): Don't fflush for identical files.
|
|
|
|
Wed Oct 25 17:57:12 1989 Randy Smith (randy at apple-gunkies.ai.mit.edu)
|
|
|
|
* diff3.c (using_to_diff3_block): When defaulting lines from
|
|
FILE0, only copy up to just under the *lowest* line mentioned
|
|
in the next diff.
|
|
|
|
* diff3.c (fatal): Add \n to error messages.
|
|
|
|
Wed Oct 25 15:05:49 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* Makefile (tapefiles): Add ChangeLog.
|
|
|
|
Tue Oct 3 00:51:17 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* diff3.c (process_diff, create_diff3_block): Init ->next field.
|
|
|
|
Fri Sep 29 08:16:45 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* util.c (line_cmp): Alter end char of line 2, not line 1.
|
|
|
|
Wed Sep 20 00:12:37 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* Makefile (diff.tar): Expect ln to fail on some files;
|
|
copy them with cp.
|
|
|
|
Mon Sep 18 02:54:29 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* Handle -D option:
|
|
* io.c (find_and_hash_each_line): Keep all lines of 1st file.
|
|
* diff.c (main): Handle -D option.
|
|
(compare_files): Reject -D if files spec'd are directories.
|
|
* analyze.c (diff_2_files): Handle OUTPUT_IFDEF case.
|
|
|
|
Fri Sep 1 20:15:50 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* diff.c (option_list): Rename arg VECTOR as OPTIONVEC.
|
|
|
|
Mon Aug 28 17:58:27 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* diff.c (compare_files): Clear entire inf[i].stat.
|
|
|
|
Wed Aug 23 17:48:47 1989 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
|
|
|
|
* io.c (find_identical_ends): Sign was backward
|
|
determining where to bound the scan for the suffix.
|
|
|
|
Wed Aug 16 12:49:16 1989 Richard Stallman (rms at hobbes.ai.mit.edu)
|
|
|
|
* analyze.c (diff_2_files): If -q, treat all files as binary.
|
|
* diff.c (main): Detect -q, record in no_details_flag.
|
|
|
|
Sun Jul 30 23:12:00 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* diff.c (usage): New function.
|
|
(main): Call it.
|
|
|
|
Wed Jul 26 02:02:19 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* diff.c (main): Make -C imply -c.
|
|
|
|
Thu Jul 20 17:57:51 1989 Chris Hanson (cph at kleph)
|
|
|
|
* io.c (find_and_hash_each_line): Bug fix in context handling,
|
|
introduced by last change.
|
|
|
|
Fri Jul 14 17:39:20 1989 Chris Hanson (cph at kleph)
|
|
|
|
* analyze.c: To make RCS work correctly on files that don't
|
|
necessarily end in newline, introduce some changes that cause
|
|
diffs to be sensitive to missing final newline. Because
|
|
non-RCS modes don't want to be affected by these changes, they
|
|
are conditional on `output_style == OUTPUT_RCS'.
|
|
(diff_2_files) [OUTPUT_RCS]: Suppress the "File X missing
|
|
newline" message.
|
|
(build_script) [OUTPUT_RCS]: Cause the last line to compare as
|
|
different if exactly one of the files is missing its final
|
|
newline.
|
|
|
|
* io.c (find_and_hash_each_line): Bug fix in
|
|
ignore_space_change mode. Change line's length to include the
|
|
newline. For OUTPUT_RCS, decrement last line's length if
|
|
there is no final newline.
|
|
(find_identical_ends) [OUTPUT_RCS]: If one of the files is
|
|
missing a final newline, make sure it's not included in either
|
|
the prefix or suffix.
|
|
|
|
* util.c (print_1_line): Change line output routine to account
|
|
for line length including the newline.
|
|
|
|
Tue Jun 27 02:35:28 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
* Makefile: Inserted $(archpfx) where appropriate.
|
|
|
|
Wed May 17 20:18:43 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* diff3.c [USG]: Include fcntl.h.
|
|
|
|
* diff.h [USG]: New compilation flags HAVE_NDIR, HAVE_DIRECT.
|
|
|
|
Wed Apr 26 15:35:57 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* dir.c (diff_dirs): Two new args, NONEX1 and NONEX2, say to pretend
|
|
nonex dirs are empty.
|
|
(dir_sort): New arg NONEX, likewise.
|
|
* diff.c (compare_files): Pass those args.
|
|
Sometimes call diff_dirs if subdir exists in just one place.
|
|
|
|
Wed Apr 12 01:10:27 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* io.c (find_identical_ends): Set END0 *after* last char
|
|
during backward scan for suffix.
|
|
|
|
Sat Apr 8 15:49:49 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu)
|
|
|
|
* diff3.c (using_to_diff3_block): Now find high marks in files 1
|
|
and 2 through mapping off of the last difference instead of the
|
|
first.
|
|
|
|
* diff3.c: Many trivial changes to spelling inside comments.
|
|
|
|
Fri Feb 24 12:38:03 1989 Randall Smith (randy at gluteus.ai.mit.edu)
|
|
|
|
* util.c, normal.c, io.c, ed.c, dir.c, diff.h, diff.c, context.c,
|
|
analyze.c, Makefile: Changed copyright header to conform with new
|
|
GNU General Public license.
|
|
* diff3.c: Changed copyright header to conform with new GNU
|
|
General Public license.
|
|
* COPYING: Made a hard link to /gp/rms/COPYING.
|
|
|
|
Fri Feb 24 10:01:58 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* io.c (slurp): Leave 2 chars space at end of buffer, not one.
|
|
(find_identical_ends): Special case if either file is empty;
|
|
don't try to make a sentinel since could crash.
|
|
|
|
Wed Feb 15 14:24:48 1989 Jay Fenlason (hack at apple-gunkies.ai.mit.edu)
|
|
|
|
* diff3.c (message) Re-wrote routine to avoid using alloca()
|
|
|
|
Wed Feb 15 06:19:14 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* io.c (find_identical_ends): Delete the variable `bytes'.
|
|
|
|
Sun Feb 12 11:50:36 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* io.c (slurp): ->bufsize is nominal amount we have room for;
|
|
add room for sentinel when calling xmalloc or xrealloc.
|
|
|
|
* io.c (find_identical_ends): Do need overrun check in finding suffix.
|
|
|
|
Fri Feb 10 01:28:15 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* diff.c (main): -C now takes arg to specify context length.
|
|
Now -p to show C function name--Damned IEEE!
|
|
Fatal error if context length spec'd twice.
|
|
|
|
* ed.c (print_ed_hunk): Now special treatment only for lines containing
|
|
precisely a dot and nothing else. Output `..', end the insert,
|
|
substitute that one line, then resume the insert if nec.
|
|
|
|
* io.c (find_and_hash_lines): When backing up over starting context,
|
|
don't move past buffer-beg.
|
|
|
|
* io.c (find_identical_ends): Use sentinels to make the loops faster.
|
|
If files are identical, skip the 2nd loop and return quickly.
|
|
(slurp): Leave 1 char extra space after each buffer.
|
|
|
|
* analyze.c (diff_2_files): Mention difference in final newlines.
|
|
|
|
Wed Jan 25 22:44:44 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* dir.c (diff_dirs): Use * when calling fcn ptr variable.
|
|
|
|
Sat Dec 17 14:12:06 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* Makefile: New vars INSTALL and LIBS used in some rules;
|
|
provide default defns plus commented-put defns for sysV.
|
|
|
|
Thu Nov 17 16:42:53 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* dir.c (dir_sort): Open-trouble not fatal; just say # files is -1.
|
|
(diff_dirs): If dir_sort does that, give up and return 2.
|
|
|
|
* diff.c (compare_files): Don't open directories.
|
|
Don't close them specially either.
|
|
Cross-propagate inf[i].dir_p sooner.
|
|
|
|
Sun Nov 13 11:19:36 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
|
|
|
|
* diff.h: Declare index, rindex.
|
|
|
|
* diff.c (compare_files): If comparing foodir with b/f,
|
|
use foodir/f, not foodir/b/f.
|
|
|
|
* diff.c (compare_files): Don't print "are identical" msg for 2 dirs.
|
|
Status now 1 if one file is a dir and the other isn't, etc.
|
|
|
|
Thu Nov 3 16:30:24 1988 Randall Smith (randy at gluteus.ai.mit.edu)
|
|
|
|
* Makefile: Added a define for diff3 to define DIFF_PROGRAM.
|
|
|
|
* util.c: Added hack to make sure that perror was not called with
|
|
a null pointer.
|
|
|
|
* diff.c: Changed S_IFDIR to S_IFMT in masking type of file bits
|
|
out.
|
|
|
|
* diff3.c: Included USG compatibility defines.
|
|
|
|
* diff.h: Moved sys/file.h into #else USG section (not needed or
|
|
wanted on System V).
|
|
|
|
* ed.c, analyze.c, context.c: Shortened names to 12 characters for
|
|
the sake of System V (too simple not to do).
|
|
|
|
|
|
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1997, 1998, 1999,
|
|
2000, 2001, 2002 Free Software Foundation, Inc.
|
|
|
|
This file is part of GNU Diffutils.
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2, or (at your option)
|
|
any later version.
|
|
|
|
This program is distributed in the hope that they will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; see the file COPYING. If not, write to
|
|
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
Boston, MA 02111-1307, USA.
|