| 1 | 2002-04-05 Paul Eggert <[email protected]>
|
|---|
| 2 |
|
|---|
| 3 | * NEWS, configure.ac (AC_INIT): Version 2.8.1.
|
|---|
| 4 |
|
|---|
| 5 | * configure.ac (AC_HEADER_STDBOOL): Add.
|
|---|
| 6 | (AC_CHECK_HEADERS): Remove stdbool.h.
|
|---|
| 7 | * m4/stdbool.m4: New file.
|
|---|
| 8 | * m4/prereq.m4 (jm_PREREQ_EXCLUDE):
|
|---|
| 9 | Use AC_HEADER_STDBOOL rather than AC_CHECK_HEADERS(stdbool.h).
|
|---|
| 10 | (jm_PREREQ_HASH): Likewise.
|
|---|
| 11 |
|
|---|
| 12 | * src/system.h (SSIZE_MAX): Define if limits.h doesn't.
|
|---|
| 13 |
|
|---|
| 14 | * src/analyze.c (diff_2_files): Assign PTRDIFF_MAX - 1 to a
|
|---|
| 15 | size_t variable, just in case there's a problem with ptrdiff_t
|
|---|
| 16 | versus size_t.
|
|---|
| 17 |
|
|---|
| 18 | * lib/cmpbuf.c (errno): Remove decl; K&R C is no longer supported.
|
|---|
| 19 | Include limits.h.
|
|---|
| 20 | (SIZE_MAX, SSIZE_MAX): Define if standard headers don't.
|
|---|
| 21 | (MIN): New macro.
|
|---|
| 22 | (block_read): Do not attempt to read more than SSIZE_MAX bytes, as the
|
|---|
| 23 | resulting behavior is implementation-defined. Work around bug in
|
|---|
| 24 | Tru64 5.1, which can't read more than INT_MAX bytes at a time.
|
|---|
| 25 | * src/cmp.c (cmp): Use block_read instead of read, to work
|
|---|
| 26 | around Tru64 5.1 bug.
|
|---|
| 27 | * src/diff3.c (read_diff): Likewise.
|
|---|
| 28 | * src/diff3.c: Include cmpbuf.h.
|
|---|
| 29 |
|
|---|
| 30 | * THANKS: Add Ulrich Drepper.
|
|---|
| 31 |
|
|---|
| 32 | * INSTALLME: Mention GNU texinfo.
|
|---|
| 33 |
|
|---|
| 34 | * doc/diff.texi:
|
|---|
| 35 | Use new @copying directive.
|
|---|
| 36 | Put @contents first, not last, since Texinfo now suggests this.
|
|---|
| 37 | Fix bug in -w documentation noted by Karl Berry.
|
|---|
| 38 | Mention links for speedup.
|
|---|
| 39 | New node "Speedups" for future speedups.
|
|---|
| 40 | Just say "Index", not "Concept Index".
|
|---|
| 41 |
|
|---|
| 42 | 2002-03-26 Paul Eggert <[email protected]>
|
|---|
| 43 |
|
|---|
| 44 | * src/Makefile.am:
|
|---|
| 45 | (INCLUDES): Remove this obsolete macro, replacing it with:
|
|---|
| 46 | (AM_CPPFLAGS): New macro.
|
|---|
| 47 |
|
|---|
| 48 | 2002-03-26 Albert Chin-A-Young <[email protected]>
|
|---|
| 49 |
|
|---|
| 50 | * src/Makefile.am (datadir): Remove, as it conflicts with --datadir.
|
|---|
| 51 |
|
|---|
| 52 | 2002-03-26 Paul Eggert <[email protected]>
|
|---|
| 53 |
|
|---|
| 54 | * doc/diff.texi (dircategory GNU packages): Fix typo: a "* " was
|
|---|
| 55 | missing before the menu entry. Bug diagnosed by Adam Heath.
|
|---|
| 56 | Also, put this dircategory after the Individual utilities dircategory,
|
|---|
| 57 | to work around a compatibility problem with Debian install-info.
|
|---|
| 58 |
|
|---|
| 59 | 2002-03-24 Eli Zaretskii <[email protected]>
|
|---|
| 60 |
|
|---|
| 61 | * src/io.c (sip): Do not mishandle buffered count when reverting
|
|---|
| 62 | to text mode.
|
|---|
| 63 |
|
|---|
| 64 | 2002-03-23 Paul Eggert <[email protected]>
|
|---|
| 65 |
|
|---|
| 66 | * NEWS, configure.ac (AC_INIT): Version 2.8.
|
|---|
| 67 | * configure.ac (AC_PREREQ): 2.53.
|
|---|
| 68 | * INSTALLME: Upgrade to gettext 0.11.1 and help2man 1.27.
|
|---|
| 69 |
|
|---|
| 70 | * doc/diff.texi: Upgrade the description of `patch' to GNU patch
|
|---|
| 71 | 2.5.4, and revamp the documentation accordingly.
|
|---|
| 72 |
|
|---|
| 73 | * src/diff.c (main): Fix typo that prevented diff -y from working.
|
|---|
| 74 | Bug reported by Mitsuru Chinen.
|
|---|
| 75 |
|
|---|
| 76 | 2002-03-15 Paul Eggert <[email protected]>
|
|---|
| 77 |
|
|---|
| 78 | * lib/c-stack.c (c_stack_die) [!HAVE_SIGINFO_T]: Don't use info.
|
|---|
| 79 | Bug reported by Eli Zaretskii.
|
|---|
| 80 |
|
|---|
| 81 | 2002-03-15 Eli Zaretskii <[email protected]>
|
|---|
| 82 |
|
|---|
| 83 | * ms/config.sed: Tweak editing of install-info-am target.
|
|---|
| 84 |
|
|---|
| 85 | 2002-03-12 Paul Eggert <[email protected]>
|
|---|
| 86 |
|
|---|
| 87 | * NEWS, configure.ac (AC_INIT): Version 2.7.10.
|
|---|
| 88 |
|
|---|
| 89 | * NEWS: cmp -l -s and cmp -s -l are not allowed.
|
|---|
| 90 | Deprecate diff -h, -H, -L, -P, --inhibit-hunk-merge.
|
|---|
| 91 |
|
|---|
| 92 | * configure.ac (jm_PREREQ_HARD_LOCALE): Add.
|
|---|
| 93 | (AM_INIT_AUTOMAKE): Do not distribute shar file.
|
|---|
| 94 |
|
|---|
| 95 | * doc/diff.texi (Overview): byte != character.
|
|---|
| 96 | (Detailed Context, Detailed Unified, Alternate Names, diff Options):
|
|---|
| 97 | Do not document diff -L.
|
|---|
| 98 | (Comparing Directories, Making Patches, diff Options):
|
|---|
| 99 | Do not document diff -P.
|
|---|
| 100 | (diff Performance, sdiff Option Summary, diff Options, sdiff Options):
|
|---|
| 101 | Do not document diff -H.
|
|---|
| 102 | (diff Performance, diff Options): Do not document --horizon-lines.
|
|---|
| 103 | (cmp Options): Prefer -b to -c.
|
|---|
| 104 | (cmp Options, diff Options, diff3 Options, patch Options,
|
|---|
| 105 | sdiff Options): Put short options next to the similar long options.
|
|---|
| 106 | Document --help, and use the same wording for --verbose.
|
|---|
| 107 | (diff3 Options): Fix typo in description of -E, which used wrongly used
|
|---|
| 108 | "-e" instead of "-E".
|
|---|
| 109 |
|
|---|
| 110 | * lib/hard-locale.c (alloca): Remove.
|
|---|
| 111 | Include stdlib.h if available, for malloc.
|
|---|
| 112 | (hard_locale): Use malloc, not alloca, so that we need not worry about
|
|---|
| 113 | alloca issues. Test for storage allocation failure.
|
|---|
| 114 |
|
|---|
| 115 | * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HARD_LOCALE.
|
|---|
| 116 | (jm_PREREQ_HARD_LOCALE): New macro.
|
|---|
| 117 |
|
|---|
| 118 | * src/cmp.c (specify_comparison_type): New function.
|
|---|
| 119 | (check_stdout): "indices and codes" -> "byte numbers and values"
|
|---|
| 120 | (main): Detect clashing options.
|
|---|
| 121 | (cmp): Use "byte" rather than "char" if a translation for "byte"
|
|---|
| 122 | is available, even when in the POSIX locale.
|
|---|
| 123 |
|
|---|
| 124 | * src/diff.c (option_help_msgid): Do not document -L, -P,
|
|---|
| 125 | --horizon-lines, --inhibit-hunk-merge, -H.
|
|---|
| 126 | * src/diff.h: -L -> --label
|
|---|
| 127 |
|
|---|
| 128 | 2002-03-11 Paul Eggert <[email protected]>
|
|---|
| 129 |
|
|---|
| 130 | * NEWS, configure.ac (AC_INIT): Version 2.7.9.
|
|---|
| 131 |
|
|---|
| 132 | * INSTALLME: Update to autoconf 2.53, automake 1.6, help2man
|
|---|
| 133 | 1.25 with patch.
|
|---|
| 134 |
|
|---|
| 135 | * configure.ac (AC_INIT):
|
|---|
| 136 | Change package name from diff to diffutils.
|
|---|
| 137 | (AM_INIT_AUTOMAKE): Use new form, with option gnits,
|
|---|
| 138 | rather than old from that duplicated AC_INIT.
|
|---|
| 139 | (AM_MISSING_PROG): Add help2man.
|
|---|
| 140 | (REGEX_MALLOC): Define.
|
|---|
| 141 | (AC_CONFIG_FILES): Add man/Makefile.
|
|---|
| 142 |
|
|---|
| 143 | * Makefile.am (AUTOMAKE_OPTIONS): Remove.
|
|---|
| 144 | * doc/Makefile.am (AUTOMAKE_OPTIONS): Remove.
|
|---|
| 145 | * lib/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
|
|---|
| 146 | * ms/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
|
|---|
| 147 | * src/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
|
|---|
| 148 |
|
|---|
| 149 | * lib/c-stack.c: Include <errno.h>
|
|---|
| 150 | (ENOTSUP): Define if errno.h doesn't.
|
|---|
| 151 | (SA_NODEFER, SA_ONSTACK, SA_RESETHAND, SA_SIGINFO, SIGSTKSZ,
|
|---|
| 152 | _SC_PAGESIZE, ALTERNATE_STACK_SIZE, stack_t, sigaltstack):
|
|---|
| 153 | Remove; we now assume them all when
|
|---|
| 154 | HAVE_XSI_STACK_OVERFLOW_HEURISTIC, so we don't need
|
|---|
| 155 | substitutes.
|
|---|
| 156 | (<ucontext.h>): Include only if HAVE_XSI_STACK_OVERFLOW_HEURISTIC.
|
|---|
| 157 | (alternate_signal_stack): Now of size SIGSTKSZ.
|
|---|
| 158 | (segv_handler): Simplify, under the assumption that
|
|---|
| 159 | HAVE_XSI_STACK_OVERFLOW_HEURISTIC is nonzero.
|
|---|
| 160 | (c_stack_action): Likewise.
|
|---|
| 161 | (exit_failure) [DEBUG]: Initialize to 0, not 1.
|
|---|
| 162 | (recurse, main) [DEBUG]: Remove main args.
|
|---|
| 163 |
|
|---|
| 164 | * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change
|
|---|
| 165 | wording of message. Do not check for stdbool.h or ucontext.h,
|
|---|
| 166 | or for ucontext_t or sigaction or sigaltstack.
|
|---|
| 167 |
|
|---|
| 168 | * po/LINGUAS: Add zh_TW.
|
|---|
| 169 |
|
|---|
| 170 | * Makefile.am (SUBDIRS): Add man.
|
|---|
| 171 | * man/Makefile.am: New file.
|
|---|
| 172 | * src/cmp.c (usage): Reword for help2man.
|
|---|
| 173 | * src/diff.c (option_help_msgid): Likewise.
|
|---|
| 174 | * src/diff3.c (option_help_msgid, usage): Likewise.
|
|---|
| 175 | * src/sdiff3.c (option_help_msgid, usage): Likewise.
|
|---|
| 176 | Reword for help2man.
|
|---|
| 177 |
|
|---|
| 178 | * THANKS: Add email address for Tower.
|
|---|
| 179 |
|
|---|
| 180 | * config/config.guess, config/config.sub, config/depcomp,
|
|---|
| 181 | config/install-sh, config/mdate-sh, config/missing,
|
|---|
| 182 | config/mkinstalldirs, config/texinfo.texi: Update
|
|---|
| 183 | to recent version (maintained in other packages).
|
|---|
| 184 |
|
|---|
| 185 | 2002-03-04 Bruno Haible <[email protected]>
|
|---|
| 186 |
|
|---|
| 187 | * m4/gettext.m4 (AM_GNU_GETTEXT): Set LIBINTL and LTLIBINTL to empty if
|
|---|
| 188 | no preinstalled GNU gettext was found.
|
|---|
| 189 |
|
|---|
| 190 | 2002-03-02 Eli Zaretskii <[email protected]>
|
|---|
| 191 |
|
|---|
| 192 | * ms/config.sed: Tweak editing of install-info-am and
|
|---|
| 193 | uninstall-info-am targets, to include 8+3-butchered names of Info
|
|---|
| 194 | files.
|
|---|
| 195 |
|
|---|
| 196 | 2002-02-28 Paul Eggert <[email protected]>
|
|---|
| 197 |
|
|---|
| 198 | * NEWS, configure.ac (AC_INIT, AM_INIT_AUTOMAKE): Version 2.7.8.
|
|---|
| 199 |
|
|---|
| 200 | * doc/diff.texi: Add vr index.
|
|---|
| 201 | Update copyright to 2002.
|
|---|
| 202 | (Standards conformance): New chapter.
|
|---|
| 203 | (Binary): Differing binary files are trouble unless the user asked for
|
|---|
| 204 | brief output.
|
|---|
| 205 | (Detailed Context): Prefer ISO time stamp format in discussion.
|
|---|
| 206 | (Detailed Unified, Pagination): Likewise.
|
|---|
| 207 | (Less Context): Likewise. Also use short option.
|
|---|
| 208 | (Alternate Names): Separate option from arg.
|
|---|
| 209 | (Making Patches): Mention -U 2.
|
|---|
| 210 | (diff Options): Deprecate -LINES, as POSIX 1003.1-2001 does not
|
|---|
| 211 | allow it.
|
|---|
| 212 |
|
|---|
| 213 | * INSTALLME: Update advice for Solaris installation problems.
|
|---|
| 214 | We no longer use a test version of gettext.
|
|---|
| 215 | Autoconf test version updated from 2.52f to 2.52h.
|
|---|
| 216 | POSIX 1003.1-2001 patch for Automake.
|
|---|
| 217 |
|
|---|
| 218 | * configure.ac (AC__GNU_SOURCE): Add this,
|
|---|
| 219 | replacing AH_VERBATIM of _GNU_SOURCE.
|
|---|
| 220 | (tempname): Use AC_LIBOBJS, not LIBOBJS=, as now required by autoconf.
|
|---|
| 221 | (jm_PREREQ_C_STACK): Add.
|
|---|
| 222 | (AC_CONFIG_FILES): Remove intl/Makefile.
|
|---|
| 223 | (AM_GNU_GETTEXT): Add external arg, from gettext 0.11.
|
|---|
| 224 |
|
|---|
| 225 | * lib/c-stack.c, lib/c-stack.h, lib/exitfail.c, lib/exitfail.h,
|
|---|
| 226 | lib/posixver.c, lib/posixver.h, m4/c-stack.m4, m4/gnu-source.m4,
|
|---|
| 227 | po/cs.po, po/ja.po: New files.
|
|---|
| 228 |
|
|---|
| 229 | * intl/ChangeLog, intl/Makefile.in, intl/VERSION,
|
|---|
| 230 | intl/bindtextdom.c, intl/config.charset, intl/dcgettext.c,
|
|---|
| 231 | intl/dcigettext.c, intl/dcngettext.c, intl/dgettext.c,
|
|---|
| 232 | intl/dngettext.c, intl/explodename.c, intl/finddomain.c,
|
|---|
| 233 | intl/gettext.c, intl/gettextP.h, intl/gmo.h, intl/hash-string.h,
|
|---|
| 234 | intl/intl-compat.c, intl/l10nflist.c, intl/libgnuintl.h,
|
|---|
| 235 | intl/loadinfo.h, intl/loadmsgcat.c, intl/localcharset.c,
|
|---|
| 236 | intl/locale.alias, intl/localealias.c, intl/localename.c,
|
|---|
| 237 | intl/ngettext.c, intl/os2compat.c, intl/os2compat.h, intl/osdep.c,
|
|---|
| 238 | intl/plural-eval.c, intl/plural-exp.c, intl/plural-exp.h,
|
|---|
| 239 | intl/plural.c, intl/plural.y, intl/ref-add.sin, intl/ref-del.sin,
|
|---|
| 240 | intl/textdomain.c, m4/isc-posix.m4, m4/libtool.m4: Remove.
|
|---|
| 241 |
|
|---|
| 242 | * ABOUT-NLS: Update to Gettext 0.11.
|
|---|
| 243 |
|
|---|
| 244 | * Makefile.am (SUBDIRS): Remove intl.
|
|---|
| 245 |
|
|---|
| 246 | * config/config.guess, config/config.rpath, config/config.sub,
|
|---|
| 247 | config/texinfo.tex, config/depcomp, config/texinfo.tex,
|
|---|
| 248 | lib/tempname.c: Update to latest version from other packages.
|
|---|
| 249 |
|
|---|
| 250 | * lib/xalloc.h (xalloc_exit_failure): Remove; subsumed by exit_failure.
|
|---|
| 251 | * lib/xmalloc.c: Include exitfail.h.
|
|---|
| 252 | (xalloc_exit_failure): Remove; subsumed by exit_failure.
|
|---|
| 253 | All uses changed.
|
|---|
| 254 |
|
|---|
| 255 | * lib/Makefile.am (noinst_HEADERS): Add c-stack.h, exitfail.h.
|
|---|
| 256 | (libdiffutils_a_SOURCES): Add c-stack.c, exitfail.c, quotesys.c.
|
|---|
| 257 | (INCLUDES): Remove.
|
|---|
| 258 |
|
|---|
| 259 | * lib/cmpbuf.h (buffer_lcm): New arg LCM_MAX.
|
|---|
| 260 | * lib/cmpbuf.c: Include errno.h.
|
|---|
| 261 | (errno): Declare if !STDC_HEADERS.
|
|---|
| 262 | Include signal.h.
|
|---|
| 263 | (SA_RESTART): Define if not already defined.
|
|---|
| 264 | Include <inttypes.h>.
|
|---|
| 265 | (PTRDIFF_MAX): Define if not already defined.
|
|---|
| 266 | (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
|
|---|
| 267 | (block_read): Accommodate ancient AIX hosts that set errno to EINTR
|
|---|
| 268 | after uncaught SIGCONT.
|
|---|
| 269 | (buffer_lcm): Return a reasonable size if the multiple is too large.
|
|---|
| 270 | New arg LCM_MAX. All callers changed.
|
|---|
| 271 |
|
|---|
| 272 | * lib/hard-locale.c: Include "hard-locale.h".
|
|---|
| 273 | (hard_locale): Ignore ENABLE_NLS, since we want to operate on
|
|---|
| 274 | locales other than LC_MESSAGES.
|
|---|
| 275 |
|
|---|
| 276 | * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_POSIXVER.
|
|---|
| 277 | (jm_PREREQ_POSIXVER): New macro.
|
|---|
| 278 |
|
|---|
| 279 | * m4/setmode.m4 (AC_FUNC_SETMODE_DOS):
|
|---|
| 280 | Check for fcntl.h and unistd.h unconditionally.
|
|---|
| 281 | Suggested by Bruno Haible.
|
|---|
| 282 |
|
|---|
| 283 | * po/LINGUAS: Add cs, ja.
|
|---|
| 284 | * po/POTFILES.in: Add lib/c-stack.c, src/dir.c.
|
|---|
| 285 |
|
|---|
| 286 | * src/Makefile.am (datadir): @DATADIRNAME@ -> share.
|
|---|
| 287 | (INCLUDES): Remove intl.
|
|---|
| 288 | (LDADD): Change INTLLIBS to LIBINTL.
|
|---|
| 289 | No longer need to link libdiffutils.a twice.
|
|---|
| 290 |
|
|---|
| 291 | * src/analyze.c (diff_2_files):
|
|---|
| 292 | Avoid arithmetic overflow in buffer size calculation.
|
|---|
| 293 |
|
|---|
| 294 | * src/cmp.c: Include c-stack.h, exitfail.h.
|
|---|
| 295 | (hard_locale_LC_MESSAGES): Depend on ENABLE_NLS.
|
|---|
| 296 | (try_help, check_stdout, main, cmp): 2 -> EXIT_TROUBLE.
|
|---|
| 297 | (main): Check for stack overflow.
|
|---|
| 298 | 0 -> EXIT_SUCCESS.
|
|---|
| 299 | 1 -> EXIT_FAILURE.
|
|---|
| 300 | (cmp): Likewise.
|
|---|
| 301 | Accommodate ancient AIX hosts that set errno to
|
|---|
| 302 | EINTR after uncaught SIGCONT.
|
|---|
| 303 |
|
|---|
| 304 | * src/context.c (pr_context_hunk):
|
|---|
| 305 | Do not dump core if an enormous context causes an
|
|---|
| 306 | arithmetic overflow.
|
|---|
| 307 | (pr_unidiff_hunk): Likewise.
|
|---|
| 308 | (find_hunk): Likewise.
|
|---|
| 309 |
|
|---|
| 310 | * src/diff.h: unsigned -> unsigned int.
|
|---|
| 311 | * src/diff.c: Include c-stack.h, exitfail.h.
|
|---|
| 312 | Do not include signal.h.
|
|---|
| 313 | (specify_style, specify_value): Bring these routines back, as POSIX
|
|---|
| 314 | requires that the order of options not matter.
|
|---|
| 315 | (shortopts): New constant.
|
|---|
| 316 | (group_format_option, line_format_option): New constants.
|
|---|
| 317 | (main): 0 -> EXIT_SUCCESS, 1 -> EXIT_FAILURE, 2 -> EXIT_TROUBLE.
|
|---|
| 318 | Ensure that order of options does not matter.
|
|---|
| 319 | Check for stack overflow.
|
|---|
| 320 | If contexts overflow, substitute LIN_MAX, as that's good enough.
|
|---|
| 321 | If multiple contexts are specified, use their maximum.
|
|---|
| 322 | -c is equivalent to -C 3 now, instead of having an implicit context;
|
|---|
| 323 | likewise for -u and -U 3.
|
|---|
| 324 | Use specify_style and specify_value.
|
|---|
| 325 | (SIGCHLD): Do not define; now done in a header.
|
|---|
| 326 | Use new style time stamp format for -u / -U.
|
|---|
| 327 | Reject numeric-string options if operating in POSIX 1003.1-2001 mode.
|
|---|
| 328 | Avoid overflow problems with tab width.
|
|---|
| 329 | Simplify from-file and to-file code.
|
|---|
| 330 | (usage): Do not mention obsolete options.
|
|---|
| 331 | (filetype): Do not mention whether a file is executable.
|
|---|
| 332 | Add typed memory objects.
|
|---|
| 333 | (compare_files): 0 -> EXIT_SUCCESS, 1 -> EXIT_FAILURE, 2 ->
|
|---|
| 334 | EXIT_TROUBLE.
|
|---|
| 335 |
|
|---|
| 336 | * src/diff3.c: Include c-stack.h, exitfail.h.
|
|---|
| 337 | (ALLOCATE): Remove. All uses changed to xmalloc, or to xmalloc plus
|
|---|
| 338 | an overflow check.
|
|---|
| 339 | (myread): Remove.
|
|---|
| 340 | (main): Check for stack overflow.
|
|---|
| 341 | 0 -> EXIT_SUCCESS, 1 -> EXIT_FAIULRE, 2 -> EXIT_TROUBLE.
|
|---|
| 342 | (try_help): Likewise.
|
|---|
| 343 | (process_diff): Check for integer overflow, to avoid core dumps.
|
|---|
| 344 | 2 -> EXIT_TROUBLE.
|
|---|
| 345 | (read_diff): Exit with status 126 if the file is not executable,
|
|---|
| 346 | for compatibility with POSIX 1003.1-2001.
|
|---|
| 347 | Accommodate ancient AIX hosts that set errno to EINTR after uncaught
|
|---|
| 348 | SIGCONT.
|
|---|
| 349 | Check for integer overflow to avoid core dumps.
|
|---|
| 350 | (fatal, perror_with_exit): 2 -> EXIT_TROUBLE.
|
|---|
| 351 |
|
|---|
| 352 | * src/dir.c (dir_read):
|
|---|
| 353 | Ignore st_size of directories: POSIX says it's garbage.
|
|---|
| 354 | Check for integer overflow to avoid core dumps.
|
|---|
| 355 | (diff_dirs): 0 -> EXIT_SUCCESS, 2 -> EXIT_TROUBLE.
|
|---|
| 356 |
|
|---|
| 357 | * src/ifdef.c: Include <xalloc.h>.
|
|---|
| 358 | (format_group, print_ifdef_lines): Avoid core dumps with bad formats.
|
|---|
| 359 | (do_printf_spec): Avoid alloca.
|
|---|
| 360 |
|
|---|
| 361 | * src/io.c (sip):
|
|---|
| 362 | Avoid integer overflow and core dumps if buffer alignments are
|
|---|
| 363 | preposterously incompatible.
|
|---|
| 364 | (slurp): Do not dump core if the file is growing as we read it.
|
|---|
| 365 | If a regular file grows, keep reading until we catch up with its EOF.
|
|---|
| 366 | (find_and_hash_each_line): Check for integer overflow to avoid cores.
|
|---|
| 367 | (GUESS_LINES): Remove.
|
|---|
| 368 | (guess_lines): New function. Avoid integer overflow.
|
|---|
| 369 | (find_identical_ends): Use it.
|
|---|
| 370 | Avoid integer overflow and possible core dumps.
|
|---|
| 371 |
|
|---|
| 372 | * src/sdiff.c: Include c-stack.h, exitfail.h. Do not include signal.h.
|
|---|
| 373 | 0 -> EXIT_SUCCESS, 1 -> EXIT_FAILURE, 2 -> EXIT_TROUBLE.
|
|---|
| 374 | (ck_editor_status): New function.
|
|---|
| 375 | (main): Check for stack overflow.
|
|---|
| 376 | Adopt POSIX convention for subsidiary programs not found.
|
|---|
| 377 | (diffarg): Check for integer overflow to avoid core dumps.
|
|---|
| 378 | (trapsigs): Remove SA_INTERRUPT special case; now done by header.
|
|---|
| 379 | (SIGCHLD): Likewise.
|
|---|
| 380 | (edit): Adopt POSIX convention for subsidiary programs not found.
|
|---|
| 381 |
|
|---|
| 382 | * src/side.c: unsigned -> unsigned int.
|
|---|
| 383 |
|
|---|
| 384 | * src/system.h: Don't use alloca or include <alloca.h>.
|
|---|
| 385 | unsigned -> unsigned int
|
|---|
| 386 | (EXIT_SUCCESS, EXIT_FAILURE, EXIT_TROUBLE): Define if not defined.
|
|---|
| 387 | Include signal.h.
|
|---|
| 388 | (SA_RESTART): Define if not defined.
|
|---|
| 389 | (SIGCHLD): Likewise.
|
|---|
| 390 |
|
|---|
| 391 | * src/util.c: 2 -> EXIT_TROUBLE.
|
|---|
| 392 | Adopt POSIX convention for ENOEXEC and exit status 126.
|
|---|
| 393 | unsigned -> unsigned int
|
|---|
| 394 |
|
|---|
| 395 | 2002-01-24 Paul Eggert <[email protected]>
|
|---|
| 396 |
|
|---|
| 397 | * NEWS, configure.ac (AC_INIT, AM_INIT_AUTOMAKE): Version 2.7.7.
|
|---|
| 398 |
|
|---|
| 399 | * intl/plural.c: Regenerate with Bison 1.31.
|
|---|
| 400 |
|
|---|
| 401 | * ABOUT-NLS, intl/*: Update to Gettext 0.11-pre5++.
|
|---|
| 402 | * INSTALL: Update to Autoconf 2.52f.
|
|---|
| 403 |
|
|---|
| 404 | * INSTALLME: New file.
|
|---|
| 405 | * Makefile.am (EXTRA_DIST): Add config/config.rpath, INSTALLME.
|
|---|
| 406 | (DISTCLEANFILES): Remove.
|
|---|
| 407 | * NEWS: Reformat for imminent 2.8 release.
|
|---|
| 408 | * README: Mention INSTALLME.
|
|---|
| 409 | * README-alpha: Move most of contents to INSTALLME.
|
|---|
| 410 | * THANKS: Add Bruno Haible, Jim Meyering, and Eli Zaretskii.
|
|---|
| 411 |
|
|---|
| 412 | * config: New subdirectory, containing the following files from .:
|
|---|
| 413 | config.guess, config.sub, depcomp, missing, install-sh, mkinstalldirs.
|
|---|
| 414 | Move the following files here from doc: texinfo.tex, mdate-sh.
|
|---|
| 415 | * config/config.guess, config/config.sub, config/texinfo.tex:
|
|---|
| 416 | Update to latest version from FSF.
|
|---|
| 417 | * config/config.rpath: New file, from Gettext 0.11-pre5++.
|
|---|
| 418 |
|
|---|
| 419 | * configure.ac (AC_INIT): Use new 3-arg form.
|
|---|
| 420 | (AC_CONFIG_SRCDIR): Specify src/diff.c here, not in AC_INIT.
|
|---|
| 421 | (ALL_LINGUAS): Remove: now in po/LINGUAS as per Gettext 0.11.
|
|---|
| 422 | (AC_CONFIG_AUX_DIR): New macro invocation.
|
|---|
| 423 |
|
|---|
| 424 | * lib/Makefile.am (noinst_HEADERS): Add gettext.h.
|
|---|
| 425 | * lib/gettext.h: New file, from Gettext 0.11-pre5++.
|
|---|
| 426 | * lib/prepargs.c: Include <string.h>. Reported by Bruno Haible.
|
|---|
| 427 |
|
|---|
| 428 | * m4/codeset.m4, m4/gettext.m4, glibc21.m4, iconv.m4, isc-posix.m4,
|
|---|
| 429 | lcmessage.m4, progtest.m4: Upgrade to Gettext 0.11-pre5++.
|
|---|
| 430 | * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
|
|---|
| 431 | Gettext 0.11-pre5++.
|
|---|
| 432 |
|
|---|
| 433 | * po/LINGUAS: New file.
|
|---|
| 434 | * po/Makefile.in.in: Upgrade to Gettext 0.11-pre5++.
|
|---|
| 435 | * po/Makevars, po/Rules-quot, po/boldquot.sed: New files,
|
|---|
| 436 | from Gettext 0.11-pre5++.
|
|---|
| 437 |
|
|---|
| 438 | * src/cmp.c (copyright_string): Update to 2002.
|
|---|
| 439 | * src/diff.c (copyright_string): Likewise.
|
|---|
| 440 | * src/diff3.c (copyright_string): Likewise.
|
|---|
| 441 | * src/sdiff.c (copyright_string): Likewise.
|
|---|
| 442 |
|
|---|
| 443 | * src/cmp.c (bytes, parse_ignore_initial, cmp): Use UINTMAX_MAX
|
|---|
| 444 | instead of (uintmax_t) -1, to avoid warnings on some compilers.
|
|---|
| 445 | * src/io.c (file_block_read): Likewise, for SIZE_MAX.
|
|---|
| 446 |
|
|---|
| 447 | * src/cmp.c (usage): Reformat messages to ease translation.
|
|---|
| 448 | * src/diff3.c (usage): Likewise.
|
|---|
| 449 | * src/sdiff.c (usage): Likewise.
|
|---|
| 450 |
|
|---|
| 451 | * src/diff3.c (main): Remove unused variable.
|
|---|
| 452 |
|
|---|
| 453 | * src/dir.c: Include <setjmp.h>
|
|---|
| 454 | (struct dirdata): New member nnames.
|
|---|
| 455 | (locale_specific_sorting, failed_strcoll): New vars.
|
|---|
| 456 | (dir_read): Renamed from dir_sort. Don't sort the dir.
|
|---|
| 457 | Set new nnames member of struct dirdata. All callers changed.
|
|---|
| 458 | (compare_names): Don't check for errno after strcasecmp.
|
|---|
| 459 | Use strcoll only if locale_specific_sorting is nonzero.
|
|---|
| 460 | If strcoll fails, longjmp out rather than returning a value
|
|---|
| 461 | that might result in an invalid comparison function that might
|
|---|
| 462 | make qsort dump core.
|
|---|
| 463 | (diff_dirs): Sort the directory ourselves. Use setjmp to recover
|
|---|
| 464 | from strcoll failure, falling back on native byte comparison.
|
|---|
| 465 | Make local variables volatile if they need to preserve their value
|
|---|
| 466 | after setjmp/longjmp.
|
|---|
| 467 |
|
|---|
| 468 | * src/sdiff.c (handler_index_of_SIGINT, handler_index_of_SIGPIPE):
|
|---|
| 469 | New macros.
|
|---|
| 470 | (main): Do not confuse signal numbers with their indices.
|
|---|
| 471 | Bug reported by Bruno Haible.
|
|---|
| 472 | (edit): Cat lin to long before printing with %ld, since lin might
|
|---|
| 473 | be narrow than long.
|
|---|
| 474 |
|
|---|
| 475 | * src/system.h (UINTMAX_MAX): New macro.
|
|---|
| 476 | Include gettext.h, not libgettext.h.
|
|---|
| 477 | (N_): Do not wrap arg in parentheses. Fix from Bruno Haible.
|
|---|
| 478 |
|
|---|
| 479 | * src/util.c (finish_output): Ensure that werrno is initialized.
|
|---|
| 480 | (lines_differ): Have an explicit do-nothing case for
|
|---|
| 481 | IGNORE_NO_WHITE_SPACE, to pacify gcc -Wall.
|
|---|
| 482 |
|
|---|
| 483 | 2001-12-29 Eli Zaretskii <[email protected]>
|
|---|
| 484 |
|
|---|
| 485 | * src/sdiff.c (interact): After extracting rlen from the editor
|
|---|
| 486 | command, test for a terminating null character, not for a newline.
|
|---|
| 487 |
|
|---|
| 488 | * ms/config.bat: Allow longer source directory names without
|
|---|
| 489 | overflowing the line length limits. Create the cache in the
|
|---|
| 490 | build directory, not in the source directory
|
|---|
| 491 | * ms/config.sed: Fix AC_CONFIG_LINKS for when symlinks are
|
|---|
| 492 | unavailable.
|
|---|
| 493 |
|
|---|
| 494 | 2001-12-23 Paul Eggert <[email protected]>
|
|---|
| 495 |
|
|---|
| 496 | * NEWS, configure.ac (AM_INIT_AUTOMAKE): Version 2.7.6.
|
|---|
| 497 |
|
|---|
| 498 | * configure.ac (ALL_LINGUAS): Add tr.
|
|---|
| 499 |
|
|---|
| 500 | * src/util.c (begin_output):
|
|---|
| 501 | Have child exit with status 127 rather than reporting
|
|---|
| 502 | failure on its own. Set errno to 0 before invoking popen.
|
|---|
| 503 | (finish_output): Report errno on pclose failure.
|
|---|
| 504 | Distinguish between subsidiary program not found, and failure.
|
|---|
| 505 |
|
|---|
| 506 | * src/sdiff.c (not_found, execdiff): Remove.
|
|---|
| 507 | (DIFF_PROGRAM_OPTION): New constant.
|
|---|
| 508 | (longopts, option_help_msgid, main): Add --diff-program=PROGRAM.
|
|---|
| 509 | (check_stdout): New function.
|
|---|
| 510 | (main): Remove DIFF_PROGRAM. Check stdout after printing version.
|
|---|
| 511 | Use check_stdout after printing help. Use execvp/perror_fatail rather
|
|---|
| 512 | than execdiff. Set errno to 0 before invoking popen.
|
|---|
| 513 | Check for pclose failure properly.
|
|---|
| 514 | (main, edit): If child exec fails, exit with 127 rather than trying to
|
|---|
| 515 | print diagnostic.
|
|---|
| 516 | Distinguish between subsidiary program failing and not being found.
|
|---|
| 517 | (edit): Handle signals the same way, regardless of whether we're using
|
|---|
| 518 | system or fork+exec. Check for system returning -1.
|
|---|
| 519 |
|
|---|
| 520 | * src/diff3.c (DIFF_PROGRAM_OPTION, HELP_OPTION): New constants.
|
|---|
| 521 | (longopts, main): Use them.
|
|---|
| 522 | (longopts, main, option_help_msgid): New option --diff-option=PROGRAM.
|
|---|
| 523 | (main): Remove DIFF_PROGRAM support.
|
|---|
| 524 | Check stdout after printing version.
|
|---|
| 525 | (check_stdout): Report errno info if fclose fails.
|
|---|
| 526 | (read_diff): Have child exit with status 127 when program is not found,
|
|---|
| 527 | rather than trying to have the child report failure. Check for
|
|---|
| 528 | pclose returning -1.
|
|---|
| 529 |
|
|---|
| 530 | * src/diff.c (DEFAULT_WIDTH): Remove.
|
|---|
| 531 | (main): Use 130 instead of DEFAULT_WIDTH, since it's not really
|
|---|
| 532 | builder-settable. Do not prepend DIFF_OPTIONS.
|
|---|
| 533 | (check-stdout): If fclose (stdout) fails, print errno info.
|
|---|
| 534 | (option_help_msgid): Default context is 3, not 2.
|
|---|
| 535 | (usage): Work even if ptrdiff_t is wider than int.
|
|---|
| 536 |
|
|---|
| 537 | * doc/diff.texi (diff Options): Remove DIFF_OPTIONS.
|
|---|
| 538 | (Invoking diff3, Invoking sdiff): Remove DIFF_PROGRAM.
|
|---|
| 539 | (diff3 Options, sdiff Options): Add --diff-program.
|
|---|
| 540 |
|
|---|
| 541 | * src/cmp.c (valid_suffixes):
|
|---|
| 542 | Add '0', to support suffixes like "MB" and "MiB".
|
|---|
| 543 | (check_stdout): Don't assume that the translations of "write failed"
|
|---|
| 544 | and of "standard output" lack '%'.
|
|---|
| 545 | (main): Check stdout after printing version.
|
|---|
| 546 |
|
|---|
| 547 | * lib/setmode.c: [HAVE_FCNTL_H && HAVE_SETMODE_DOS]: Include <fcntl.h>.
|
|---|
| 548 | [!HAVE_SETMODE_DOS]: Do not include <unistd.h>.
|
|---|
| 549 | (set_binary_mode): Return mode (not 1) if fd is a tty.
|
|---|
| 550 | Do not assume that O_TEXT is zero.
|
|---|
| 551 |
|
|---|
| 552 | * doc/diff.texi (cmp Options):
|
|---|
| 553 | In byte counts, a plain suffix (without any integer)
|
|---|
| 554 | is assumed to modify the integer 1. Index terms like "kibibyte".
|
|---|
| 555 | Document plain "k".
|
|---|
| 556 |
|
|---|
| 557 | (Reporting Bugs): Mention bug-report archive and test version
|
|---|
| 558 | location. Ask for "diff --version" in bug reports.
|
|---|
| 559 |
|
|---|
| 560 | 2001-12-13 Paul Eggert <[email protected]>
|
|---|
| 561 |
|
|---|
| 562 | * src/diff.c (DEFAULT_WIDTH): Remove; couldn't be changed without
|
|---|
| 563 | also changing option_help_msgid. All uses replaced with 130.
|
|---|
| 564 |
|
|---|
| 565 | * lib/setmode.c: Include fcntl.h and unistd.h only if
|
|---|
| 566 | HAVE_SETMODE_DOS.
|
|---|
| 567 | (setmode): Assume a file is binary unless the mode is O_TEXT.
|
|---|
| 568 | * ms/README: Fix minor typos.
|
|---|
| 569 |
|
|---|
| 570 | 2001-12-13 Eli Zaretskii <[email protected]>
|
|---|
| 571 |
|
|---|
| 572 | * ms/README: New file.
|
|---|
| 573 |
|
|---|
| 574 | * lib/setmode.c (set_binary_mode) [HAVE_SETMODE_DOS]: Don't assume
|
|---|
| 575 | O_TEXT has a zero value. If FD is a terminal device, do nothing
|
|---|
| 576 | and return MODE, thus pretending that it was already in the
|
|---|
| 577 | requested MODE.
|
|---|
| 578 | [HAVE_FCNTL_H]: Include fcntl.h (needed for O_BINARY).
|
|---|
| 579 |
|
|---|
| 580 | * ms/config.sed: Remove the split prevention of config.status.
|
|---|
| 581 | Fix Sed commands for converting absolute file names into
|
|---|
| 582 | top_srcdir-relative ones.
|
|---|
| 583 |
|
|---|
| 584 | * ms/config.bat: Fix typos.
|
|---|
| 585 |
|
|---|
| 586 | 2001-12-12 Neal H Walfield <[email protected]>
|
|---|
| 587 |
|
|---|
| 588 | * diff.c (option_help_msgid): Correct the default context width
|
|---|
| 589 | from 2 to 3.
|
|---|
| 590 |
|
|---|
| 591 | 2001-12-11 Paul Eggert <[email protected]>
|
|---|
| 592 |
|
|---|
| 593 | * m4/Makefile.am.in: Remove jm-glibc-io.m4
|
|---|
| 594 |
|
|---|
| 595 | * NEWS, configure.ac (AM_INIT_AUTOMAKE): Version 2.7.5.
|
|---|
| 596 |
|
|---|
| 597 | * configure.ac (PR_PROGRAM): Use AC_DEFINE_UNQUOTED, so that
|
|---|
| 598 | $PR_PROGRAM is expanded by sh.
|
|---|
| 599 | (ptrdiff_t, ssize_t): Use AC_CHECK_TYPE with a default of int,
|
|---|
| 600 | not AC_CHECK_TYPES.
|
|---|
| 601 | (jm_AC_DOS, AC_FUNC_SETMODE_DOS): New macros.
|
|---|
| 602 | (AC_CONFIG_FILES): Add ms/Makefile.
|
|---|
| 603 |
|
|---|
| 604 | * doc/diff.texi: Add --no-ignore-file-name-case.
|
|---|
| 605 | File name case sensitivity now affects file name exclusion.
|
|---|
| 606 | Fix typos.
|
|---|
| 607 |
|
|---|
| 608 | * src/util.c: Include dirname.h.
|
|---|
| 609 | (dir_file_pathname): Use base_name rather than file_name_lastdirchar.
|
|---|
| 610 |
|
|---|
| 611 | * src/system.h (S_IXUSR, S_IXGRP, S_IXOTH): New macros.
|
|---|
| 612 | Include <libgettext.h> rather than rolling it ourselves.
|
|---|
| 613 | (file_name_lastdirchar, HAVE_SETMODE, set_binary_mode): Remove.
|
|---|
| 614 |
|
|---|
| 615 | * src/sdiff.c: Include <dirname.h>.
|
|---|
| 616 | (expand_name): Use base_name rather than file_name_lastdirchar, for
|
|---|
| 617 | portability to DOS.
|
|---|
| 618 | (main): Initialize xalloc_exit_failure before possibly invoking
|
|---|
| 619 | any memory allocator.
|
|---|
| 620 |
|
|---|
| 621 | * src/io.c: Include setmode.h.
|
|---|
| 622 |
|
|---|
| 623 | * src/diff3.c (main):
|
|---|
| 624 | Initialize xalloc_exit_failure before possibly invoking any memory
|
|---|
| 625 | allocator.
|
|---|
| 626 |
|
|---|
| 627 | * src/diff.c: Include dirname.h, setmode.h.
|
|---|
| 628 |
|
|---|
| 629 | (main): Later values and/or styles now silently override earlier.
|
|---|
| 630 | (specify_value, specify_style): Likewise. All callers changed.
|
|---|
| 631 | Remove.
|
|---|
| 632 | (binary, main, option_help_msgid, compare_files):
|
|---|
| 633 | HAVE_SETMODE -> HAVE_SETMODE_DOS.
|
|---|
| 634 | (NO_IGNORE_FILE_NAME_CASE_OPTION): New constant.
|
|---|
| 635 | (longopts, main, option_help_msgid): Support it.
|
|---|
| 636 | (exclude_options): New function.
|
|---|
| 637 | (main): Use it. Initialize xalloc_exit_failure before potentially
|
|---|
| 638 | allocating memory.
|
|---|
| 639 |
|
|---|
| 640 | (filetype): Distinguish executable files from others, as POSIX
|
|---|
| 641 | suggests.
|
|---|
| 642 |
|
|---|
| 643 | (compare_files): Use base_name instead of file_name_lastdirchar.
|
|---|
| 644 |
|
|---|
| 645 | * src/cmp.c: Include <hard-locale.h>, <setmode.h>.
|
|---|
| 646 | (hard_locale_LC_MESSAGES): New macro.
|
|---|
| 647 | (sprintc): Remove int width arg; it's now the caller's responsibility
|
|---|
| 648 | to pad. All callers changed.
|
|---|
| 649 | (stat_buf): New static var; was formerly a local var in 'main'.
|
|---|
| 650 | (valid_suffixes): Add 'K', for 'KiB'.
|
|---|
| 651 | (option_help_msgid): Don't confuse bytes with characters.
|
|---|
| 652 | (main): Set xalloc_exit_failure before invoking anything that might
|
|---|
| 653 | allocate memory. Fix bug: -n was incorrectly ignored when optimizing
|
|---|
| 654 | the case of regular files with different lengths.
|
|---|
| 655 | (cmp): Use an index column wide enough to store this comparison's
|
|---|
| 656 | indexes. In locales other than the POSIX locale, say "byte"
|
|---|
| 657 | rather than "char".
|
|---|
| 658 |
|
|---|
| 659 | * ms/config.bat: pc -> ms
|
|---|
| 660 |
|
|---|
| 661 | * ms/Makefile.am, m4/setmode.m4, lib/setmode.c, lib/setmode.h:
|
|---|
| 662 | New file.
|
|---|
| 663 |
|
|---|
| 664 | * lib/Makefile.am (noinst_HEADERS): Add dirname.h, setmode.h.
|
|---|
| 665 | (libdiffutils_a_SOURCES): Add basename.c, setmode.c.
|
|---|
| 666 |
|
|---|
| 667 | * Makefile.am (SUBDIRS): Add ms.
|
|---|
| 668 |
|
|---|
| 669 | 2001-12-10 Paul Eggert <[email protected]>
|
|---|
| 670 |
|
|---|
| 671 | * m4/fnmatch.m4: Test for FNM_CASEFOLD.
|
|---|
| 672 |
|
|---|
| 673 | 2001-12-03 Paul Eggert <[email protected]>
|
|---|
| 674 |
|
|---|
| 675 | * lib/posix/regex.h: Fix copyright notice.
|
|---|
| 676 |
|
|---|
| 677 | 2001-12-03 Paul Eggert <[email protected]>
|
|---|
| 678 |
|
|---|
| 679 | * NEWS, configure.ac (AM_INIT_AUTOMAKE): Version 2.7.4.
|
|---|
| 680 |
|
|---|
| 681 | * diff.texi (direntry, Overview, Comparison, Binary, Invoking cmp):
|
|---|
| 682 | Use "byte" rather than "character" when talking about cmp, since
|
|---|
| 683 | it compares bytes, not character.
|
|---|
| 684 | (Invoking cmp): New trailing operands FROM-SKIP and TO-SKIP.
|
|---|
| 685 | -i or --ignore-initial now accepts FROM-SKIP:TO-SKIP.
|
|---|
| 686 | New option -n or --bytes.
|
|---|
| 687 | Count operands now may be in octal or hex, and may be followed by a
|
|---|
| 688 | size multiplier.
|
|---|
| 689 |
|
|---|
| 690 | * configure.ac (DEFAULT_DIFF_PROGRAM):
|
|---|
| 691 | Define to "diff", not "$bindir/diff" (which didn't work anyway).
|
|---|
| 692 | (AC_CHECK_MEMBERS): Add struct stat.st_blksize, struct stat.st_rdev.
|
|---|
| 693 | (AC_STRUCT_ST_BLKSIZE, AC_STRUCT_ST_RDEV): Remove; obsolescent.
|
|---|
| 694 | (AC_FUNC_FORK): Use this, instead of obsolescent AC_FUNC_VFORK.
|
|---|
| 695 | (AC_CONFIG_FILES, AC_CONFIG_COMMANDS): Add.
|
|---|
| 696 | (AC_OUTPUT): Remove args; they were obsolescent.
|
|---|
| 697 |
|
|---|
| 698 | * util.c (setup_output, begin_output, finish_output):
|
|---|
| 699 | HAVE_FORK -> HAVE_WORKING_FORK || HAVE_WORKING_VFORK.
|
|---|
| 700 | * sdiff.c (diffpid, cleanup, main, edit): Likewise.
|
|---|
| 701 | * diff3.c (read_diff): Likewise.
|
|---|
| 702 |
|
|---|
| 703 | * system.h (STAT_BLOCKSIZE):
|
|---|
| 704 | Use HAVE_STRUCT_STAT_ST_BLKSIZE, not HAVE_ST_BLKSIZE.
|
|---|
| 705 | (vfork): New macro.
|
|---|
| 706 | (HAVE_FORK): Remove.
|
|---|
| 707 | (set_binary_mode): New macro.
|
|---|
| 708 |
|
|---|
| 709 | * sdiff.c (main): HAVE_VFORK -> HAVE_WORKING_VFORK.
|
|---|
| 710 | (edit): Reopen the temporary file after the editor has run, in case
|
|---|
| 711 | the editor operates by unlinking the old file and linking a new one.
|
|---|
| 712 | (P_tmpdir): Rename from PVT_tmpdir; this fixes a typo.
|
|---|
| 713 | All uses changed.
|
|---|
| 714 |
|
|---|
| 715 | * io.c (sip, read_files):
|
|---|
| 716 | Remove tests for HAVE_SETMODE; use set_binary_mode
|
|---|
| 717 | instead of setmode.
|
|---|
| 718 | (sip): Fix typo in backward lseek when reverting to text mode.
|
|---|
| 719 |
|
|---|
| 720 | * config.site, config.sed, config.bat: New file.
|
|---|
| 721 |
|
|---|
| 722 | * Makefile.am (EXTRA_DIST): Add xstrtol.c.
|
|---|
| 723 | (noinst_HEADERS): Add xstrtol.h.
|
|---|
| 724 | (libdiffutils_a_SOURCES): Add xstrtoumax.c.
|
|---|
| 725 |
|
|---|
| 726 | * cmp.c: <xstrtol.h>: Include.
|
|---|
| 727 | (ignore_initial): Now an array with 2 elements. All uses changed.
|
|---|
| 728 | (bytes): New var.
|
|---|
| 729 | (HELP_OPTION): New constant.
|
|---|
| 730 | (long_options, main): Use it.
|
|---|
| 731 | (long_options, option_help_msgid, main, cmp):
|
|---|
| 732 | Add support for -n or --bytes.
|
|---|
| 733 | (parse_ignore_initial): New function.
|
|---|
| 734 | (option_help_msgid, main): Add -i M:N.
|
|---|
| 735 | (usage, main): Add two optional trailing operands, a la BSD.
|
|---|
| 736 | (main): setmode -> set_binary_mode.
|
|---|
| 737 | (cmp): Report byte number of what we've seen, not of the entire file.
|
|---|
| 738 | This is to be consistent with the line number, which is always relative
|
|---|
| 739 | with what we've seen.
|
|---|
| 740 |
|
|---|
| 741 | 2001-12-02 Paul Eggert <[email protected]>
|
|---|
| 742 |
|
|---|
| 743 | * diff.c (main, compare_files): setmode -> set_binary_mode.
|
|---|
| 744 |
|
|---|
| 745 | * xstrtol.c (__xstrtol): Don't accept 'Ki'; require 'KiB'.
|
|---|
| 746 |
|
|---|
| 747 | * xstrtol.c (__xstrtol): Add support for IEC 60027-2.
|
|---|
| 748 |
|
|---|
| 749 | 2001-11-25 Paul Eggert <[email protected]>
|
|---|
| 750 |
|
|---|
| 751 | * NEWS, configure.ac (AM_INIT_AUTOMAKE): Version 2.7.3.
|
|---|
| 752 |
|
|---|
| 753 | * README-alpha: New file.
|
|---|
| 754 |
|
|---|
| 755 | * src/Makefile.am (INCLUDES): Add -I../lib, for regex.h.
|
|---|
| 756 |
|
|---|
| 757 | * configure.ac:
|
|---|
| 758 | Don't set LIB_CLOCK_GETTIME to 'none required'; set it to
|
|---|
| 759 | the empty string instead.
|
|---|
| 760 |
|
|---|
| 761 | * lib/Makefile.am (EXTRA_DIST): Add strtoimax.c, strtol.c.
|
|---|
| 762 |
|
|---|
| 763 | * Makefile.am (SUBDIRS): Put intl before lib, so that libintl.h exists.
|
|---|
| 764 |
|
|---|
| 765 | * lib/Makefile.am (noinst_HEADERS): Add unlocked-io.h.
|
|---|
| 766 |
|
|---|
| 767 | * configure.ac (__EXTENSIONS__): New define, for the unlocked macros.
|
|---|
| 768 |
|
|---|
| 769 | * README: Add copyright notice.
|
|---|
| 770 | Remove stuff that doesn't apply any more.
|
|---|
| 771 |
|
|---|
| 772 | * doc/diff.texi: offsets -> indices for cmp
|
|---|
| 773 |
|
|---|
| 774 | * src/cmp.c (option_help_msgid): offsets -> indices
|
|---|
| 775 |
|
|---|
| 776 | * src/diff.c (option_help_msgid):
|
|---|
| 777 | Don't mention --binary on POSIX hosts.
|
|---|
| 778 |
|
|---|
| 779 | * src/sdiff.c (STRIP_TRAILING_CR_OPTION): New constant.
|
|---|
| 780 | (longopts, option_help_msgid, main): Add -E, --ignore-tab-expansion,
|
|---|
| 781 | --strip-trailing-cr.
|
|---|
| 782 |
|
|---|
| 783 | * doc/diff.texi: Change direcategory from Utilities to GNU Packages.
|
|---|
| 784 | Add individual utilities.
|
|---|
| 785 | Switch to Free Documentation License.
|
|---|
| 786 | @code -> @command
|
|---|
| 787 | @samp -> @option
|
|---|
| 788 | GNU -> @sc{gnu}
|
|---|
| 789 | Expand tabs to spaces, except when in an example that actually
|
|---|
| 790 | uses tabs.
|
|---|
| 791 | Prefer @node with just one arg.
|
|---|
| 792 | Document -E or --ignore-tab-expansion, --strip-trailing-cr,
|
|---|
| 793 | --ignore-file-name-case.
|
|---|
| 794 | Regular expressions are now grep style, not Emacs style.
|
|---|
| 795 | cmp's -c or --print-chars option is now -b or --print-bytes.
|
|---|
| 796 | Time stamps now depend on LC_TIME.
|
|---|
| 797 | -p now implies ^[[:alpha:]$_].
|
|---|
| 798 | Flags now include ' and 0.
|
|---|
| 799 | cmp -i is an alias for --ignore-initial
|
|---|
| 800 | Document --from-file, --to-file.
|
|---|
| 801 | Document DIFF_OPTIONS.
|
|---|
| 802 |
|
|---|
| 803 | * configure.ac (AC_CHECK_FUNCS): Add gettimeofday, clock_gettime.
|
|---|
| 804 | (LIB_CLOCK_GETTIME): New subst.
|
|---|
| 805 |
|
|---|
| 806 | * src/system.h: Assume C89 or better.
|
|---|
| 807 | (_GNU_SOURCE): Remove; config.h now defines it.
|
|---|
| 808 | (alloca): Declare like coreutils does it.
|
|---|
| 809 | (verify, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, O_RDWR,
|
|---|
| 810 | S_IRUSR, S_IWUSR): New macros.
|
|---|
| 811 | (STAT_BLOCKSIZE): Parenthesize definiens.
|
|---|
| 812 | <inttypes.h>: Include if HAVE_INTTYPES_H.
|
|---|
| 813 | (CHAR_MAX, INT_MAX): Remove.
|
|---|
| 814 | (PTRDIFF_MAX, SIZE_MAX): New macros.
|
|---|
| 815 | (strtoumax): New decl.
|
|---|
| 816 | Include stddef.h.
|
|---|
| 817 | (bzero): Remove.
|
|---|
| 818 | (bindtextdomain, textdomain, N_): New macros.
|
|---|
| 819 | (ISPRINT, ISSPACE): Remove ifndef wrappers.
|
|---|
| 820 | (ISUPPER, ISDIGIT): Remove.
|
|---|
| 821 | (TOLOWER): New macro.
|
|---|
| 822 | (MIN): Renamed from min; all callers changed.
|
|---|
| 823 | (MAX): Likewise, from max.
|
|---|
| 824 | (lin): New type.
|
|---|
| 825 | (LIN_MAX): New macro.
|
|---|
| 826 | (file_name_cmp): Renamed from filename_cmp. All callers changed.
|
|---|
| 827 | (file_name_lastdirchar): Renamed from file_name_lastdirchar.
|
|---|
| 828 | All callers changed.
|
|---|
| 829 | (could_be_mvfs_stat_bug, could_be_nfs_stat_bug,
|
|---|
| 830 | dev_may_have_duplicate_ino): Remove.
|
|---|
| 831 | (HAVE_SETMODE, NULL_DEVICE): New macros.
|
|---|
| 832 | (same_file): Do not check attributes.
|
|---|
| 833 | (same_file_attributes): New macro.
|
|---|
| 834 |
|
|---|
| 835 | * src/util.c: Assume C89 or better.
|
|---|
| 836 | int -> bool for booleans.
|
|---|
| 837 | int -> lin for line numbers.
|
|---|
| 838 | int -> size_t for sizes.
|
|---|
| 839 | Use angle-brackets when including quotesys.h.
|
|---|
| 840 | Include error.h, regex.h, xalloc.h.
|
|---|
| 841 | (message5): sizeof -> offsetof
|
|---|
| 842 | (begin_output): Invoke pr without -f.
|
|---|
| 843 | (lines_differ): Renamed from line_cmp, and return bool not 3-way int.
|
|---|
| 844 | All callers changed.
|
|---|
| 845 | Add support for IGNORE_TAB_EXPANSION.
|
|---|
| 846 | (change_letter): Now an array rather than a function. All
|
|---|
| 847 | callers changed.
|
|---|
| 848 | (translate_range): Translate line numbers to long, not lin,
|
|---|
| 849 | for convenience with printf.
|
|---|
| 850 | (analyze_hunk): Return enum changes instead of a count of
|
|---|
| 851 | inserts and deletes. All callers changed.
|
|---|
| 852 | (zalloc): New function.
|
|---|
| 853 |
|
|---|
| 854 | * src/side.c: Assume C89 or better.
|
|---|
| 855 | int -> bool for booleans.
|
|---|
| 856 | int -> lin for line numbers.
|
|---|
| 857 |
|
|---|
| 858 | * src/sdiff.c: Assume C89 or better.
|
|---|
| 859 | int -> bool for booleans.
|
|---|
| 860 | int -> lin for line numbers.
|
|---|
| 861 | Use angle-brackets when including getopt.h, quotesys.h.
|
|---|
| 862 | Include error.h, freesoft.h, stdio.h, xalloc.h.
|
|---|
| 863 | (copyright_string): Use only most recent year.
|
|---|
| 864 | (authorship_msgid, option_help_msgid): Wrap in N_().
|
|---|
| 865 |
|
|---|
| 866 | (tmpname): Now volatile.
|
|---|
| 867 | (tmpmade): Remove.
|
|---|
| 868 | (tmp): New var.
|
|---|
| 869 | (private_tempnam, exists, letters): Remove.
|
|---|
| 870 | (temporary_file): New function.
|
|---|
| 871 | (edit): Use it.
|
|---|
| 872 | (interact): Use strtoumax, not atoi.
|
|---|
| 873 |
|
|---|
| 874 | * src/normal.c: Assume C89 or better.
|
|---|
| 875 | int -> lin for line numbers.
|
|---|
| 876 |
|
|---|
| 877 | * src/io.c: Assume C89 or better.
|
|---|
| 878 | int -> bool for booleans.
|
|---|
| 879 | int -> lin for line numbers.
|
|---|
| 880 | int -> size_t for sizes.
|
|---|
| 881 | Use angle-brackets when including cmpbuf.h.
|
|---|
| 882 | Include regex.h, xalloc.h.
|
|---|
| 883 | (word): Remove; now done in system.h.
|
|---|
| 884 | (hash_value): New type; use it instead of 'unsigned' for hash values.
|
|---|
| 885 | (file_block_read): New function.
|
|---|
| 886 | (sip, slurp): Use it. Now static.
|
|---|
| 887 | (sip): Ensure block size is a multiple of word size. Clear eof flag.
|
|---|
| 888 | (slurp): Use xalloc_die to report memory exhaustion.
|
|---|
| 889 | (find_and_hash_each_line): Use TOLOWER instead of _tolower.
|
|---|
| 890 | Add support for IGNORE_TAB_EXPANSION.
|
|---|
| 891 | (prepare_text_end): Strip trailing CR if requested.
|
|---|
| 892 | (find_identical_ends): Prepare the text only once,
|
|---|
| 893 | if they're duplicates.
|
|---|
| 894 | Let the compiler take advantage more of the fact that the buffers are
|
|---|
| 895 | word-aligned.
|
|---|
| 896 | (primes): Remove.
|
|---|
| 897 | (prime_offset): New var.
|
|---|
| 898 | (read_var): Use prime_offset instead of primes.
|
|---|
| 899 | Use zalloc instead of xmalloc + bzero.
|
|---|
| 900 |
|
|---|
| 901 | * src/ifdef.c: Assume C89 or better.
|
|---|
| 902 | int -> lin for line numbers.
|
|---|
| 903 | (format_group): Use strtoumax to parse line numbers.
|
|---|
| 904 | (format_group, print_ifdef_lines): Use do_printf_spec to
|
|---|
| 905 | handle printf specs.
|
|---|
| 906 | (groups_letter_value): Don't use _tolower; it's locale-dependent.
|
|---|
| 907 | (do_printf_spec): Renamed from scan_printf_spec; now does the printing.
|
|---|
| 908 |
|
|---|
| 909 | * src/ed.c: Assume C89 or better.
|
|---|
| 910 | int -> lin for line numbers (or 'long' when that's more convenient).
|
|---|
| 911 | (print_ed_hunk): Fix bug when handling double-dot inserts.
|
|---|
| 912 |
|
|---|
| 913 | * src/dir.c: Assume C89 or better.
|
|---|
| 914 | int -> bool for booleans.
|
|---|
| 915 | Include error.h, exclude.h, xalloc.h.
|
|---|
| 916 |
|
|---|
| 917 | (dir_sort): Return 0 on error, 1 on success. All callers changed.
|
|---|
| 918 | compare_names -> compare_names_for_qsort.
|
|---|
| 919 |
|
|---|
| 920 | (compare_names): Try strcasecmp if ignore_file_name_case. Then try
|
|---|
| 921 | strcoll. Use file_name_cmp only as a last resort. Warn about
|
|---|
| 922 | strcasecmp or strcoll failure.
|
|---|
| 923 | (compare_names_for_qsort): New function.
|
|---|
| 924 |
|
|---|
| 925 | (diff_dirs): Use compare_names rather than filename_cmp.
|
|---|
| 926 |
|
|---|
| 927 | * src/diff3.c: Assume C89 or better.
|
|---|
| 928 | int -> bool for booleans.
|
|---|
| 929 | int -> lin for line numbers.
|
|---|
| 930 | Use angle-brackets when including getopt.h, quotesys.h.
|
|---|
| 931 | Include error.h, freesoft.h, inttostr.h, xalloc.h.
|
|---|
| 932 | (copyright_string): Use only most recent year.
|
|---|
| 933 | (authorship_msgid, option_help_msgid): Wrap in N_().
|
|---|
| 934 |
|
|---|
| 935 | Rename the following variables for consistency with user-visible
|
|---|
| 936 | option spellings. All uses changed.
|
|---|
| 937 | (text): Renamed from always_text.
|
|---|
| 938 | (initial_tab): Renamed from tab_align_flag.
|
|---|
| 939 |
|
|---|
| 940 | (horizon_lines): Remove. Remove all uses.
|
|---|
| 941 |
|
|---|
| 942 | (main): Invoke bindtextdomain and textdomain after setlocale.
|
|---|
| 943 | Rename "DIFF" to "DIFF_PROGRAM".
|
|---|
| 944 |
|
|---|
| 945 | Try to compare file0 to file1, because this is where changes are
|
|---|
| 946 | expected to come from. Diffing between these pairs of files is more
|
|---|
| 947 | likely to avoid phantom changes from file0 to file1.
|
|---|
| 948 | However, use file2 as the common file if this is a 3-way diff,
|
|---|
| 949 | for backward compatibility. Suggested by Karl Tomlinson.
|
|---|
| 950 |
|
|---|
| 951 | (create_diff3_block): Use xcalloc instead of malloc + bzero.
|
|---|
| 952 |
|
|---|
| 953 | (INT_STRLEN_BOUND): Remove; now in system.h.
|
|---|
| 954 |
|
|---|
| 955 | (read_diff): Always use --horizon-lines=100 rather than trying
|
|---|
| 956 | to guess it.
|
|---|
| 957 | Do not pass --inhibit-hunk-merge.
|
|---|
| 958 | Minimum chunk size is 1, not 8KiB.
|
|---|
| 959 | Use xalloc_die to report memory exhaustion.
|
|---|
| 960 | (undotlines): Use long for start, not int.
|
|---|
| 961 |
|
|---|
| 962 | * src/diff.h: Assume C89 or better.
|
|---|
| 963 | int -> bool for booleans.
|
|---|
| 964 | int -> lin for line numbers.
|
|---|
| 965 | Don't include regex.h.
|
|---|
| 966 | (enum changes): New enum.
|
|---|
| 967 | (enum line_class): Remove; subsumed by enum changes.
|
|---|
| 968 | (enum output_style): New constant OUTPUT_UNSPECIFIED.
|
|---|
| 969 |
|
|---|
| 970 | (ignore_space_change_flag, ignore_all_space_flag): Remove.
|
|---|
| 971 | (ignore_white_space): New decl, subsuming the above two. All
|
|---|
| 972 | uses changed.
|
|---|
| 973 |
|
|---|
| 974 | Rename the following decls for consistency with user-visible
|
|---|
| 975 | option spellings. All uses changed.
|
|---|
| 976 | (text): Renamed from always_text_flag.
|
|---|
| 977 | (ignore_blank_lines): Renamed from ignore_blank_lines_flag.
|
|---|
| 978 | (ignore_case): Renamed from ignore_case_flag.
|
|---|
| 979 | (brief): Renamed from no_details_flag.
|
|---|
| 980 | (initial_tab): Renamed from tab_align_flag.
|
|---|
| 981 | (expand_tabs): Renamed from tab_expand_flag.
|
|---|
| 982 | (starting_file): Renamed from dir_start_file.
|
|---|
| 983 | (paginate): Renamed from paginate_flag.
|
|---|
| 984 | (sdiff_merge_assist): Renamed from sdiff_help_sdiff.
|
|---|
| 985 | (left_column): Renamed from sdiff_left_only.
|
|---|
| 986 | (suppress_common_lines): Renamed from sdiff_skip_common_lines.
|
|---|
| 987 | (speed_large_files): Renamed from heuristic.
|
|---|
| 988 | (minimal): Renamed from no_discards.
|
|---|
| 989 |
|
|---|
| 990 | (inhibit_hunk_merge): Remove.
|
|---|
| 991 |
|
|---|
| 992 | (strip_trailing_cr, excluded, time_format): New decls.
|
|---|
| 993 |
|
|---|
| 994 | (files_can_be_treated_as_binary): Renamed from ignore_some_changes.
|
|---|
| 995 |
|
|---|
| 996 | (group_format, line_format): Now char const *[], not char *[].
|
|---|
| 997 |
|
|---|
| 998 | (struct file_data): Buffer is now word*, not char*, as it's always
|
|---|
| 999 | aligned and this can help the compiler. buffered_chars -> buffered
|
|---|
| 1000 | (since it's a byte count, not a char count). All uses changed.
|
|---|
| 1001 | New member `eof'.
|
|---|
| 1002 |
|
|---|
| 1003 | (FILE_BUFFER): New macro.
|
|---|
| 1004 |
|
|---|
| 1005 | (excluded_filename, error, free_software_msgid): Remove decls; now in
|
|---|
| 1006 | other .h files.
|
|---|
| 1007 |
|
|---|
| 1008 | (sip, slurp): Remove decls.
|
|---|
| 1009 | (file_block_read): New decl.
|
|---|
| 1010 | (change_letter): Now an array, not a function.
|
|---|
| 1011 | (lines_differ): Renamed from line_cmp.
|
|---|
| 1012 | (analyze_hunk): Now returns enum changes rather than two change counts.
|
|---|
| 1013 |
|
|---|
| 1014 | * src/Makefile.am (diff_LDADD): New symbol.
|
|---|
| 1015 |
|
|---|
| 1016 | * src/diff.c: Assume C89 or better.
|
|---|
| 1017 | int -> bool for booleans.
|
|---|
| 1018 | long -> off_t for line numbers.
|
|---|
| 1019 | Use angle-brackets when including getopt.h, fnmatch.h, quotesys.h.
|
|---|
| 1020 | Include error.h, exclude.h, freesoft.h, hard-locale.h, prepargs.h,
|
|---|
| 1021 | regex.h, signal.h, xalloc.h.
|
|---|
| 1022 | (copyright_string): Use only most recent year.
|
|---|
| 1023 | (authorship_msgid, option_help_msgid): Wrap in N_().
|
|---|
| 1024 |
|
|---|
| 1025 | Rename the following variables for consistency with user-visible
|
|---|
| 1026 | option spellings. All uses changed.
|
|---|
| 1027 | (binary): Renamed from binary_flag.
|
|---|
| 1028 | (new_file): Renamed from entire_new_file_flag.
|
|---|
| 1029 | (unidirectional_new_file): Renamed from unidirectional_new_file_flag.
|
|---|
| 1030 | (report_identical_files): Renamed from print_file_same_flag.
|
|---|
| 1031 |
|
|---|
| 1032 | (numeric_arg): Remove.
|
|---|
| 1033 |
|
|---|
| 1034 | (exclude, exclude_alloc, exclude_count, excluded_filename, add_exclude,
|
|---|
| 1035 | add_exclude_file):
|
|---|
| 1036 | Remove; now done by exclude.h.
|
|---|
| 1037 |
|
|---|
| 1038 | (BINARY_OPTION, FROM_FILE_OPTION, HELP_OPTION, HORIZON_LINES_OPTION,
|
|---|
| 1039 | IGNORE_FILE_NAME_CASE_OPTION, INHIBIT_HUNK_MERGE_OPTION,
|
|---|
| 1040 | LEFT_COLUMN_OPTION, LINE_FORMAT_OPTION, NORMAL_OPTION,
|
|---|
| 1041 | SDIFF_MERGE_ASSIST_OPTION, STRIP_TRAILING_CR_OPTION,
|
|---|
| 1042 | SUPPRESS_COMMON_LINES_OPTION, TO_FILE_OPTION,
|
|---|
| 1043 | UNCHANGED_LINE_FORMAT_OPTION, OLD_LINE_FORMAT_OPTION,
|
|---|
| 1044 | NEW_LINE_FORMAT_OPTION, UNCHANGED_GROUP_FORMAT_OPTION,
|
|---|
| 1045 | OLD_GROUP_FORMAT_OPTION, NEW_GROUP_FORMAT_OPTION,
|
|---|
| 1046 | CHANGED_GROUP_FORMAT_OPTION): New constants.
|
|---|
| 1047 | (longopts, main): Use them.
|
|---|
| 1048 |
|
|---|
| 1049 | (longopts, main, option_help_msgid): Add -E, --from-file, --to-file.
|
|---|
| 1050 |
|
|---|
| 1051 | (main): Invoke bindtextdomain and textdomain after setlocale.
|
|---|
| 1052 | Use grep syntax, not Emacs, for regular expressions.
|
|---|
| 1053 | Use exclude.h, not our own functions.
|
|---|
| 1054 | Use ISO 8601 time format in hard locales.
|
|---|
| 1055 | Prepend DIFF_OPTIONS.
|
|---|
| 1056 | Don't update ignore_some_changes.
|
|---|
| 1057 | Use strtoumax instead of numeric_arg.
|
|---|
| 1058 | Use specify_value when appropriate.
|
|---|
| 1059 | error -> try_help when appropriate.
|
|---|
| 1060 | -p now means ^[[:alpha:]$_], not ^[_a-zA-Z$].
|
|---|
| 1061 | Ignore --inhibit-hunk-merge.
|
|---|
| 1062 | Prefer changed group formats to unchanged ones.
|
|---|
| 1063 | Remove now-unnecessary casts.
|
|---|
| 1064 | Set files_can_be_treated_as_binary.
|
|---|
| 1065 |
|
|---|
| 1066 | (specify_value): Renamed from specify_format. All uses changed.
|
|---|
| 1067 |
|
|---|
| 1068 | (specify_style): Default is now unspecified, not normal. All
|
|---|
| 1069 | uses changed.
|
|---|
| 1070 |
|
|---|
| 1071 | (set_mtime_to_now): New function.
|
|---|
| 1072 | (compare_files): Use it. Use memset, not bzero.
|
|---|
| 1073 | Set stdin mtime to current time even when stdin is not a regular file.
|
|---|
| 1074 | Check for same file attributes, as well as for same file.
|
|---|
| 1075 | Use files_can_be_treated_as_binary.
|
|---|
| 1076 | "write failed" -> "standard output on output failure.
|
|---|
| 1077 |
|
|---|
| 1078 | * src/context.c: Assume C89 or better.
|
|---|
| 1079 | int -> lin for line numbers.
|
|---|
| 1080 | Include inttostr.h, regex.h.
|
|---|
| 1081 | (TIMESPEC_NS): New macro.
|
|---|
| 1082 | (nstrftime): New decl.
|
|---|
| 1083 | (print_context_label): Use nstrftime and time_format to format times.
|
|---|
| 1084 | Print numeric time stamp value if localtime fails.
|
|---|
| 1085 | (print_context_function): New function.
|
|---|
| 1086 | (pr_context_hunk, pr_unidiff_hunk): Use it.
|
|---|
| 1087 | (find_function): Use size_t for sizes, not int.
|
|---|
| 1088 |
|
|---|
| 1089 | * src/cmp.c: Assume C89 or better.
|
|---|
| 1090 | int -> bool for booleans.
|
|---|
| 1091 | long -> off_t for line numbers.
|
|---|
| 1092 | Use angle-brackets when including cmpbuf.h, getopt.h.
|
|---|
| 1093 | Include error.h, freesoft.h, inttostr.h, xalloc.h.
|
|---|
| 1094 | (copyright_string): Use only most recent year.
|
|---|
| 1095 | (authorship_msgid): Wrap in N_().
|
|---|
| 1096 | (buffer): Now word*, not char*. All uses changed.
|
|---|
| 1097 | (word): Remove macro; now in system.h.
|
|---|
| 1098 | (long_options, option_help_msgid, main): -c --print-chars ->
|
|---|
| 1099 | -b --print-bytes
|
|---|
| 1100 | (check_stdout): "write failed" -> "standard output"
|
|---|
| 1101 | (option_help_msgid): Wrap in N_().
|
|---|
| 1102 | (main): Invoke bindtextdomain and textdomain after setlocale.
|
|---|
| 1103 | Use strtoumax instead of doing the work ourselves.
|
|---|
| 1104 | Check for same_file_attributes as well as same_file.
|
|---|
| 1105 | (cmp): Use ssize_t for read returns, not size_t.
|
|---|
| 1106 | Do not assume that size_t is not narrower than int.
|
|---|
| 1107 | Do not assume that line numbers fit in 'long'.
|
|---|
| 1108 | (block_compare_and_count, block_compare):
|
|---|
| 1109 | Compiler now checks that buffers are word-aligned.
|
|---|
| 1110 | (block_compare_and_count): Count sizes with size_t, not long.
|
|---|
| 1111 | (sprintc): byte arg is unsigned char, not unsigned.
|
|---|
| 1112 |
|
|---|
| 1113 | * src/analyze.c: Assume C89 or better.
|
|---|
| 1114 | int -> lin for line numbers.
|
|---|
| 1115 | int -> bool for booleans.
|
|---|
| 1116 | unsigned int -> size_t for sizes.
|
|---|
| 1117 | Use angle-brackets when including cmpbuf.h.
|
|---|
| 1118 | Include error.h, regex.h, xalloc.h.
|
|---|
| 1119 | (discard_confusing_lines, diff_2_files): Use zalloc rather
|
|---|
| 1120 | than xalloc+bzero.
|
|---|
| 1121 | (discard_confusing_lines): unsigned int -> lin for values that
|
|---|
| 1122 | are really line numbers.
|
|---|
| 1123 | (shift_boundaries): Do not inhibit hunk merges.
|
|---|
| 1124 | (build_reverse_script, build_script, diff_2_files): Use |, not ||.
|
|---|
| 1125 | (diff_2_files): no_details_flag & ~ignore_some_changes ->
|
|---|
| 1126 | files_can_be_treated_as_binary. Esure that buffer size is a multiple
|
|---|
| 1127 | of sizeof (word). Use file_block_read to read buffers.
|
|---|
| 1128 | (diff_2_files): Abort if output style is not one of the
|
|---|
| 1129 | expected styles.
|
|---|
| 1130 |
|
|---|
| 1131 | 2001-11-23 Paul Eggert <[email protected]>
|
|---|
| 1132 |
|
|---|
| 1133 | * src/Makefile.am, m4/vararrays.m4: New file.
|
|---|
| 1134 |
|
|---|
| 1135 | * m4/prereq.m4 (jm_PREREQ_READUTMP):
|
|---|
| 1136 | Remove, as it gives autoheader the willies.
|
|---|
| 1137 |
|
|---|
| 1138 | * m4/README, lib/prepargs.h, lib/prepargs.c, lib/offtostr.c,
|
|---|
| 1139 | lib/umaxtostr.c, lib/inttostr.c, lib/inttostr.h,
|
|---|
| 1140 | lib/imaxtostr.c, lib/freesoft.h: New files.
|
|---|
| 1141 |
|
|---|
| 1142 | * lib/freesoft.c: Include config.h, freesoft.h rather than diff.h.
|
|---|
| 1143 | (free_software_msgid): Wrap contents in N_.
|
|---|
| 1144 |
|
|---|
| 1145 | * lib/cmpbuf.h: Use prototypes instead of old-style functions.
|
|---|
| 1146 |
|
|---|
| 1147 | * lib/cmpbuf.c:
|
|---|
| 1148 | Don't include system.h; instead, include config.h, unistd.h.
|
|---|
| 1149 | Use prototypes instead of old-style functions.
|
|---|
| 1150 | (block_read): Don't assume that int is no wider than size_t.
|
|---|
| 1151 |
|
|---|
| 1152 | * lib/Makefile.am, po/POTFILES.in: New file.
|
|---|
| 1153 |
|
|---|
| 1154 | 2001-11-22 Paul Eggert <[email protected]>
|
|---|
| 1155 |
|
|---|
| 1156 | * pc/config.h:
|
|---|
| 1157 | Define filename_cmp as an object-like macro, not as a function-like
|
|---|
| 1158 | macro.
|
|---|
| 1159 |
|
|---|
| 1160 | * exgettext: Always operate in the C locale.
|
|---|
| 1161 | Set AWK using a method that works even with broken shells.
|
|---|
| 1162 |
|
|---|
| 1163 | * doc/Makefile.am: New file.
|
|---|
| 1164 |
|
|---|
| 1165 | * configure.ac (AC_INIT):
|
|---|
| 1166 | Use src/diff.c, not diff.h, as the source files got removed.
|
|---|
| 1167 | (AM_CONFIG_HEADER): Switch from AC_CONFIG_HEADER.
|
|---|
| 1168 | (AC_ARG_PROGRAM, AC_MINIX): Remove.
|
|---|
| 1169 |
|
|---|
| 1170 | (AC_PREREQ, AM_INIT_AUTOMAKE, ALL_LINGUAS, AC_PROG_AWK,
|
|---|
| 1171 | AM_PROG_CC_STDC, AC_PROG_RANLIB, AC_C_INLINE, AC_C_VARARRAYS,
|
|---|
| 1172 | DEFAULT_DIFF_PROGRAM, DEFAULT_EDITOR_PROGRAM,
|
|---|
| 1173 | AC_STRUCT_ST_MTIM_NSEC): Add.
|
|---|
| 1174 |
|
|---|
| 1175 | (PR_PROGRAM): AC_DEFINE.
|
|---|
| 1176 |
|
|---|
| 1177 | (AC_SYS_LARGEFILE): Use instead of our homebrew version.
|
|---|
| 1178 |
|
|---|
| 1179 | (_GNU_SOURCE): Define if not defined.
|
|---|
| 1180 |
|
|---|
| 1181 | (AC_CHECK_HEADERS): Add stdbool.h, unistd.h.
|
|---|
| 1182 | (AC_CHECK_TYPES): Add ptrdiff_t, uintmax_t.
|
|---|
| 1183 | (AM_GNU_GETTEXT, XGETTEXT): Add.
|
|---|
| 1184 |
|
|---|
| 1185 | (WITH_MVFS_STAT_BUG, WITH_NFS_STAT_BUG): Remove.
|
|---|
| 1186 | (HAVE_MEMCHR): Remove.
|
|---|
| 1187 | (AC_CHECK_FUNCS): Add diraccess.
|
|---|
| 1188 | (AC_REPLACE_FUNCS): Add memchr, waitpid.
|
|---|
| 1189 | (jm_FUNC_GLIBC_UNLOCKED_IO, jm_FUNC_GNU_STRFTIME, jm_FUNC_MALLOC,
|
|---|
| 1190 | jm_FUNC_REALLOC, jm_PREREQ_ERROR, jm_PREREQ_QUOTEARG, jm_PREREQ_REGEX,
|
|---|
| 1191 | jm_PREREQ_TEMPNAME, jm_AC_PREREQ_XSTRTOUMAX, AC_FUNC_FNMATCH): Add.
|
|---|
| 1192 | (fnmatch.h, regex.h): Do not create these files unless we're using
|
|---|
| 1193 | our own fnmatch and regex.
|
|---|
| 1194 |
|
|---|
| 1195 | (AC_OUTPUT): Add doc/Makefile, intl/Makefile, lib/Makefile,
|
|---|
| 1196 | lib/posix/Makefile, m4/Makefile, po/Makefile.in, src/Makefile.
|
|---|
| 1197 |
|
|---|
| 1198 | * Makefile.am: New file.
|
|---|
| 1199 |
|
|---|
| 1200 | * po/en_GB.po: Don't translate "program" to "programme".
|
|---|
| 1201 |
|
|---|
| 1202 | 2001-11-20 Paul Eggert <[email protected]>
|
|---|
| 1203 |
|
|---|
| 1204 | * m4/prereq.m4: New file.
|
|---|
| 1205 |
|
|---|
| 1206 | 2001-03-16 Paul Eggert <[email protected]>
|
|---|
| 1207 |
|
|---|
| 1208 | * lib/tempname.c (uint64_t):
|
|---|
| 1209 | Define if not defined, and if UINT64_MAX is not defined.
|
|---|
| 1210 |
|
|---|
| 1211 | 2001-02-26 Paul Eggert <[email protected]>
|
|---|
| 1212 |
|
|---|
| 1213 | * lib/tempname.c: glibc 1.32
|
|---|
| 1214 |
|
|---|
| 1215 | 2001-02-17 Paul Eggert <[email protected]>
|
|---|
| 1216 |
|
|---|
| 1217 | * m4/Makefile.am.in: GNU fileutils 4.1
|
|---|
| 1218 |
|
|---|
| 1219 | 2001-01-09 Paul Eggert <[email protected]>
|
|---|
| 1220 |
|
|---|
| 1221 | * lib/tempname.c (struct_stat64): New macro.
|
|---|
| 1222 | (direxists, __gen_tempname): Use it. This avoids a portability problem
|
|---|
| 1223 | with Solaris 8.
|
|---|
| 1224 |
|
|---|
| 1225 | * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
|
|---|
| 1226 | (<stddef.h>, <stdint.h>, <string.h>):
|
|---|
| 1227 | Include only if STDC_HEADERS || _LIBC.
|
|---|
| 1228 | (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
|
|---|
| 1229 | (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
|
|---|
| 1230 | (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
|
|---|
| 1231 | (__set_errno): Define this macro if <errno.h> doesn't.
|
|---|
| 1232 | (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
|
|---|
| 1233 | Define these macros if <stdio.h> doesn't.
|
|---|
| 1234 | (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
|
|---|
| 1235 | Define these macros if <sys/stat.h>
|
|---|
| 1236 | doesn't. Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
|
|---|
| 1237 | (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
|
|---|
| 1238 | __xstat64): Define if not _LIBC.
|
|---|
| 1239 | (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
|
|---|
| 1240 | (__gen_tempname): Invoke gettimeofday only if HAVE_GETTIMEOFDAY
|
|---|
| 1241 | || _LIBC; otherwise, fall back on plain "time".
|
|---|
| 1242 | Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
|
|---|
| 1243 |
|
|---|
| 1244 | * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
|
|---|
| 1245 |
|
|---|
| 1246 | 2000-10-25 Paul Eggert <[email protected]>
|
|---|
| 1247 |
|
|---|
| 1248 | * lib/hard-locale.c: New file.
|
|---|
| 1249 |
|
|---|
| 1250 | 2000-02-05 Paul Eggert <[email protected]>
|
|---|
| 1251 |
|
|---|
| 1252 | * exgettext: From GCC repository
|
|---|
| 1253 |
|
|---|
| 1254 | 1999-07-06 Paul Eggert <[email protected]>
|
|---|
| 1255 |
|
|---|
| 1256 | * lib/mkstemp.c: glibc 2.2
|
|---|
| 1257 |
|
|---|
| 1258 | 1998-12-11 Paul Eggert <[email protected]>
|
|---|
| 1259 |
|
|---|
| 1260 | * src/sdiff.c (lf_snarf):
|
|---|
| 1261 | Fix bug when help line wrapped around the input buffer.
|
|---|
| 1262 |
|
|---|
| 1263 | 1998-09-15 Paul Eggert <[email protected]>
|
|---|
| 1264 |
|
|---|
| 1265 | * diff.texi: Add @dircategory and @direntry.
|
|---|
| 1266 |
|
|---|
| 1267 | 1998-09-14 Paul Eggert <[email protected]>
|
|---|
| 1268 |
|
|---|
| 1269 | * Makefile.in (VERSION): Version 2.7.2.
|
|---|
| 1270 | (DEFAULT_DIFF_PROGRAM): Renamed from DIFF_PROGRAM.
|
|---|
| 1271 | (PR_PROGRAM): All `configure' to define it.
|
|---|
| 1272 | (srcs): Add $(diffutils_srcs), freesoft.c, quotearg.c instead of
|
|---|
| 1273 | quote.c, quotearg.h.
|
|---|
| 1274 | (distfiles): Add acconfig.h, message/*.
|
|---|
| 1275 | (all): Depend on $(destfiles), not info.
|
|---|
| 1276 | (version.c): Parenthesize `GNU diffutils'.
|
|---|
| 1277 | (common_o): Add freesoft.o
|
|---|
| 1278 | (diff_o): quote.o -> quotearg.o
|
|---|
| 1279 | (diff3_o, sdiff_o): Likewise.
|
|---|
| 1280 | (diff.dvi): Depend on version.texi.
|
|---|
| 1281 | (diff.o diff3.o quotearg.o sdiff.o util.o):
|
|---|
| 1282 | New dependency on quotearg.h
|
|---|
| 1283 | (diff3.o): DIFF_PROGRAM -> DEFAULT_DIFF_PROGRAM.
|
|---|
| 1284 | (sdiff.o): Likewise.
|
|---|
| 1285 | (messages.po): Remove.
|
|---|
| 1286 | (message/msgid.po, message/template.po): New rules.
|
|---|
| 1287 | (maintainer-clean): Renamed from realclean.
|
|---|
| 1288 | (install): Install from source directory, if applicable.
|
|---|
| 1289 | Invoke install-info if needed.
|
|---|
| 1290 | (install-strip): New rule.
|
|---|
| 1291 | (check): Set DIFF.
|
|---|
| 1292 | (stamp-h.in): Don't put the date into the timestamp.
|
|---|
| 1293 | (D_dirs): Add $D/message.
|
|---|
| 1294 | ($D.tar.gz): Compress with gzip -9.
|
|---|
| 1295 | Don't use ln to create distribution; it doesn't work with symlinks.
|
|---|
| 1296 | (srcs, distfiles, diff_o, diff3_o, sdiff_o): Rename quotearg.c to
|
|---|
| 1297 | quotesys.c and quotearg.h to quotesys.h.
|
|---|
| 1298 |
|
|---|
| 1299 | * configure.in (AC_PATH_PROG): Add PR_PROGRAM.
|
|---|
| 1300 | If available, prefer support for large files unless the user specified
|
|---|
| 1301 | one of the CPPFLAGS, LDFLAGS, or LIBS variables.
|
|---|
| 1302 | (AC_STRUCT_ST_RDEV): Add.
|
|---|
| 1303 | (HAVE_ST_FSTYPE_STRING): Add.
|
|---|
| 1304 | (--with-mvfs-stat-bug, --with-nfs-stat-bug): New options.
|
|---|
| 1305 | (HAVE_MEMCHR): New macro.
|
|---|
| 1306 | (AC_CHECK_FUNCS): Add sicprocmask.
|
|---|
| 1307 |
|
|---|
| 1308 | * diff.h (XTERN): Renamed from EXTERN.
|
|---|
| 1309 | (struct filedata): Remove dir_p arg.
|
|---|
| 1310 | (struct comparison): New type.
|
|---|
| 1311 | (diff_2_files, diff_dirs)" Ise ot/
|
|---|
| 1312 | (error): Add printf attribute if applicable.
|
|---|
| 1313 | (free_software_msgid): New decl.
|
|---|
| 1314 | (pr_program): New decl.
|
|---|
| 1315 | (fatal): Add noreturn attribute.
|
|---|
| 1316 | (pfatal_with_name): Likewise.
|
|---|
| 1317 |
|
|---|
| 1318 | * system.h (__attribute__): New macro.
|
|---|
| 1319 | (getenv): Don't declare if HAVE_STDLIB_H.
|
|---|
| 1320 | (CHAR_MAX): New macro.
|
|---|
| 1321 | (<locale.h>): New include.
|
|---|
| 1322 | (<locale.h>): Include before <libintl.h>.
|
|---|
| 1323 | (could_be_mvfs_stat_bug, could_be_nfs_stat_bug,
|
|---|
| 1324 | dev_may_have_duplicate_ino, same_special_file): New macros.
|
|---|
| 1325 | (same_file): Use them.
|
|---|
| 1326 |
|
|---|
| 1327 | * cmp.c (authorship_msgid): New var.
|
|---|
| 1328 | (free_software_msgid): New decl.
|
|---|
| 1329 | (error): Now has printf attribute.
|
|---|
| 1330 | (try_help): Likewise.
|
|---|
| 1331 | (long_options): Don't assume ASCII.
|
|---|
| 1332 | (try_help): Now accepts operand arg.
|
|---|
| 1333 | (main): Check for -1, not EOF, when calling getopt_long.
|
|---|
| 1334 | Report --ignore-initial value when complaining about it.
|
|---|
| 1335 | Output copyright and free software info with -v.
|
|---|
| 1336 | Don't assume ASCII.
|
|---|
| 1337 | Report last operand when one is missing.
|
|---|
| 1338 | Report text of extra operand.
|
|---|
| 1339 | Move block_read into cmpbuf.c.
|
|---|
| 1340 |
|
|---|
| 1341 | * diff.c (authorship_msgid): New var.
|
|---|
| 1342 | (quotesys.h): Include.
|
|---|
| 1343 | (ck_atoi): Remove.
|
|---|
| 1344 | (function_regexp_list, ignore_regexp_list): Now static.
|
|---|
| 1345 | (binary_flag): Renamed from binary_I_O.
|
|---|
| 1346 | (entire_new_file_flag, unidirectional_new_file_flag,
|
|---|
| 1347 | print_file_same_flag): Now static.
|
|---|
| 1348 | (numeric_arg): Renamed from ck_atoi.
|
|---|
| 1349 | New argument specifying the argument type.
|
|---|
| 1350 | (longopts, main): Don't assume ASCII.
|
|---|
| 1351 | (longopts): Remove old aliases --file-label, --entire-new-file,
|
|---|
| 1352 | --ascii, --print.
|
|---|
| 1353 | (main): Check for -1, not EOF, when calling getopt_long.
|
|---|
| 1354 | Use numeric_arg to report errors.
|
|---|
| 1355 | Report error if -l specified but pagination is not supported.
|
|---|
| 1356 | Report error if -S is specified twice with conflicting values.
|
|---|
| 1357 | Have --version conform to the new GNU standards.
|
|---|
| 1358 | Add new --from-file, --to-file, --inhibit-hun,-merge options.
|
|---|
| 1359 | Make the horizon at least as large as the context.
|
|---|
| 1360 | Add casts to pacify gcc -Wall.
|
|---|
| 1361 | (try_help): Add operand arg.
|
|---|
| 1362 | (option_help_msgid): Doc fix to match above.
|
|---|
| 1363 | (usage): Indent option_help_msgid.
|
|---|
| 1364 | (compare_files): Now takes struct comparison
|
|---|
| 1365 | instead of two directory names and a depth.
|
|---|
| 1366 | (NONEXISTENT, UNOPENED, ERRNO_ENCODE, ERRNO_DECODE):
|
|---|
| 1367 | New macros.
|
|---|
| 1368 | (DIR_P): New macro.
|
|---|
| 1369 | Report error if fflush does.
|
|---|
| 1370 |
|
|---|
| 1371 | * cmpbuf.c (block_read): Moved here from cmp.c.
|
|---|
| 1372 |
|
|---|
| 1373 | * cmpbuf.h (block_read): New decl.
|
|---|
| 1374 |
|
|---|
| 1375 | * io.c (cmpbuf.h): Include.
|
|---|
| 1376 | (slurp): Check for arithmetic overflow when computing buffer size.
|
|---|
| 1377 |
|
|---|
| 1378 | * dir.c (diff_dirs): Check for recursive directory loop.
|
|---|
| 1379 | Arg is now struct comparison const *.
|
|---|
| 1380 | (dir_loop): New function
|
|---|
| 1381 |
|
|---|
| 1382 | * analyze.c (no_discards): Remove.
|
|---|
| 1383 | (inhibit): Remove.
|
|---|
| 1384 | (shift_boundaries): Don't inhibit. If inhibit_hunk_merge is nonzero,
|
|---|
| 1385 | don't merge hunks.
|
|---|
| 1386 | (briefly_report): Now returns 2 if trouble, CHANGES otherwise.
|
|---|
| 1387 | (diff_2_files): Now takes struct comparison. If briefly_report reports
|
|---|
| 1388 | trouble, pass it on to caller.
|
|---|
| 1389 |
|
|---|
| 1390 | * side.c (print_half_line): Add brackets to pacify GCC -Wall.
|
|---|
| 1391 |
|
|---|
| 1392 | * sdiff.c (quotesys.h): Include.
|
|---|
| 1393 | (DIFF_PROGRAM, DEFAULT_EDITOR_PROGRAM): Remove.
|
|---|
| 1394 | (free_software_msgid, editor_program, not_found): New vars.
|
|---|
| 1395 | (diffbin, edbin): Remove.
|
|---|
| 1396 | (editor_program): Renamed from edbin.
|
|---|
| 1397 | (edit, interact): Now take extra string arg.
|
|---|
| 1398 | (exiterr, fatal, perror_fatal, try_help): Add noreturn attribute.
|
|---|
| 1399 | (sigset_t, sigemptyset, sigmask, sigaddset, SIG_BLOCK, SIG_SETMASK):
|
|---|
| 1400 | (sigprocmask): New macros, if !HAVE_SIGPROCMASK.
|
|---|
| 1401 | (error): Now has printf attribute.
|
|---|
| 1402 | (longopts, main): Don't assume ASCII.
|
|---|
| 1403 | (try_help): New operand arg.
|
|---|
| 1404 | (usage): Conform to new GNU standards.
|
|---|
| 1405 | (main): Set static vars for editor and diff program.
|
|---|
| 1406 | Compare getopt_long result to -1, not EOF.
|
|---|
| 1407 | -v conforms to new GNU standard.
|
|---|
| 1408 | Complain better about extra and missing operands.
|
|---|
| 1409 | If HAVE_VFORK, block SIGINT and SIGPIPE in the parent, since when
|
|---|
| 1410 | the child munges its handlers it may somp on the parent.
|
|---|
| 1411 | Pass rname to intract.
|
|---|
| 1412 | Translate not-found message before forking.
|
|---|
| 1413 | (give_help): Just output it all at once.
|
|---|
| 1414 | (edit): New args lname, lline, rname, rline.
|
|---|
| 1415 | (edit): New command 'd'.
|
|---|
| 1416 | (interact): New args lname, rname.
|
|---|
| 1417 |
|
|---|
| 1418 | * util.c (quotesys.h): Include.
|
|---|
| 1419 | (PR_PROGRAM): New macro.
|
|---|
| 1420 | (pfatal_with_name): Abort if error returns.
|
|---|
| 1421 | (fatal): Likewise.
|
|---|
| 1422 | (print_message_queue): Free message chain after printing.
|
|---|
| 1423 | (currently_recursive): Renamed from current_depth, and now a boolean.
|
|---|
| 1424 | (begin_output): Report error if fflush does.
|
|---|
| 1425 | Avoid stdio and gettext in child.
|
|---|
| 1426 |
|
|---|
| 1427 | * diff3.c (quotesys.h): Include.
|
|---|
| 1428 | (free_software_msgid): New decl.
|
|---|
| 1429 | (RANGE_START, RANGE_END): Renamed from START and END.
|
|---|
| 1430 | (fatal, perror_with_exit, try_help): Add noreturn attribute.
|
|---|
| 1431 | (error): Add printf attribute.
|
|---|
| 1432 | (diff_program): Now a ptr, not an array.
|
|---|
| 1433 | Initialize to DEFAULT_DIFF_PROGRAM instead of DIFF_PROGRAM.
|
|---|
| 1434 | (longopts, main): Don't assume ASCII.
|
|---|
| 1435 | (main): Use DIFF environment var to specify name of diff program.
|
|---|
| 1436 | Compare getopt_long result to -1, not EOF.
|
|---|
| 1437 | -v now reports version according to new GNU standard.
|
|---|
| 1438 | Report spelling of extra operand, or last operand before missing one.
|
|---|
| 1439 | (try_help): Now takes operand arg.
|
|---|
| 1440 | (option_help_ms): Fix typo: missing comma.
|
|---|
| 1441 | (usage): Update as per current GNU standards.
|
|---|
| 1442 | (environ): Remove decl.
|
|---|
| 1443 | (read_diff): Invoke diff with --inhibit-hunk-merge.
|
|---|
| 1444 | Translate `not found' message before forking.
|
|---|
| 1445 | Quote name of diff program.
|
|---|
| 1446 | Pass horizon lines.
|
|---|
| 1447 | `memory exhausted' -> `Memory exhausted'
|
|---|
| 1448 |
|
|---|
| 1449 | * pc/makefile (%.exe): Remove.
|
|---|
| 1450 | (pc-clean): Remove *.exe
|
|---|
| 1451 | * pc/makefile.sed (DEFAULT_DIFF_PROGRAM): Renamed from DIFF_PROGRAM.
|
|---|
| 1452 | When editing mkinstalldirs rule, look for exec_prefix and prefix.
|
|---|
| 1453 | Add .exe when installing files.
|
|---|
| 1454 | * pc/emx/config.h (same_file): Add.
|
|---|
| 1455 | * pc/config.h (same_file): Remove.
|
|---|
| 1456 | * pc/djgpp/config.h: Adjust to latest patch from eliz.
|
|---|
| 1457 | * pc/djgpp/makefile.sed: Don't alter PROGRAMS.
|
|---|
| 1458 | * pc/pc.c: Update FSF address.
|
|---|
| 1459 | (quote_system_arg): Renamed from system_quote_arg.
|
|---|
| 1460 |
|
|---|
| 1461 | * README: Add --with-mvfs-stat-bug, --with-nfs-stat-bug.
|
|---|
| 1462 |
|
|---|
| 1463 | * getmsgids: Add copyright date and update FSF address.
|
|---|
| 1464 |
|
|---|
| 1465 | * diff.texi: Document recent changes.
|
|---|
| 1466 | The patch doc still corresponds to patch 2.2, unfortunately.
|
|---|
| 1467 | Update GNU bug reporting address. Omit Larry Wall's address;
|
|---|
| 1468 | it's obsolete and he's busy with perl.
|
|---|
| 1469 |
|
|---|
| 1470 | * context.c: Fix spacing.
|
|---|
| 1471 |
|
|---|
| 1472 | * NEWS: Mention --from-file=FILE, --to-file=FILE, ed.
|
|---|
| 1473 |
|
|---|
| 1474 | * acconfig.h, freesoft.c, message/de.po, message/en_UK.po,
|
|---|
| 1475 | message/es.po, message/fr.po, message/pl.po, message/sv.po:
|
|---|
| 1476 | New files.
|
|---|
| 1477 |
|
|---|
| 1478 | * ed.c: Remove `#if 0'ed code.
|
|---|
| 1479 |
|
|---|
| 1480 | * normal.c, waitpid.c: Update FSF address.
|
|---|
| 1481 |
|
|---|
| 1482 | 1998-03-15 Paul Eggert <[email protected]>
|
|---|
| 1483 |
|
|---|
| 1484 | * quotesys.c: Renamed from quotearg.c.
|
|---|
| 1485 |
|
|---|
| 1486 | * quotesys.h: Renamed from quotearg.h
|
|---|
| 1487 | (__QUOTESYS_P): Renamed from __QUOTEARG_P.
|
|---|
| 1488 |
|
|---|
| 1489 | 1997-05-05 Paul Eggert <[email protected]>
|
|---|
| 1490 |
|
|---|
| 1491 | * quotesys.c, quotesys.h: New file.
|
|---|
| 1492 |
|
|---|
| 1493 | Mon Nov 14 05:10:56 1994 Paul Eggert <[email protected]>
|
|---|
| 1494 |
|
|---|
| 1495 | Add internationalization support.
|
|---|
| 1496 | Several messages have been changed slightly,
|
|---|
| 1497 | to make them more consistent and easier to translate.
|
|---|
| 1498 | All strings that are messages are passed through gettext once before
|
|---|
| 1499 | being used, so that they can be localized.
|
|---|
| 1500 | Each function and macro whose first parameter is a gettext msgid
|
|---|
| 1501 | has had its first parameter's name changed so it ends in `msgid'.
|
|---|
| 1502 | All arrays of msgids have had their names changed to end in `msgid'.
|
|---|
| 1503 | `getmsgids' uses this to determine which strings are msgids.
|
|---|
| 1504 |
|
|---|
| 1505 | * pc/COPYING, pc/INSTALL, pc/config.h,
|
|---|
| 1506 | pc/djgpp/config.h, pc/djgpp/makefile.sed,
|
|---|
| 1507 | pc/emx/config.h, pc/emx/diff.def, pc/emx/gnuregex.def,
|
|---|
| 1508 | pc/emx/makefile.sed,
|
|---|
| 1509 | pc/makefile, pc/makefile.sed, pc/pc.c: New files, for PC support.
|
|---|
| 1510 |
|
|---|
| 1511 | * getmsgids: New file.
|
|---|
| 1512 |
|
|---|
| 1513 | * Makefile.in (PACKAGE, VERSION, diffutils_srcs, D): New vars.
|
|---|
| 1514 | (version.c, version.texi, messages.po): New files.
|
|---|
| 1515 | messages.po is built automatically from source files and `getmsgids'.
|
|---|
| 1516 | (distfiles): Add them, pc/*, and getmsgids.
|
|---|
| 1517 | (diff.info): Now depends on version.texi.
|
|---|
| 1518 | (realclean): Clean messages.po, version.*.
|
|---|
| 1519 | (dist): Just build $D.tar.gz.
|
|---|
| 1520 | ($D.tar.gz): New file, takes over old `dist' function.
|
|---|
| 1521 | Don't assume $(distfiles) are all in same directory.
|
|---|
| 1522 |
|
|---|
| 1523 | * configure.in (AC_CHECK_HEADERS): Add libintl.h, locale.h.
|
|---|
| 1524 | (AC_CHECK_LIB): Check for -lintl.
|
|---|
| 1525 |
|
|---|
| 1526 | * analyze.c (briefly_report): Rewrite `message (A?"B":"C")' as
|
|---|
| 1527 | `if (A) message ("B") : message ("C")'; this is for getmsgids.
|
|---|
| 1528 | (briefly_report, diff_2_files): For label, use file_label if set.
|
|---|
| 1529 | * diff.c (compare_files): Likewise.
|
|---|
| 1530 |
|
|---|
| 1531 | * system.h (gettext): Declare; use a stub if ! HAVE_LIBINTL_H.
|
|---|
| 1532 | (setlocale): Declare; use a stub if ! HAVE_LOCALE_H.
|
|---|
| 1533 |
|
|---|
| 1534 | * cmp.c, diff.c, diff3.c, sdiff.c (main):
|
|---|
| 1535 | Invoke setlocale first thing, to tell library we're internationalized.
|
|---|
| 1536 | (option_help_msgid): New constant.
|
|---|
| 1537 | (usage): Use it, so message is translated one option at a time.
|
|---|
| 1538 | * sdiff (help_msgid, give_help): Likewise.
|
|---|
| 1539 |
|
|---|
| 1540 | * cmp.c (sprintc): Renamed from `printc'.
|
|---|
| 1541 | Now outputs to a buffer instead of stdout.
|
|---|
| 1542 | (cmp): Use new sprintc; it's easier to internationalize.
|
|---|
| 1543 |
|
|---|
| 1544 | * diff.c (main): -D FOO now outputs `/* ! FOO */ instead of
|
|---|
| 1545 | `/* not FOO */'.
|
|---|
| 1546 |
|
|---|
| 1547 | * sdiff.c (version_string): Fix decl typo: `const' was missing.
|
|---|
| 1548 | (trapsigs): Ignore sigaction failure, to be compatible with `signal'.
|
|---|
| 1549 |
|
|---|
| 1550 | * util.c (struct msg, message5, print_message_queue):
|
|---|
| 1551 | Allocate just one block of memory to save a message.
|
|---|
| 1552 |
|
|---|
| 1553 | Wed Nov 9 17:42:44 1994 Paul Eggert <[email protected]>
|
|---|
| 1554 |
|
|---|
| 1555 | * sdiff.c (trapsigs): Don't check signal return value, since it's
|
|---|
| 1556 | bogus under djgpp.
|
|---|
| 1557 |
|
|---|
| 1558 | Mon Oct 31 07:27:27 1994 Paul Eggert <[email protected]>
|
|---|
| 1559 |
|
|---|
| 1560 | * Makefile.in (srcs, diff_o, diff3_o, sdiff_o):
|
|---|
| 1561 | New files quote.c, quote.o.
|
|---|
| 1562 |
|
|---|
| 1563 | * diff.h (function_regexp, ignore_regexp): Replace lists of compiled
|
|---|
| 1564 | regexps with these single compiled regexps. All users changed.
|
|---|
| 1565 | (regexp_list,function_regexp_list,ignore_regexp_list): Move to diff.c.
|
|---|
| 1566 | * diff.c (add_regexp): Build one big regexp instead of a regexp list.
|
|---|
| 1567 | (summarize_regexp_list): New function.
|
|---|
| 1568 | (regexp_list): Redesigned struct; moved here from diff.h.
|
|---|
| 1569 | (function_regexp_list, ignore_regexp_list): Likewise, for vars.
|
|---|
| 1570 |
|
|---|
| 1571 | * context.c (find_function): Simplify interface:
|
|---|
| 1572 | don't return size of function line. All callers changed.
|
|---|
| 1573 | (print_context_script, find_function): INT_MAX now denotes no
|
|---|
| 1574 | previous match; this is simpler than `- file->prefix_lines - 1'.
|
|---|
| 1575 |
|
|---|
| 1576 | * diff3.c (read_diff): Quote arguments with system_quote_arg.
|
|---|
| 1577 | * sdiff.c (main): Use system_quote_arg to compute command.
|
|---|
| 1578 | * diff.c (option_list): Quote options with system_quote_arg.
|
|---|
| 1579 | * util.c (begin_output): Use system_quote_arg to compute command.
|
|---|
| 1580 |
|
|---|
| 1581 | * util.c (pr_program): New var.
|
|---|
| 1582 | (analyze_hunk): Fix off-by-1 line length bug.
|
|---|
| 1583 | Match with one big regexp instead of a list of regexps.
|
|---|
| 1584 | Use new `trivial_length' local instead of comparing first byte to `\n'.
|
|---|
| 1585 | Help the compiler with linbuf local vars.
|
|---|
| 1586 |
|
|---|
| 1587 | * system.h (system_quote_arg):
|
|---|
| 1588 | New function; replaces SYSTEM_QUOTE_ARG macro.
|
|---|
| 1589 |
|
|---|
| 1590 | Sat Oct 15 20:09:12 1994 Paul Eggert <[email protected]>
|
|---|
| 1591 |
|
|---|
| 1592 | * system.h (_tolower): Define if not already defined.
|
|---|
| 1593 | * io.c (find_and_hash_each_line): Change tolower to _tolower; this
|
|---|
| 1594 | speeds up diff -i considerably on some hosts (e.g. Solaris 2.3).
|
|---|
| 1595 | * util.c (line_cmp): Likewise.
|
|---|
| 1596 | * ifdef.c (groups_letter_value): Likewise.
|
|---|
| 1597 |
|
|---|
| 1598 | * diff.h (ignore_some_line_changes): Remove. All users changed.
|
|---|
| 1599 | * io.c (find_and_hash_each_line): Don't invoke line_cmp if the length
|
|---|
| 1600 | differs and -i is in force. Don't assume ISSPACE ('\n') is nonzero.
|
|---|
| 1601 |
|
|---|
| 1602 | * diff.h (xmalloc_exit_failure): New variable.
|
|---|
| 1603 | All `main' programs set this variable at the start.
|
|---|
| 1604 | xmalloc and xrealloc are now taken from GNU library.
|
|---|
| 1605 | * cmp.c (main): Align buffer size to word size; some mallocs care.
|
|---|
| 1606 | * io.c (slurp): Likewise.
|
|---|
| 1607 | * diff.c (add_exclude): Can now assume xrealloc (0, ...) works.
|
|---|
| 1608 | (add_regexp): Free storage on failure. Allocate storage all at one go.
|
|---|
| 1609 | * system.h (malloc, realloc): Remove unused declarations.
|
|---|
| 1610 | * diff3.c, sdiff.c, util.c (xmalloc, xrealloc): Remove.
|
|---|
| 1611 | * sdiff.c (diffarg): Take advantage of cleaner xrealloc semantics.
|
|---|
| 1612 |
|
|---|
| 1613 | * io.c (ROL): Use sizeof to make it more generic.
|
|---|
| 1614 |
|
|---|
| 1615 | * Makefile.in (common_o): New variable.
|
|---|
| 1616 | Link error.o and xmalloc.o into all programs.
|
|---|
| 1617 | (check): Depend on $(PROGRAMS).
|
|---|
| 1618 |
|
|---|
| 1619 | * diff.h (error): Change to GNU library standard. All callers changed.
|
|---|
| 1620 | * diff3.c (main): Use strerror (EISDIR) instead of "Is a directory".
|
|---|
| 1621 | (fatal, perror_with_exit): Use `error'.
|
|---|
| 1622 | * util.c (perror_with_name, fatal): Use GNU `error'.
|
|---|
| 1623 | (error): Remove.
|
|---|
| 1624 |
|
|---|
| 1625 | Wed Oct 12 17:04:40 1994 David J. MacKenzie ([email protected])
|
|---|
| 1626 |
|
|---|
| 1627 | * cmp.c (main): Set xmalloc_exit_failure.
|
|---|
| 1628 |
|
|---|
| 1629 | Sat Oct 1 05:24:19 1994 Paul Eggert <[email protected]>
|
|---|
| 1630 |
|
|---|
| 1631 | * Version 2.7 released.
|
|---|
| 1632 |
|
|---|
| 1633 | * configure.in (AC_HEADER_SYS_WAIT): Add.
|
|---|
| 1634 | (AC_CHECK_HEADERS): Remove sys/wait.h.
|
|---|
| 1635 | (AC_CHECK_FUNCS): Add tmpnam.
|
|---|
| 1636 | * system.h (<sys/wait.h>, WEXITSTATUS): Use simpler scheme
|
|---|
| 1637 | now that HAVE_SYS_WAIT_H is not set on hosts
|
|---|
| 1638 | that are incompatible with Posix applications.
|
|---|
| 1639 |
|
|---|
| 1640 | * util.c (dir_file_pathname): Use filename_lastdirchar not strrchr.
|
|---|
| 1641 | * sdiff.c (expand_name): Likewise.
|
|---|
| 1642 | (private_tempnam): Use tmpnam if HAVE_TMPNAM; this simplifies porting.
|
|---|
| 1643 | (exists, letters): Omit if HAVE_TMPNAM.
|
|---|
| 1644 |
|
|---|
| 1645 | * diff3.c (read_diff): If STAT_BLOCKSIZE yields zero,
|
|---|
| 1646 | adjust it to a more reasonable value.
|
|---|
| 1647 |
|
|---|
| 1648 | Sat Sep 24 20:36:40 1994 Paul Eggert <[email protected]>
|
|---|
| 1649 |
|
|---|
| 1650 | * sdiff.c (exists, private_tempname): Adopt latest GNU libc algorithm.
|
|---|
| 1651 | (private_tempnam): Specialize for sdiff to avoid portability problems.
|
|---|
| 1652 |
|
|---|
| 1653 | Thu Sep 22 16:47:00 1994 Paul Eggert <[email protected]>
|
|---|
| 1654 |
|
|---|
| 1655 | * configure.in (AC_ARG_PROGRAM): Added.
|
|---|
| 1656 | (AC_OUTPUT): Add [date > stamp-h].
|
|---|
| 1657 |
|
|---|
| 1658 | * Makefile.in (DEFAULT_EDITOR_PROGRAM, DIFF_PROGRAM, LIBOBJS,
|
|---|
| 1659 | NULL_DEVICE, PR_PROGRAM, PROGRAMS): New variables.
|
|---|
| 1660 | (check, stamp-h.in, cmp.o, util.o): New targets.
|
|---|
| 1661 | (edit_program_name): New variable; replaces old binprefix method.
|
|---|
| 1662 | (install, uninstall): Use it.
|
|---|
| 1663 | (binprefix): Removed.
|
|---|
| 1664 | (distfiles): Add stamp-h.in.
|
|---|
| 1665 | (clean): Clean stamp-h.
|
|---|
| 1666 | (config.hin, config.h): Use time stamp files.
|
|---|
| 1667 | (cmp_o): Add $(LIBOBJS).
|
|---|
| 1668 | (install): Install info files from srcdir if they're not in `.'.
|
|---|
| 1669 |
|
|---|
| 1670 | * cmp.c, io.c (word): Don't define if already defined.
|
|---|
| 1671 |
|
|---|
| 1672 | * comp.c (main): Use setmode, not open(..., O_BINARY); this gets stdin.
|
|---|
| 1673 | Use NULL_DEVICE instead of "/dev/null".
|
|---|
| 1674 | (cmp): Use %lu instead of %ld when it is more likely to be right.
|
|---|
| 1675 |
|
|---|
| 1676 | * diff.h (PR_FILE_NAME): Rename to PR_PROGRAM and move to Makefile.in,
|
|---|
| 1677 | util.c.
|
|---|
| 1678 |
|
|---|
| 1679 | * diff3.c (main): Give proper diagnostic if too many labels were given.
|
|---|
| 1680 | (read_diff): Use SYSTEM_QUOTE_ARG.
|
|---|
| 1681 |
|
|---|
| 1682 | * system.h: <string.h>: Include if HAVE_STRING_H, too.
|
|---|
| 1683 | <ctype.h>: Include here. All includers changed.
|
|---|
| 1684 | (CTYPE_DOMAIN, ISDIGIT, ISPRINT, ISSPACE, ISUPPER): New macros that
|
|---|
| 1685 | work around common <ctype.h> problems.
|
|---|
| 1686 | (O_BINARY): Remove.
|
|---|
| 1687 | (SYSTEM_QUOTE_ARG): New macros.
|
|---|
| 1688 |
|
|---|
| 1689 | * diff.c: Add comment.
|
|---|
| 1690 |
|
|---|
| 1691 | * util.c (PR_PROGRAM): Moved here from diff.h.
|
|---|
| 1692 | (begin_output): Use SYSTEM_QUOTE_ARG.
|
|---|
| 1693 |
|
|---|
| 1694 | * io.c (read_files): Set mode to binary before returning 1.
|
|---|
| 1695 |
|
|---|
| 1696 | * sdiff.c (TMPDIR_ENV): New macro.
|
|---|
| 1697 | (DEFAULT_EDITOR_PROGRAM): Renamed from DEFAULT_EDITOR for consistency.
|
|---|
| 1698 | (expand_name): Change `isdir' to `is_dir' to avoid theoretical ctype
|
|---|
| 1699 | namespace contamination.
|
|---|
| 1700 | (main): Use SYSTEM_QUOTE_ARG.
|
|---|
| 1701 | (private_tempnam): Don't access "/tmp" directly; use PVT_tmpdir.
|
|---|
| 1702 |
|
|---|
| 1703 | Tue Sep 13 18:46:43 1994 Paul Eggert <[email protected]>
|
|---|
| 1704 |
|
|---|
| 1705 | * configure.in (AC_FUNC_MEMCHR): Remove. Autoconf didn't adopt this,
|
|---|
| 1706 | since we need not worry about an old experimental library
|
|---|
| 1707 | where memchr didn't work.
|
|---|
| 1708 | (AC_FUNC_MEMCMP): Not needed, since we only test for equality.
|
|---|
| 1709 | (AC_REPLACE_FUNCS): Add test for memchr.
|
|---|
| 1710 | (AC_CHECK_FUNCS): Check for memchr, not memcpy, since it'll be cached.
|
|---|
| 1711 | (AC_CHECK_HEADERS): Add string.h; regex.c uses on some old hosts.
|
|---|
| 1712 |
|
|---|
| 1713 | * system.h (memcmp): Define in terms of bcmp.
|
|---|
| 1714 | Use HAVE_MEMCHR to test for all mem* routines.
|
|---|
| 1715 |
|
|---|
| 1716 | * Makefile.in (srcs): Remove memcmp.c.
|
|---|
| 1717 | We use bcmp if memcmp doesn't work, since we only test for equality.
|
|---|
| 1718 |
|
|---|
| 1719 | Mon Sep 12 15:52:22 1994 Paul Eggert <[email protected]>
|
|---|
| 1720 |
|
|---|
| 1721 | * configure.in (AC_CONFIG_HEADER): Rename config.h.in to config.hin.
|
|---|
| 1722 | (AC_ISC_POSIX, AC_MINIX): Go back to these old names for Autoconf 2.
|
|---|
| 1723 | (AC_CHECK_HEADERS): Remove now-redundant check for <string.h>.
|
|---|
| 1724 | (AC_CHECK_FUNCS): Check for strchr.
|
|---|
| 1725 | (AC_FUNC_MEMCHR, AC_FUNC_MEMCMP, AC_CHECK_FUNCS): Use special-purpose
|
|---|
| 1726 | macros when suitable.
|
|---|
| 1727 | * memcmp.c: New file.
|
|---|
| 1728 | * Makefile.in (CPPFLAGS, DEFS, CFLAGS, LDFLAGS, prefix, exec_prefix):
|
|---|
| 1729 | Default to autoconf-specified strings.
|
|---|
| 1730 | (COMPILE): Use the defaults.
|
|---|
| 1731 | (srcs): Add memcmp.c.
|
|---|
| 1732 | (distfiles): Rename config.h.in->config.hin, install.sh->install-sh.
|
|---|
| 1733 | (Makefile, config.h, config.hin, config.status): Rework for
|
|---|
| 1734 | compatibility with Autoconf 2.
|
|---|
| 1735 | * io.c (binary_file_p): Assume non-broken memchr.
|
|---|
| 1736 | * memchr.c: Assume compiler understands void *; otherwise
|
|---|
| 1737 | we don't match GCC's internal declaration of memchr.
|
|---|
| 1738 | * system.h: Use more modern autoconf approach to standard C headers.
|
|---|
|
|---|