| 1 | 2002-04-05  Paul Eggert  <eggert@sic.twinsun.com> | 
|---|
| 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  <eggert@twinsun.com> | 
|---|
| 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  <china@thewrittenword.com> | 
|---|
| 49 |  | 
|---|
| 50 | * src/Makefile.am (datadir): Remove, as it conflicts with --datadir. | 
|---|
| 51 |  | 
|---|
| 52 | 2002-03-26  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 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  <eliz@is.elta.co.il> | 
|---|
| 60 |  | 
|---|
| 61 | * src/io.c (sip): Do not mishandle buffered count when reverting | 
|---|
| 62 | to text mode. | 
|---|
| 63 |  | 
|---|
| 64 | 2002-03-23  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 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  <eggert@twinsun.com> | 
|---|
| 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  <eliz@is.elta.co.il> | 
|---|
| 82 |  | 
|---|
| 83 | * ms/config.sed: Tweak editing of install-info-am target. | 
|---|
| 84 |  | 
|---|
| 85 | 2002-03-12  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 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  <eggert@twinsun.com> | 
|---|
| 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 <haible@ilog.fr> | 
|---|
| 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  <eliz@is.elta.co.il> | 
|---|
| 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  <eggert@twinsun.com> | 
|---|
| 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  <eggert@twinsun.com> | 
|---|
| 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  <eliz@is.elta.co.il> | 
|---|
| 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  <eggert@twinsun.com> | 
|---|
| 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  <eggert@twinsun.com> | 
|---|
| 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  <eliz@is.elta.co.il> | 
|---|
| 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  <neal@cs.uml.edu> | 
|---|
| 587 |  | 
|---|
| 588 | * diff.c (option_help_msgid): Correct the default context width | 
|---|
| 589 | from 2 to 3. | 
|---|
| 590 |  | 
|---|
| 591 | 2001-12-11  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 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  <eggert@twinsun.com> | 
|---|
| 670 |  | 
|---|
| 671 | * m4/fnmatch.m4: Test for FNM_CASEFOLD. | 
|---|
| 672 |  | 
|---|
| 673 | 2001-12-03  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 674 |  | 
|---|
| 675 | * lib/posix/regex.h: Fix copyright notice. | 
|---|
| 676 |  | 
|---|
| 677 | 2001-12-03  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 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  <eggert@twinsun.com> | 
|---|
| 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  <eggert@twinsun.com> | 
|---|
| 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  <eggert@twinsun.com> | 
|---|
| 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  <eggert@twinsun.com> | 
|---|
| 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  <eggert@twinsun.com> | 
|---|
| 1203 |  | 
|---|
| 1204 | * m4/prereq.m4: New file. | 
|---|
| 1205 |  | 
|---|
| 1206 | 2001-03-16  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 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  <eggert@twinsun.com> | 
|---|
| 1212 |  | 
|---|
| 1213 | * lib/tempname.c: glibc 1.32 | 
|---|
| 1214 |  | 
|---|
| 1215 | 2001-02-17  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 1216 |  | 
|---|
| 1217 | * m4/Makefile.am.in: GNU fileutils 4.1 | 
|---|
| 1218 |  | 
|---|
| 1219 | 2001-01-09  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 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  <eggert@twinsun.com> | 
|---|
| 1247 |  | 
|---|
| 1248 | * lib/hard-locale.c: New file. | 
|---|
| 1249 |  | 
|---|
| 1250 | 2000-02-05  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 1251 |  | 
|---|
| 1252 | * exgettext: From GCC repository | 
|---|
| 1253 |  | 
|---|
| 1254 | 1999-07-06  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 1255 |  | 
|---|
| 1256 | * lib/mkstemp.c: glibc 2.2 | 
|---|
| 1257 |  | 
|---|
| 1258 | 1998-12-11  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 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  <eggert@twinsun.com> | 
|---|
| 1264 |  | 
|---|
| 1265 | * diff.texi: Add @dircategory and @direntry. | 
|---|
| 1266 |  | 
|---|
| 1267 | 1998-09-14  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 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  <eggert@twinsun.com> | 
|---|
| 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  <eggert@twinsun.com> | 
|---|
| 1490 |  | 
|---|
| 1491 | * quotesys.c, quotesys.h: New file. | 
|---|
| 1492 |  | 
|---|
| 1493 | Mon Nov 14 05:10:56 1994  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 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  <eggert@twinsun.com> | 
|---|
| 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  <eggert@twinsun.com> | 
|---|
| 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  <eggert@twinsun.com> | 
|---|
| 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  (djm@duality.gnu.ai.mit.edu) | 
|---|
| 1626 |  | 
|---|
| 1627 | * cmp.c (main): Set xmalloc_exit_failure. | 
|---|
| 1628 |  | 
|---|
| 1629 | Sat Oct  1 05:24:19 1994  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 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  <eggert@twinsun.com> | 
|---|
| 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  <eggert@twinsun.com> | 
|---|
| 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  <eggert@twinsun.com> | 
|---|
| 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  <eggert@twinsun.com> | 
|---|
| 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. | 
|---|
| 1739 | * version.c: Include <config.h>, not "config.h". | 
|---|
| 1740 |  | 
|---|
| 1741 | * diff.c, diff.h (ignore_some_line_changes): | 
|---|
| 1742 | New variable; replaces `length_varies'. | 
|---|
| 1743 | (line_end_char): Replace with '\n'; it wasn't being used consistently. | 
|---|
| 1744 |  | 
|---|
| 1745 | * io.c (find_and_hash_each_line): Fix inconsistencies with -b -w -i and | 
|---|
| 1746 | incomplete lines.  Put incomplete lines into their own bucket. | 
|---|
| 1747 | This means line_cmp no longer needs line length arguments, | 
|---|
| 1748 | and equivalence classes' line lengths no longer need to include \n. | 
|---|
| 1749 | Invoke line_cmp only if ignore_some_line_changes. | 
|---|
| 1750 | (prepare_text_end): -B no longer ignores missing newlines. | 
|---|
| 1751 | (read_files): Allocate another bucket for incomplete lines. | 
|---|
| 1752 |  | 
|---|
| 1753 | * util.c (line_cmp): Now takes just two arguments.  No longer | 
|---|
| 1754 | optimizes for common case of exact equality; the caller does that | 
|---|
| 1755 | optimization now.  The caller is changed accordingly. | 
|---|
| 1756 | Optimize for the common case of mostly equality. | 
|---|
| 1757 | Use isupper+tolower instead of islower+toupper, for consistency. | 
|---|
| 1758 |  | 
|---|
| 1759 | * waitpid.c (waitpid): Fix typo with internal scoping. | 
|---|
| 1760 |  | 
|---|
| 1761 | Thu Sep  8 08:23:15 1994  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 1762 |  | 
|---|
| 1763 | * configure.in: Revamp for Autoconf 2. | 
|---|
| 1764 | * memchr.c, waitpid.c: New source files for substitute functions. | 
|---|
| 1765 | * Makefile.in (diff_o, diff3_o, sdiff_o): Add $(LIBOBJS). | 
|---|
| 1766 | (srcs): Add memchr.c, waitpid.c. | 
|---|
| 1767 | (distfiles): Add install.sh, memchr.c, waitpid.c, install.sh. | 
|---|
| 1768 | * system.h: Use Autoconf 2 style HAVE_DIRENT_H etc. macros for dirs. | 
|---|
| 1769 | * dir.c (dir_sort): Prefer NAMLEN (p) to strlen (p->d_name). | 
|---|
| 1770 | Change VOID_CLOSEDIR to CLOSEDIR_VOID for Autoconf 2. | 
|---|
| 1771 | * sdiff.c, util.c (memchr, waitpid): Remove; use new substitutes. | 
|---|
| 1772 | * diff3.c (read_diff): Use new waitpid substitute. | 
|---|
| 1773 |  | 
|---|
| 1774 | * cmp.c, diff.c, diff3.c, sdiff.c (check_stdout, try_help): New fns. | 
|---|
| 1775 | (usage): Just print more detailed usage message; let caller exit. | 
|---|
| 1776 | * diff.c (option_help): New variable. | 
|---|
| 1777 | (filetype): Add Posix.1b file types. | 
|---|
| 1778 |  | 
|---|
| 1779 | Fri Sep  2 16:01:49 1994  Paul Eggert  <eggert@twinsun.com> | 
|---|
| 1780 |  | 
|---|
| 1781 | * configure.in: Switch to new autoconf names.  Add sys/file.h test. | 
|---|
| 1782 | * Makefile.in (distclean): Clean config.cache, config.log | 
|---|
| 1783 | (used by new autoconf). | 
|---|
| 1784 |  | 
|---|
| 1785 | * diff.c, diff3.c, (main), sdiff.c (trapsigs): If we'll have children, | 
|---|
| 1786 | make sure SIGCHLD isn't ignored. | 
|---|
| 1787 |  | 
|---|
| 1788 | * diff3.c (DIFF_CHUNK_SIZE): Removed.  Get size from STAT_BLOCKSIZE. | 
|---|
| 1789 | (INT_STRLEN_BOUND): New macro. | 
|---|
| 1790 |  | 
|---|
| 1791 | * ifdef.c (format_group, groups_letter_value): | 
|---|
| 1792 | Use * instead of [] in prototypes. | 
|---|
| 1793 |  | 
|---|
| 1794 | * system.h: Include <sys/file.h> only if HAVE_SYS_FILE_H. | 
|---|
| 1795 | (S_IXGRP, S_IXOTH, S_IXUSR): Remove unused macros. | 
|---|
| 1796 |  | 
|---|
| 1797 | * util.c (begin_output): Check fdopen result. | 
|---|
| 1798 |  | 
|---|
| 1799 | The following changes simplify porting to non-Posix environments. | 
|---|
| 1800 | * cmp.c, diff.c, diff3.c, sdiff.c, (main): Call initialize_main first. | 
|---|
| 1801 | * diff.c (binary_I_O): New variable for --binary option. | 
|---|
| 1802 | (main, usage, compare_files): Support --binary option. | 
|---|
| 1803 | (compare_files): Use filename_lastdirchar to find last | 
|---|
| 1804 | directory char in a file name. | 
|---|
| 1805 | * cmp.c (main), diff.c (compare_files), dir.c (compare_names, | 
|---|
| 1806 | diff_dirs): Use filename_cmp to compare file names. | 
|---|
| 1807 | Use same_file to determine whether two files are the same. | 
|---|
| 1808 | * context.c (print_context_label): Check whether ctime yields 0. | 
|---|
| 1809 | * diff3.c (read_diff), sdiff.c (cleanup, main, waitpid), | 
|---|
| 1810 | util.c (begin_output): Use popen+pclose if !HAVE_FORK. | 
|---|
| 1811 | * io.c (sip): If HAVE_SETMODE, test for binary files in O_BINARY mode. | 
|---|
| 1812 | * sdiff.c (ck_fdopen): Function removed. | 
|---|
| 1813 | (edit): Use system if !HAVE_FORK. | 
|---|
| 1814 | (execdiff): Now assumes caller has pushed all args, plus trailing 0. | 
|---|
| 1815 | All callers changed. | 
|---|
| 1816 | (private_tempnam): Try TMP if TMPDIR isn't defined. | 
|---|
| 1817 | Fit temporary filenames into 8.3 limit. | 
|---|
| 1818 | * system.h (STAT_BLOCKSIZE): Don't define if already defined. | 
|---|
| 1819 | (min, max): Undef if already defined. | 
|---|
| 1820 | (filename_cmp, filename_lastdirchar, HAVE_FORK, HAVE_SETMODE, | 
|---|
| 1821 | initialize_main, O_BINARY, same_file): New macros. | 
|---|
| 1822 |  | 
|---|
| 1823 | Fri Jun 17 11:23:53 1994  David J. MacKenzie  (djm@geech.gnu.ai.mit.edu) | 
|---|
| 1824 |  | 
|---|
| 1825 | * Makefile.in (info, dvi, diff.dvi): New targets. | 
|---|
| 1826 | (clean): Remove TeX output files. | 
|---|
| 1827 |  | 
|---|
| 1828 | Fri Jun 17 05:37:52 1994  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 1829 |  | 
|---|
| 1830 | * cmp.c, io.c (word): Change from typedef to #define, to avoid | 
|---|
| 1831 | collision with Unicos 8.0 <sys/types.h>, which also typedefs `word'. | 
|---|
| 1832 |  | 
|---|
| 1833 | Thu Apr 15 00:53:01 1994  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 1834 |  | 
|---|
| 1835 | * diff3.c (scan_diff_line), util.c (print_number_range): Don't | 
|---|
| 1836 | rely on promotion to make the old-style parameter type agree | 
|---|
| 1837 | with the prototype parameter type; this doesn't work on | 
|---|
| 1838 | Apollos running bsd4.3. | 
|---|
| 1839 |  | 
|---|
| 1840 | Mon Jan  3 02:05:51 1994  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 1841 |  | 
|---|
| 1842 | * Makefile.in (LDFLAGS): Remove -g.  Change all link commands | 
|---|
| 1843 | to use both $(CFLAGS) and $(LDFLAGS). | 
|---|
| 1844 |  | 
|---|
| 1845 | Mon Dec 13 12:23:27 1993  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 1846 |  | 
|---|
| 1847 | * system.h: Don't assume dirent.h exists just because | 
|---|
| 1848 | _POSIX_VERSION is defined. | 
|---|
| 1849 |  | 
|---|
| 1850 | Fri Dec  3 18:39:39 1993  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 1851 |  | 
|---|
| 1852 | * diff.c (main): allow -pu. | 
|---|
| 1853 |  | 
|---|
| 1854 | Tue Nov 23 03:51:08 1993  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 1855 |  | 
|---|
| 1856 | * Makefile.in (distclean): Remove config.h. | 
|---|
| 1857 |  | 
|---|
| 1858 | Wed Nov 10 00:28:27 1993  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 1859 |  | 
|---|
| 1860 | * Version 2.6 released. | 
|---|
| 1861 |  | 
|---|
| 1862 | * analyze.c (too_expensive): New variable, for heuristic to | 
|---|
| 1863 | limit the worst-case cost to O(N**1.5 log N) at the price of | 
|---|
| 1864 | producing suboptimal output for large inputs with many differences. | 
|---|
| 1865 | (diff_2_files): Initialize it. | 
|---|
| 1866 | (struct partition): New type. | 
|---|
| 1867 | (SNAKE_LIMIT): New macro; merely documents already-used number 20. | 
|---|
| 1868 | (diag): New `minimal' arg; all callers changed.  Put results into | 
|---|
| 1869 | struct partition.  Apply `too_expensive' heuristic.  Tune. | 
|---|
| 1870 | (compareseq): New `minimal' arg; all callers changed.  Tune. | 
|---|
| 1871 | (shift_boundaries): Improve heuristic to also coalesce adjacent runs | 
|---|
| 1872 | of changes more often. | 
|---|
| 1873 |  | 
|---|
| 1874 | * diff.c (long_options, main, usage): Add `--help'. | 
|---|
| 1875 | (main): Send version number to stdout, not stderr. | 
|---|
| 1876 | (usage): Send usage to stdout, not stderr. | 
|---|
| 1877 | (compare_files): Initialize `inf' properly. | 
|---|
| 1878 |  | 
|---|
| 1879 | * io.c (word): Change to `int'; it makes a big difference on x86. | 
|---|
| 1880 | (sip, slurp): Put off allocating room to hold the whole file until we | 
|---|
| 1881 | have to read the whole file.  This wins if the file turns out | 
|---|
| 1882 | to be binary. | 
|---|
| 1883 |  | 
|---|
| 1884 | * util.c (xmalloc, xrealloc): "virtual memory" -> "memory" | 
|---|
| 1885 | (primes): Omit large primes if INT_MAX is small. | 
|---|
| 1886 |  | 
|---|
| 1887 | * sdiff.c (usage): Send usage to stdout, not stderr. | 
|---|
| 1888 | (long_options, main, usage): Add `--help'. | 
|---|
| 1889 | (main): Send version number to stdout, not stderr.  Exit afterwards. | 
|---|
| 1890 |  | 
|---|
| 1891 | * diff3.c (usage): Send usage to stdout, not stderr. | 
|---|
| 1892 | (long_options, main, usage): Add `--help'. | 
|---|
| 1893 | (read_diff): Detect integer overflow in buffer size calculations. | 
|---|
| 1894 |  | 
|---|
| 1895 | * cmp.c (word): New type.  All uses of `long' for | 
|---|
| 1896 | word-at-a-time comparisons changed to `word'. | 
|---|
| 1897 | (long_options, main, usage): Add `--help'. | 
|---|
| 1898 | (usage): Send usage to stdout, not stderr. | 
|---|
| 1899 | (main): Add `-v'.  Send version number to stdout, not stderr. | 
|---|
| 1900 |  | 
|---|
| 1901 | * configure.in (AC_HAVE_HEADERS): Add unistd.h; remove AC_UNISTD_H. | 
|---|
| 1902 |  | 
|---|
| 1903 | Mon Sep 27 07:20:24 1993  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 1904 |  | 
|---|
| 1905 | * diff.c (add_exclude_file): Cast memchr to (char *) | 
|---|
| 1906 | to suppress bogus warnings on some nonstandard hosts. | 
|---|
| 1907 |  | 
|---|
| 1908 | * Makefile.in (cmp): Add version.o. | 
|---|
| 1909 |  | 
|---|
| 1910 | * analyze.c (diff_2_files): Work around memcmp bug with size=0. | 
|---|
| 1911 |  | 
|---|
| 1912 | * cmp.c (main, usage, version_string): Add --version option. | 
|---|
| 1913 |  | 
|---|
| 1914 | * system.h (malloc, realloc): Declare only if !HAVE_STDLIB_H. | 
|---|
| 1915 | (memchr): Declare only if !HAVE_MEMCHR.  These changes are | 
|---|
| 1916 | needed to keep some nonstandard hosts happy. | 
|---|
| 1917 |  | 
|---|
| 1918 | * util.c (memchr): Make first arg char const * | 
|---|
| 1919 | to match standard. | 
|---|
| 1920 | (xmalloc, xrealloc): Cast malloc, realloc | 
|---|
| 1921 | to (VOID *) to suppress bogus warnings on some nonstandard hosts. | 
|---|
| 1922 |  | 
|---|
| 1923 | * diff3.c (xmalloc, xrealloc): Cast malloc, realloc | 
|---|
| 1924 | to (VOID *) to suppress bogus warnings on some nonstandard hosts. | 
|---|
| 1925 |  | 
|---|
| 1926 | * sdiff.c (xmalloc, xrealloc): Cast malloc, realloc | 
|---|
| 1927 | to (VOID *) to suppress bogus warnings on some nonstandard hosts. | 
|---|
| 1928 | (lf_copy, lf_skip, lf_snarf): Cast memchr to (char *) | 
|---|
| 1929 | to suppress bogus warnings on some nonstandard hosts. | 
|---|
| 1930 | (memchr): Make first arg char const * | 
|---|
| 1931 | to match standard. | 
|---|
| 1932 |  | 
|---|
| 1933 | Mon Sep 27 00:23:37 1993  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 1934 |  | 
|---|
| 1935 | * Version 2.5 released. | 
|---|
| 1936 |  | 
|---|
| 1937 | * analyze.c (diff_2_files): Work around memcmp bug with size=0. | 
|---|
| 1938 |  | 
|---|
| 1939 | * cmp.c (main, usage, version_string): Add --version option. | 
|---|
| 1940 | * Makefile.in (cmp): Add version.o. | 
|---|
| 1941 |  | 
|---|
| 1942 | * diff.c (add_exclude_file): Cast memchr to (char *) | 
|---|
| 1943 | to suppress bogus warnings on some nonstandard hosts. | 
|---|
| 1944 | * sdiff.c (lf_copy, lf_skip, lf_snarf): Likewise. | 
|---|
| 1945 |  | 
|---|
| 1946 | * diff3.c, sdiff.c, util.c (xmalloc, xrealloc): Cast malloc, realloc | 
|---|
| 1947 | to (VOID *) to suppress bogus warnings on some nonstandard hosts. | 
|---|
| 1948 |  | 
|---|
| 1949 | * sdiff.c, util.c (memchr): Make first arg char const * | 
|---|
| 1950 | to match standard. | 
|---|
| 1951 |  | 
|---|
| 1952 | * system.h (malloc, realloc): Declare only if !HAVE_STDLIB_H. | 
|---|
| 1953 | (memchr): Declare only if !HAVE_MEMCHR.  These changes are | 
|---|
| 1954 | needed to keep some nonstandard hosts happy. | 
|---|
| 1955 |  | 
|---|
| 1956 | * xmalloc.c: Include <sys/types.h> always; some nonstandard hosts | 
|---|
| 1957 | need it for size_t even if STDC_HEADERS. | 
|---|
| 1958 |  | 
|---|
| 1959 | Sat Sep 18 01:33:07 1993  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 1960 |  | 
|---|
| 1961 | * configure.in (AC_STAT_MACROS_BROKEN): Add. | 
|---|
| 1962 | * system.h (S_IS{BLK,CHR,DIR,FIFO,REG,SOCK}): Fix defns if | 
|---|
| 1963 | STAT_MACROS_BROKEN. | 
|---|
| 1964 |  | 
|---|
| 1965 | * Makefile.in (diff3, sdiff, cmp): Do not link $(ALLOCA). | 
|---|
| 1966 |  | 
|---|
| 1967 | * analyze.c (discard_confusing_lines): Make defn static, like decl. | 
|---|
| 1968 | * sdiff.c (xmalloc): Likewise. | 
|---|
| 1969 |  | 
|---|
| 1970 | * ifdef.c (format_group): Ensure isdigit argument isn't < 0. | 
|---|
| 1971 |  | 
|---|
| 1972 | * side.c (print_half_line): Use isprint, since some hosts lack isgraph. | 
|---|
| 1973 | * util.c (output_1_line): Likewise.  Ensure its argument isn't < 0. | 
|---|
| 1974 | (xmalloc, xrealloc): Remove needless casts. | 
|---|
| 1975 |  | 
|---|
| 1976 | * system.h (volatile, const): | 
|---|
| 1977 | Define these before including any system headers, | 
|---|
| 1978 | so that they're used consistently in all system includes. | 
|---|
| 1979 | (getenv, malloc, realloc): Declare even if HAVE_STDLIB_H, since some | 
|---|
| 1980 | <stdlib.h>s don't declare them. | 
|---|
| 1981 | (memchr): Likewise for <string.h>. | 
|---|
| 1982 |  | 
|---|
| 1983 | * cmp.c, diff3.c, diff.h, sdiff.c: Include "system.h" first. | 
|---|
| 1984 | * diff.c: Remove redundant "system.h" inclusion. | 
|---|
| 1985 |  | 
|---|
| 1986 | * diff3.c (xmalloc): Now static. | 
|---|
| 1987 | (xmalloc, realloc): Remove needless casts. | 
|---|
| 1988 | (READNUM): Ensure isdigit argument isn't negative. | 
|---|
| 1989 |  | 
|---|
| 1990 | Wed Sep 14 07:14:15 1993  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 1991 |  | 
|---|
| 1992 | * Version 2.4 released. | 
|---|
| 1993 |  | 
|---|
| 1994 | * ifdef.c (scan_char_literal): New function, for new %c'x' and | 
|---|
| 1995 | %c'\ooo' format specs. | 
|---|
| 1996 | (format_group, print_ifdef_lines): Use it.  Remove %0 format spec. | 
|---|
| 1997 |  | 
|---|
| 1998 | * cmp.c (cmp): Don't try to read past end of file; this doesn't | 
|---|
| 1999 | work on ttys. | 
|---|
| 2000 |  | 
|---|
| 2001 | * system.h, version.c: #include <config.h>, not "config.h", to allow | 
|---|
| 2002 | configuring in a separate directory when the source directory has | 
|---|
| 2003 | already been configured. | 
|---|
| 2004 | * Makefile.in (COMPILE): New defn, with proper -I options so that | 
|---|
| 2005 | `#include <config.h>' works. | 
|---|
| 2006 | (.c.o, diff3.o, sdiff.o): Use it. | 
|---|
| 2007 |  | 
|---|
| 2008 | Mon Sep 13 06:45:43 1993  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 2009 |  | 
|---|
| 2010 | * diff.c (main, longopts): Add --line-format=FORMAT option. | 
|---|
| 2011 | (specify_format): Args no longer const pointers.  All callers changed. | 
|---|
| 2012 |  | 
|---|
| 2013 | * ifdef.c: Add support for %?c, %(A=B?T:E), PRINTF_SPECn formats. | 
|---|
| 2014 | (struct group): New struct. | 
|---|
| 2015 | (print_ifdef_lines): Use it to simplify argument passing. | 
|---|
| 2016 | Remove the convention that last arg -1 signifies that the lines | 
|---|
| 2017 | from file 2 are the same as the lines from file 1; this | 
|---|
| 2018 | convention no longer works, now that line numbers might be | 
|---|
| 2019 | printed out, since the line numbers may differ. | 
|---|
| 2020 | Add first FILE * argument to output to.  All callers changed. | 
|---|
| 2021 | Use a faster test for the single-fwrite optimization. | 
|---|
| 2022 | (format_group, scan_printf_spec, groups_letter_value): New functions. | 
|---|
| 2023 |  | 
|---|
| 2024 | * diff.h (group_format, line_format): No longer const pointers. | 
|---|
| 2025 | (format_ifdef): 1st arg is no longer const pointer. | 
|---|
| 2026 |  | 
|---|
| 2027 | * configure.in: Configure HAVE_LIMITS_H, HAVE_STDLIB_H. | 
|---|
| 2028 | * system.h <limits.h>, <stdlib.h>, <string.h>: | 
|---|
| 2029 | Include only if HAVE_LIMITS_H etc. | 
|---|
| 2030 |  | 
|---|
| 2031 | * system.h (memcmp, memcpy, strchr, strrchr, struct dirent): Prefer | 
|---|
| 2032 | these standard names to the traditional names (bcmp, bcpy, index, | 
|---|
| 2033 | rindex, struct direct).  All callers changed. | 
|---|
| 2034 |  | 
|---|
| 2035 | * system.h (PARAMS, VOID): | 
|---|
| 2036 | Define earlier so that malloc decl can use VOID. | 
|---|
| 2037 | (STAT_BLOCKSIZE): Simplify ersatz defn; just use 8K. | 
|---|
| 2038 |  | 
|---|
| 2039 | Fri Sep  3 00:21:02 1993  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 2040 |  | 
|---|
| 2041 | * diff.c (compare_files): Two files with the same name must be | 
|---|
| 2042 | the same file; avoid a needless `stat' in that case. | 
|---|
| 2043 |  | 
|---|
| 2044 | Fri Aug 27 06:59:03 1993  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 2045 |  | 
|---|
| 2046 | * Pervasive changes for portability to 64-bit hosts: | 
|---|
| 2047 | Add prototypes to function declarations. | 
|---|
| 2048 | Use size_t, not int, when needed. | 
|---|
| 2049 |  | 
|---|
| 2050 | * Other pervasive changes: | 
|---|
| 2051 | Use `const' more often. | 
|---|
| 2052 | Use STD{IN,OUT,ERR}_FILENO instead of [012]. | 
|---|
| 2053 | Use 0, not NULL, for portability to broken hosts. | 
|---|
| 2054 |  | 
|---|
| 2055 | * Makefile.in: (srcs, objs, distfiles, cmp): New files cmpbuf.[ch]. | 
|---|
| 2056 | (distfiles): New files config.h.in, mkinstalldirs. | 
|---|
| 2057 | (.c.o): Add -DHAVE_CONFIG_H. | 
|---|
| 2058 |  | 
|---|
| 2059 | * analyze.c: (diag): Pacify `gcc -Wall' with a useless assignment. | 
|---|
| 2060 | (diff_2_files): Use l.c.m., not max, of files' buffer sizes. | 
|---|
| 2061 |  | 
|---|
| 2062 | * cmp.c: Make globals static when possible. | 
|---|
| 2063 |  | 
|---|
| 2064 | (file): Now a 2-element array; replaces `file1' and `file2'. | 
|---|
| 2065 | (file_desc, buffer): Likewise, for file[12]_desc and buf[12]. | 
|---|
| 2066 | (main): Likewise, for stat_buf[12].  Index these variables with `i'. | 
|---|
| 2067 |  | 
|---|
| 2068 | (ignore_initial): New var. | 
|---|
| 2069 | (long_options): Now const.  Add `--ignore-initial'. | 
|---|
| 2070 | (usage): Sort options and add `--ignore-initial'. | 
|---|
| 2071 | (main, cmp): Add `--ignore-initial' support. | 
|---|
| 2072 |  | 
|---|
| 2073 | (main): `cmp - -' now succeeds. | 
|---|
| 2074 | When comparing standard input to a file, and using a shortcut (e.g. | 
|---|
| 2075 | looking at file sizes or inode numbers), take the lseek offset into | 
|---|
| 2076 | account before deciding whether the files are identical. | 
|---|
| 2077 | Avoid mentioning `dev_t', `ino_t' for portability to nonstandard hosts. | 
|---|
| 2078 | Use l.c.m. of files' buffer sizes, not 8 * 1024. | 
|---|
| 2079 | ferror (stdout) does not imply errno has a useful value. | 
|---|
| 2080 | If 2nd file is "-", treat it first, in case stdin is closed. | 
|---|
| 2081 |  | 
|---|
| 2082 | (cmp): Always compute `char_number', `smaller' for speed and simplicity. | 
|---|
| 2083 | Say `cmp: EOF on input', not `/usr/gnu/bin/cmp: EOF on input', | 
|---|
| 2084 | as per Posix.2. | 
|---|
| 2085 |  | 
|---|
| 2086 | (block_compare_and_count): Increment line_number argument. | 
|---|
| 2087 | Remove end_char argument; it's always '\n'.  All callers changed. | 
|---|
| 2088 | Do not assume sizeof(long) == 4; this isn't true on some 64-bit hosts. | 
|---|
| 2089 | (block_compare): Minimize differences with block_compare_and_count. | 
|---|
| 2090 |  | 
|---|
| 2091 | (block_read): Coalesce `bp += nread's. | 
|---|
| 2092 |  | 
|---|
| 2093 | (printc): Remove `FILE *' arg; output to stdout.  All callers changed. | 
|---|
| 2094 |  | 
|---|
| 2095 | * configure.in: Configure HAVE_SIGACTION, RETSIGTYPE, HAVE_VPRINTF. | 
|---|
| 2096 | Configure into config.h. | 
|---|
| 2097 |  | 
|---|
| 2098 | * context.c (print_context_label): | 
|---|
| 2099 | Standard input's st_mtime is no longer a special case | 
|---|
| 2100 | here, since `compare_files' now sets it to the current time. | 
|---|
| 2101 |  | 
|---|
| 2102 | * diff.c (usage): Sort options. | 
|---|
| 2103 | (filetype): New function. | 
|---|
| 2104 | (compare_files): Set stdin's st_mtime to be the current time. | 
|---|
| 2105 | Leave its name "-" instead of changing it to "Standard Input"; | 
|---|
| 2106 | to test whether a file is stdin, we must compare its name to "-" instead | 
|---|
| 2107 | of its desc to 0, since if it's closed other file descs may be 0. | 
|---|
| 2108 | When comparing standard input to a file, and using a shortcut (e.g. | 
|---|
| 2109 | looking at file sizes or inode numbers), take the lseek offset into | 
|---|
| 2110 | account before deciding whether the files are identical. | 
|---|
| 2111 | Pretend that nonexistent files have the same filetype as existing files. | 
|---|
| 2112 | Rename `errorcount' to `failed', since it's boolean. | 
|---|
| 2113 | In directory comparisons, if a file is neither a regular file nor a | 
|---|
| 2114 | directory, just print its type and the other file's type. | 
|---|
| 2115 |  | 
|---|
| 2116 | * diff.h (Is_space, textchar): Remove. | 
|---|
| 2117 | (struct msg, msg_chain, msg_chain_end): Move to util.c. | 
|---|
| 2118 | (VOID): Move to system.h. | 
|---|
| 2119 | (line_cmp, version_string, change_letter, print_number_range, | 
|---|
| 2120 | find_change): New decls. | 
|---|
| 2121 |  | 
|---|
| 2122 | * diff.texi: | 
|---|
| 2123 | whitespace -> white space.  It now stands for whatever isspace yields. | 
|---|
| 2124 | Add --ignore-initial. | 
|---|
| 2125 |  | 
|---|
| 2126 | * diff3.c (VOID): Move to system.h. | 
|---|
| 2127 | (version_string): Now char[]. | 
|---|
| 2128 | (usage): Sort options. | 
|---|
| 2129 | (process_diff): Pacify `gcc -Wall' with a useless assignment. | 
|---|
| 2130 | (read_diff): pid is of type pid_t, not int.  Use waitpid if available. | 
|---|
| 2131 | (output_diff3): Simplify test for `\ No newline at end of file' message. | 
|---|
| 2132 |  | 
|---|
| 2133 | * dir.c (struct dirdata): Rename `files' to `names' to avoid confusion | 
|---|
| 2134 | with external struct file_data `files'. | 
|---|
| 2135 |  | 
|---|
| 2136 | * io.c (line_cmp): Move declaration to diff.h. | 
|---|
| 2137 | (textchar): Remove. | 
|---|
| 2138 | (find_and_hash_each_line): Use locale's definition of white space | 
|---|
| 2139 | instead of using one hardwired defn for -b and another for -w. | 
|---|
| 2140 |  | 
|---|
| 2141 | * normal.c (change_letter, print_number_range, find_change): | 
|---|
| 2142 | Move decls to diff.h. | 
|---|
| 2143 | (print_normal_hunk): Now static. | 
|---|
| 2144 |  | 
|---|
| 2145 | * sdiff.c (SEEK_SET): Move to system.h. | 
|---|
| 2146 | (version_string): Now char[], not char*. | 
|---|
| 2147 | (private_tempnam): Remove hardcoded limit on temporary file names. | 
|---|
| 2148 | (exiterr, perror_fatal, main): When exiting because of a signal, | 
|---|
| 2149 | exit with that signal's status. | 
|---|
| 2150 | (lf_refill, main, skip_white, edit, interact): Check for signal. | 
|---|
| 2151 | (ignore_SIGINT): Renamed from `ignore_signals'. | 
|---|
| 2152 | (NUM_SIGS, initial_handler): New macros. | 
|---|
| 2153 | (initial_action, signal_received, sigs_trapped): New vars. | 
|---|
| 2154 | (catchsig, trapsigs): Use sigaction if possible, since this closes the | 
|---|
| 2155 | windows of vulnerability that `signal' has.  Use RETSIGTYPE not void. | 
|---|
| 2156 | When a signal comes in, just set a global variable; this is safer. | 
|---|
| 2157 | (checksigs, untrapsig): New functions. | 
|---|
| 2158 | (edit): Pacify `gcc -Wall' with a useless assignment. | 
|---|
| 2159 | Respond to each empty line with help, not to every other empty line. | 
|---|
| 2160 | (private_tempnam): Remove hardcoded limit on temporary file name length. | 
|---|
| 2161 | Don't assume sizeof (pid_t) <= sizeof (int). | 
|---|
| 2162 |  | 
|---|
| 2163 | * system.h: (S_IXOTH, S_IXGRP, S_IXUSR, | 
|---|
| 2164 | SEEK_SET, SEEK_CUR, | 
|---|
| 2165 | STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO): | 
|---|
| 2166 | New macros, if system doesn't define them. | 
|---|
| 2167 | (volatile): Don't define if already defined. | 
|---|
| 2168 | (PARAMS): New macro. | 
|---|
| 2169 | (VOID): Move here from diff.h. | 
|---|
| 2170 |  | 
|---|
| 2171 | * util.c (struct msg, msg_chain, msg_chain_end): Moved here from diff.h. | 
|---|
| 2172 | (message5): New function. | 
|---|
| 2173 | (pr_pid): New var. | 
|---|
| 2174 | (begin_output): Allocate `name' more precisely. | 
|---|
| 2175 | Put child pid into pr_pid, so that we can wait for it later. | 
|---|
| 2176 | Don't check execl's return value, since any return must be an error. | 
|---|
| 2177 | (finish_output): Detect and report output errors. | 
|---|
| 2178 | Use waitpid if available.  Check pr exit status. | 
|---|
| 2179 | (line_cmp): Use locale's definition of white space | 
|---|
| 2180 | instead of using one hardwired defn for -b and another for -w. | 
|---|
| 2181 | (analyze_cmp): Avoid double negation with `! nontrivial'. | 
|---|
| 2182 | Pacify `gcc -Wall' be rewriting for-loop into do-while-loop. | 
|---|
| 2183 | (dir_file_pathname): New function. | 
|---|
| 2184 |  | 
|---|
| 2185 | * version.c (version_string): Now char[], not char*. | 
|---|
| 2186 |  | 
|---|
| 2187 | Thu Jul 29 20:44:30 1993  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu) | 
|---|
| 2188 |  | 
|---|
| 2189 | * Makefile.in (config.status): Run config.status --recheck, not | 
|---|
| 2190 | configure, to get the right args passed. | 
|---|
| 2191 |  | 
|---|
| 2192 | Thu Jul 22 10:46:30 1993  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 2193 |  | 
|---|
| 2194 | * Makefile.in (dist): Replace `if [ ! TEST ]; then ACTION; fi' | 
|---|
| 2195 | with `[ TEST ] || ACTION || exit' so that the containing for-loop exits | 
|---|
| 2196 | with proper status for `make'. | 
|---|
| 2197 |  | 
|---|
| 2198 | Thu Jul  8 19:47:22 1993  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu) | 
|---|
| 2199 |  | 
|---|
| 2200 | * Makefile.in (installdirs): New target. | 
|---|
| 2201 | (install): Use it. | 
|---|
| 2202 | (Makefile, config.status, configure): New targets. | 
|---|
| 2203 |  | 
|---|
| 2204 | Sat Jun  5 23:10:40 1993  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 2205 |  | 
|---|
| 2206 | * Makefile.in (dist): Switch from .z to .gz. | 
|---|
| 2207 |  | 
|---|
| 2208 | Wed May 26 17:16:02 1993  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 2209 |  | 
|---|
| 2210 | * diff.c (main): Cast args to compare_files, for traditional C. | 
|---|
| 2211 | * side.c (print_sdiff_common_lines_print_sdiff_hunk): Likewise. | 
|---|
| 2212 | * analyze.c, diff3.c, sdiff.c, util.c: Don't assume NULL is defined | 
|---|
| 2213 | properly. | 
|---|
| 2214 |  | 
|---|
| 2215 | Tue May 25 14:54:05 1993  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 2216 |  | 
|---|
| 2217 | * analyze.c (diff_2_files):  With -q, do not report that files differ | 
|---|
| 2218 | if all their differences are ignored. | 
|---|
| 2219 | (briefly_report): New function. | 
|---|
| 2220 | * diff.h (ignore_some_changes): New variable. | 
|---|
| 2221 | * diff.c (compare_files): Don't use the file size shortcut if | 
|---|
| 2222 | ignore_some_changes is nonzero, since the file size may differ | 
|---|
| 2223 | merely due to ignored changes. | 
|---|
| 2224 | (main):  Set ignore_some_changes if we might ignore some changes. | 
|---|
| 2225 | Remove unsystematic assignment of 0 to static vars. | 
|---|
| 2226 | * io.c (read_files): New argument PRETEND_BINARY says whether to | 
|---|
| 2227 | pretend the files are binary. | 
|---|
| 2228 |  | 
|---|
| 2229 | * diff3.c (tab_align_flag): New variable, for new -T option. | 
|---|
| 2230 | (main, usage, output_diff3): Add support for -T. | 
|---|
| 2231 |  | 
|---|
| 2232 | Sun May 23 15:25:29 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu) | 
|---|
| 2233 |  | 
|---|
| 2234 | * dir.c (dir_sort): Always init `data' to avoid GCC warning. | 
|---|
| 2235 |  | 
|---|
| 2236 | Sat May 22 15:35:02 1993  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 2237 |  | 
|---|
| 2238 | * Makefile.in (dist): Change name of package from diff to diffutils. | 
|---|
| 2239 | Don't bother to build .Z dist; .z suffices. | 
|---|
| 2240 |  | 
|---|
| 2241 | Fri May 21 16:35:22 1993  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 2242 |  | 
|---|
| 2243 | * diff.c: Include "system.h" to get memchr declaration. | 
|---|
| 2244 | * system.h (memchr): Declare if !HAVE_MEMCHR, not if | 
|---|
| 2245 | !HAVE_MEMCHR && !STDC_HEADERS. | 
|---|
| 2246 |  | 
|---|
| 2247 | Wed May 19 17:43:55 1993  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 2248 |  | 
|---|
| 2249 | * Version 2.3 released. | 
|---|
| 2250 |  | 
|---|
| 2251 | Fri Apr 23 17:18:44 1993  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 2252 |  | 
|---|
| 2253 | * io.c (find_identical_ends): Do not discard the last HORIZON_LINES | 
|---|
| 2254 | lines of the prefix, or the first HORIZON_LINES lines of the suffix. | 
|---|
| 2255 | * diff.c (main, longopts, usage): Add --horizon-lines option. | 
|---|
| 2256 | * diff3.c (main, process_diff, read_diff): Invoke second diff | 
|---|
| 2257 | with --horizon-lines determined by the first diff. | 
|---|
| 2258 | * diff.h, diff3.c (horizon_lines): New variable. | 
|---|
| 2259 |  | 
|---|
| 2260 | Mon Mar 22 16:16:00 1993  Roland McGrath  (roland@churchy.gnu.ai.mit.edu) | 
|---|
| 2261 |  | 
|---|
| 2262 | * system.h [HAVE_STRING_H || STDC_HEADERS] (bcopy, bcmp, bzero): | 
|---|
| 2263 | Don't define if already defined. | 
|---|
| 2264 |  | 
|---|
| 2265 | Fri Mar  5 00:20:16 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu) | 
|---|
| 2266 |  | 
|---|
| 2267 | * diff.c (main): Use NULL in arg to compare_files. | 
|---|
| 2268 |  | 
|---|
| 2269 | Thu Feb 25 15:26:01 1993  Roland McGrath  (roland@churchy.gnu.ai.mit.edu) | 
|---|
| 2270 |  | 
|---|
| 2271 | * system.h: Declare memchr #if !HAVE_MEMCHR && !STDC_HEADERS, | 
|---|
| 2272 | not #if !HAVE_MEMCHR || !STDC_HEADERS. | 
|---|
| 2273 |  | 
|---|
| 2274 | Mon Feb 22 15:04:46 1993  Richard Stallman  (rms@geech.gnu.ai.mit.edu) | 
|---|
| 2275 |  | 
|---|
| 2276 | * io.c (find_identical_ends): Move complicated arg outside GUESS_LINES. | 
|---|
| 2277 |  | 
|---|
| 2278 | Mon Feb 22 12:56:12 1993  Roland McGrath  (roland@churchy.gnu.ai.mit.edu) | 
|---|
| 2279 |  | 
|---|
| 2280 | * Makefile.in (.c.o): Add -I$(srcdir); put $(CFLAGS) last before $<. | 
|---|
| 2281 |  | 
|---|
| 2282 | Sat Feb 20 19:18:56 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu) | 
|---|
| 2283 |  | 
|---|
| 2284 | * io.c (binary_file_p): Return zero if file size is zero. | 
|---|
| 2285 |  | 
|---|
| 2286 | Fri Feb 19 17:31:32 1993  Roland McGrath  (roland@geech.gnu.ai.mit.edu) | 
|---|
| 2287 |  | 
|---|
| 2288 | * Version 2.2 released. | 
|---|
| 2289 |  | 
|---|
| 2290 | * system.h [HAVE_STRING_H || STDC_HEADERS] (index, rindex): Don't | 
|---|
| 2291 | define if already defined. | 
|---|
| 2292 |  | 
|---|
| 2293 | Wed Feb 17 17:08:00 1993  Roland McGrath  (roland@churchy.gnu.ai.mit.edu) | 
|---|
| 2294 |  | 
|---|
| 2295 | * Makefile.in (srcs): Remove limits.h. | 
|---|
| 2296 |  | 
|---|
| 2297 | Thu Feb 11 03:36:00 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu) | 
|---|
| 2298 |  | 
|---|
| 2299 | * diff3.c (xmalloc): No longer static. | 
|---|
| 2300 |  | 
|---|
| 2301 | * sdiff.c (edit): Allocate buf dynamically. | 
|---|
| 2302 |  | 
|---|
| 2303 | * dir.c (dir_sort): Handle VOID_CLOSEDIR. | 
|---|
| 2304 |  | 
|---|
| 2305 | Wed Feb 10 00:15:54 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu) | 
|---|
| 2306 |  | 
|---|
| 2307 | * limits.h: File deleted (should never have been there). | 
|---|
| 2308 |  | 
|---|
| 2309 | Tue Feb  9 03:53:22 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu) | 
|---|
| 2310 |  | 
|---|
| 2311 | * Makefile.in (.c.o, diff3.o, sdiff.o): Put $(CFLAGS) last. | 
|---|
| 2312 |  | 
|---|
| 2313 | Wed Feb  3 15:42:10 1993  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu) | 
|---|
| 2314 |  | 
|---|
| 2315 | * system.h: Don't #define const; let configure do it. | 
|---|
| 2316 |  | 
|---|
| 2317 | Mon Feb  1 02:13:23 1993  Paul Eggert  (eggert@hal.gnu.ai.mit.edu) | 
|---|
| 2318 |  | 
|---|
| 2319 | * Version 2.1 released. | 
|---|
| 2320 |  | 
|---|
| 2321 | * Makefile.in (dist): Survive ln failures.  Create .tar.z | 
|---|
| 2322 | (gzipped tar) file as well as .tar.Z (compressed tar) file. | 
|---|
| 2323 |  | 
|---|
| 2324 | Fri Jan  8 22:31:41 1993  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 2325 |  | 
|---|
| 2326 | * side.c (print_half_line): When the input position falls | 
|---|
| 2327 | outside the column, do not output a tab even if the output | 
|---|
| 2328 | position still falls within the column. | 
|---|
| 2329 |  | 
|---|
| 2330 | Mon Dec 21 13:54:36 1992  David J. MacKenzie  (djm@kropotkin.gnu.ai.mit.edu) | 
|---|
| 2331 |  | 
|---|
| 2332 | * Makefile.in (.c.o): Add -I. | 
|---|
| 2333 |  | 
|---|
| 2334 | Fri Dec 18 14:08:20 1992  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 2335 |  | 
|---|
| 2336 | * configure.in: Add HAVE_FCNTL_H, since system.h uses it. | 
|---|
| 2337 |  | 
|---|
| 2338 | Tue Nov 24 10:06:48 1992  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu) | 
|---|
| 2339 |  | 
|---|
| 2340 | * Makefile.in: Note change from USG to HAVE_STRING_H. | 
|---|
| 2341 |  | 
|---|
| 2342 | Mon Nov 23 18:44:00 1992  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 2343 |  | 
|---|
| 2344 | * io.c (find_and_hash_each_line): When running out of lines, | 
|---|
| 2345 | double the number of allocated lines, instead of just doubling | 
|---|
| 2346 | that number minus the prefix lines.  This is more likely to | 
|---|
| 2347 | avoid the need for further memory allocation. | 
|---|
| 2348 |  | 
|---|
| 2349 | Wed Nov 18 20:40:28 1992  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 2350 |  | 
|---|
| 2351 | * dir.c (dir_sort): Plug memory leak: space holding directory | 
|---|
| 2352 | contents was not being reclaimed.  Get directory size from | 
|---|
| 2353 | struct file_data for initial guess at memory needed. | 
|---|
| 2354 | Detect errors when reading and closing directory. | 
|---|
| 2355 | (diff_dirs): Pass struct file_data to dir_sort.  Finish plugging leak. | 
|---|
| 2356 | * diff.c (compare_files): Pass struct file_data to diff_dirs. | 
|---|
| 2357 |  | 
|---|
| 2358 | * io.c (find_and_hash_each_line): Don't assume alloc_lines is | 
|---|
| 2359 | nonzero when allocating more lines. | 
|---|
| 2360 |  | 
|---|
| 2361 | Thu Nov 12 16:02:18 1992  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 2362 |  | 
|---|
| 2363 | * diff.c (main): Add `-U lines' as an alias for `--unified=lines'. | 
|---|
| 2364 |  | 
|---|
| 2365 | * diff3.c (usage): Add third --label option in example. | 
|---|
| 2366 |  | 
|---|
| 2367 | * util.c (analyze_hunk): Fix test for ignoring blank lines. | 
|---|
| 2368 |  | 
|---|
| 2369 | * configure.in, system.h: Avoid USG; use HAVE_TIME_H etc. instead. | 
|---|
| 2370 |  | 
|---|
| 2371 | Mon Nov  9 05:13:25 1992  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 2372 |  | 
|---|
| 2373 | * diff3.c (main, usage): Add -A or --show-all. | 
|---|
| 2374 | -m now defaults to -A, not -E.  Allow up to three -L options. | 
|---|
| 2375 | (output_diff3_edscript, output_diff3_merge): | 
|---|
| 2376 | Remove spurious differences between these two functions. | 
|---|
| 2377 | Output ||||||| for -A.  Distinguish between conflicts and overlaps. | 
|---|
| 2378 | (dotlines, undotlines): New functions that output `Ns', not `N,Ns'. | 
|---|
| 2379 | (output_diff3_edscript, output_diff3_merge): Use them. | 
|---|
| 2380 |  | 
|---|
| 2381 | * io.c (find_identical_ends): shift_boundaries needs an extra | 
|---|
| 2382 | identical line at the end, not at the beginning. | 
|---|
| 2383 |  | 
|---|
| 2384 | * sdiff.c (edit): execvp wants char **, not const char **. | 
|---|
| 2385 |  | 
|---|
| 2386 | Mon Oct 19 04:39:32 1992  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 2387 |  | 
|---|
| 2388 | * context.c (print_context_script, find_function): Context | 
|---|
| 2389 | line numbers start with - file->prefix_lines, not 0. | 
|---|
| 2390 |  | 
|---|
| 2391 | * io.c (binary_file_p): Undo last change; it was a library bug. | 
|---|
| 2392 |  | 
|---|
| 2393 | Sun Oct 18 00:17:29 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu) | 
|---|
| 2394 |  | 
|---|
| 2395 | * io.c (binary_file_p): Consider empty file as non-binary. | 
|---|
| 2396 |  | 
|---|
| 2397 | Mon Oct  5 05:18:46 1992  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 2398 |  | 
|---|
| 2399 | * diff3.c (main, make_3way_diff, using_to_diff3_block): Don't | 
|---|
| 2400 | report bogus differences (for one of -mexEX3) just because the | 
|---|
| 2401 | file0-file1 diffs don't line up with the file0-file2 diffs. | 
|---|
| 2402 | (This is entirely possible since we don't use diff's -n | 
|---|
| 2403 | option.)  Always compare file1 to file2, so that diff3 sees | 
|---|
| 2404 | those changes directly.  Typically, file2 is now the common | 
|---|
| 2405 | file, not file0. | 
|---|
| 2406 | (output_diff3_merge): The input file is file 0, not the common file. | 
|---|
| 2407 |  | 
|---|
| 2408 | (FC, FO): New macros; they replace FILE1, FILE0 for two-way diffs, | 
|---|
| 2409 | to distinguish them from three-way diffs. | 
|---|
| 2410 |  | 
|---|
| 2411 | * diff3.c (using_to_diff3_block): Fold repeated code into loops. | 
|---|
| 2412 |  | 
|---|
| 2413 | * diff3.c (make_3way_diff, process_diff): Have the *_end | 
|---|
| 2414 | variable point to the next field to be changed, not to the last | 
|---|
| 2415 | object allocated; this saves an if-then-else. | 
|---|
| 2416 |  | 
|---|
| 2417 | * diff3.c (process_diff): Use D_NUMLINES instead of its definiens. | 
|---|
| 2418 |  | 
|---|
| 2419 | * diff3.c: Make fns and vars static unless they must be external. | 
|---|
| 2420 |  | 
|---|
| 2421 | Wed Sep 30 09:21:59 1992  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 2422 |  | 
|---|
| 2423 | * analyze.c (diff_2_files): OUTPUT_IFDEF is now robust. | 
|---|
| 2424 | * diff.h (ROBUST_OUTPUT_STYLE): Likewise. | 
|---|
| 2425 | (default_line_format): Remove.  All refs removed. | 
|---|
| 2426 |  | 
|---|
| 2427 | * ifdef.c (print_ifdef_lines): Add %L.  Optimize %l\n even if user | 
|---|
| 2428 | specified it, as opposed to its being the default. | 
|---|
| 2429 |  | 
|---|
| 2430 | Tue Sep 29 19:01:28 1992  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 2431 |  | 
|---|
| 2432 | * diff.c (longopts, main): --{old,new,unchanged,changed}--group-format | 
|---|
| 2433 | are new options, so that -D is no longer overloaded.  Set | 
|---|
| 2434 | no_diff_means_no_output if --unchanged-{line,group}-format allows it. | 
|---|
| 2435 | * diff.h (enum line_class): New type. | 
|---|
| 2436 | (group_format, line_format): Use it to regularize option flags. | 
|---|
| 2437 | All refs changed. | 
|---|
| 2438 |  | 
|---|
| 2439 | * ifdef.c (format_ifdef, print_ifdef_lines): %n is no longer a format. | 
|---|
| 2440 |  | 
|---|
| 2441 | Mon Sep 28 04:51:42 1992  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 2442 |  | 
|---|
| 2443 | * diff.c (main, usage): Replace --line-prefix with the more general | 
|---|
| 2444 | --{old,new,unchanged}-line-format options. | 
|---|
| 2445 | * ifdef.c (format_ifdef, print_ifdef_lines): Likewise. | 
|---|
| 2446 | * diff.h (line_format): Renamed from line_prefix.  All refs changed. | 
|---|
| 2447 | * diff.h, ifdef.c (default_line_format): New variable. | 
|---|
| 2448 | * util.c (output_1_line): New function. | 
|---|
| 2449 | (print_1_line): Use it. | 
|---|
| 2450 |  | 
|---|
| 2451 | * ifdef.c: (format_ifdef, print_ifdef_lines): Add %0 format. | 
|---|
| 2452 |  | 
|---|
| 2453 | Sun Sep 27 05:38:13 1992  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 2454 |  | 
|---|
| 2455 | * diff.c (main): Add -E or --line-prefix option.  Add -D'=xxx' | 
|---|
| 2456 | for common lines.  Change default -D< format from copy of -D> | 
|---|
| 2457 | format to to -D<%<; similarly for default -D> format. | 
|---|
| 2458 | * diff.h (common_format, line_prefix): New variables. | 
|---|
| 2459 | * ifdef.c (format_ifdef): New function. | 
|---|
| 2460 | (print_ifdef_script, print_ifdef_hunk, print_ifdef_lines): | 
|---|
| 2461 | Use it for -D'=xxx', -E. | 
|---|
| 2462 |  | 
|---|
| 2463 | * context.c (find_hunk): Glue together two non-ignorable changes that | 
|---|
| 2464 | are exactly CONTEXT * 2 lines apart.  This shortens output, removes | 
|---|
| 2465 | a behavioral discontinuity at CONTEXT = 0, and is more compatible | 
|---|
| 2466 | with traditional diff. | 
|---|
| 2467 |  | 
|---|
| 2468 | * io.c (find_identical_ends): Slurp stdin at most once. | 
|---|
| 2469 |  | 
|---|
| 2470 | * util.c (print_line_line): line_flag is const char *. | 
|---|
| 2471 |  | 
|---|
| 2472 | Thu Sep 24 15:18:07 1992  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 2473 |  | 
|---|
| 2474 | * ifdef.c (print_ifdef_lines): New function, which fwrites a sequence | 
|---|
| 2475 | of lines all at once for speed. | 
|---|
| 2476 | (print_ifdef_script, print_ifdef_hunk): Use it. | 
|---|
| 2477 |  | 
|---|
| 2478 | Thu Sep 24 05:54:14 1992  Paul Eggert  (eggert@twinsun.com) | 
|---|
| 2479 |  | 
|---|
| 2480 | * diff.c (main): Support new -D options for if-then-else formats. | 
|---|
| 2481 | (specify_format): New function. | 
|---|
| 2482 | * diff.h (ifndef_format, ifdef_format, ifnelse_format): New variables. | 
|---|
| 2483 | * ifdef.c (print_ifdef_hunk): Use the new variables instead of | 
|---|
| 2484 | a hardwired format. | 
|---|
| 2485 |  | 
|---|
| 2486 | * side.c (print_1sdiff_line): Represent incomplete lines on output. | 
|---|
| 2487 | (print_sdiff_script): Likewise.  Don't print 'q' at end, | 
|---|
| 2488 | since that doesn't work with incomplete lines. | 
|---|
| 2489 | * sdiff.c (interact): Don't assume diff output ends with 'q' line. | 
|---|
| 2490 | * diff.h (ROBUST_OUTPUT_STYLE): OUTPUT_SDIFF is now robust. | 
|---|
| 2491 |  | 
|---|
| 2492 | * sdiff.c (lf_copy, lf_snarf): Use memchr instead of index, | 
|---|
| 2493 | to avoid dumping core when files contain null characters. | 
|---|
| 2494 | (memchr): New function (if memchr is missing). | 
|---|
| 2495 |  | 
|---|
| 2496 | * io.c (sip): New arg SKIP_TEST to skip test for binary file. | 
|---|
| 2497 | (read_files): Don't bother testing second file if first is binary. | 
|---|
| 2498 |  | 
|---|
| 2499 | Thu Sep 17 21:17:49 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu) | 
|---|
| 2500 |  | 
|---|
| 2501 | * system.h [!USG && !_POSIX_VERSION]: Protect from conflicting | 
|---|
| 2502 | prototype for wait in sys/wait.h. | 
|---|
| 2503 |  | 
|---|
| 2504 | Wed Sep 16 12:32:18 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu) | 
|---|
| 2505 |  | 
|---|
| 2506 | * Makefile.in: Include binprefix in -DDIFF_PROGRAM. | 
|---|
| 2507 |  | 
|---|
| 2508 | Tue Sep 15 14:27:25 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu) | 
|---|
| 2509 |  | 
|---|
| 2510 | * Version 2.0. | 
|---|
| 2511 |  | 
|---|
| 2512 | Sat Sep 12 01:31:19 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu) | 
|---|
| 2513 |  | 
|---|
| 2514 | * util.c, diff.h, system.h [!HAVE_MEMCHR]: Don't use void * | 
|---|
| 2515 | and const when declaring memchr replacement.  Declare memchr | 
|---|
| 2516 | if !STDC_HEADERS && !USG. | 
|---|
| 2517 |  | 
|---|
| 2518 | Thu Sep 10 15:17:32 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu) | 
|---|
| 2519 |  | 
|---|
| 2520 | * Makefile.in (uninstall): New target. | 
|---|
| 2521 |  | 
|---|
| 2522 | * diff.c (excluded_filename): Use fnmatch, not wildmat. | 
|---|
| 2523 | (usage): Document -x, -X, --exclude, --exclude-from. | 
|---|
| 2524 | Makefile.in: Use fnmatch.c, not wildmat.c. | 
|---|
| 2525 |  | 
|---|
| 2526 | Sun Sep  6 23:46:25 1992  Paul Eggert (eggert@twinsun.com) | 
|---|
| 2527 |  | 
|---|
| 2528 | * configure.in: Add HAVE_MEMCHR. | 
|---|
| 2529 | * diff.h, util.c: Use it instead of MEMCHR_MISSING. | 
|---|
| 2530 |  | 
|---|
| 2531 | Sun Sep  6 07:25:49 1992  Paul Eggert (eggert@twinsun.com) | 
|---|
| 2532 |  | 
|---|
| 2533 | * diff.h: (struct line_def): Replace this 3-word struct with char *. | 
|---|
| 2534 | This uses less memory, particularly for large files with short lines. | 
|---|
| 2535 | (struct file_data): New member linbuf_base counts number of lines | 
|---|
| 2536 | in common prefix that are not recorded in linbuf; | 
|---|
| 2537 | this uses less memory if files are identical or differ only at end. | 
|---|
| 2538 | New member buffered_lines counts possibly differing lines. | 
|---|
| 2539 | New member valid_lines counts valid data. | 
|---|
| 2540 | New member alloc_lines - linbuf_base replaces old linbufsize. | 
|---|
| 2541 | linbuf[0] now always points at first differing line. | 
|---|
| 2542 | Remove unused members ltran, suffix_lines. | 
|---|
| 2543 | Add const where appropriate. | 
|---|
| 2544 | (Is_space): New macro, for consistent definition of `white space'. | 
|---|
| 2545 | (excluded_filename, memchr, sip, slurp): New declarations. | 
|---|
| 2546 | * ed.c (print_ed_hunk): Adjust to diff.h's struct changes. | 
|---|
| 2547 | * context.c (pr_context_hunk): Likewise. | 
|---|
| 2548 | * ifdef.c (print_ifdef_script): Likewise. | 
|---|
| 2549 | * side.c (print_sdiff_script, print_half_line): Likewise. | 
|---|
| 2550 | * util.c (analyze_hunk, line_cmp, print_1_line): Likewise. | 
|---|
| 2551 |  | 
|---|
| 2552 | * analyze.c (shift_boundaries): Remove unneeded variable `end' and | 
|---|
| 2553 | unnecessary comparisons of `preceding' and `other_preceding' against 0. | 
|---|
| 2554 | (diff_2_files): When comparing files byte-by-byte for equality, | 
|---|
| 2555 | don't slurp them all in at once; just compare them a buffer at a time. | 
|---|
| 2556 | This can win big if they differ early on. | 
|---|
| 2557 | Move some code to compare_files to enable this change. | 
|---|
| 2558 | Use only one buffer for stdin with `diff - -'. | 
|---|
| 2559 | (discard_confusing_lines, diff_2_files): Coalesce malloc/free calls. | 
|---|
| 2560 | (build_script): Remove obsolete OUTPUT_RCS code. | 
|---|
| 2561 |  | 
|---|
| 2562 | * diff.c (add_exclude, add_exclude_file, excluded_filename): New fns. | 
|---|
| 2563 | (main): Use them for the new --exclude and --exclude-from options. | 
|---|
| 2564 | (compare_files): Don't open a file unless it must be read. | 
|---|
| 2565 | Treat `diff file file' and `diff file dir' similarly. | 
|---|
| 2566 | Move some code here from diff_2_files to enable this. | 
|---|
| 2567 | Simplify file vs dir warning. | 
|---|
| 2568 |  | 
|---|
| 2569 | * dir.c (dir_sort): Support new --exclude* options. | 
|---|
| 2570 |  | 
|---|
| 2571 | * io.c (struct equivclass): Put hash code and line length here instead | 
|---|
| 2572 | of struct line_def, so that they can be shared. | 
|---|
| 2573 | (find_and_hash_each_line): Compute equivalence class as we go, | 
|---|
| 2574 | instead of doing it in a separate pass; this thrashes memory less. | 
|---|
| 2575 | Make buckets realloc-able, since we can't preallocate them. | 
|---|
| 2576 | Record one more line start than there are lines, so that we can compute | 
|---|
| 2577 | any line's length by subtracting its start from the next line's, | 
|---|
| 2578 | instead of storing the length explicitly.  This saves memory. | 
|---|
| 2579 | Move prefix-handling code to find_identical_ends; | 
|---|
| 2580 | this wins with large prefixes. | 
|---|
| 2581 | Use Is_space, not is_space, for consistent treatment of white space. | 
|---|
| 2582 | (prepare_text_end): New function. | 
|---|
| 2583 | (find_identical_ends): Move slurping here, so it's only done when | 
|---|
| 2584 | needed.  Work even if the buffers are the same (because of `diff - -'). | 
|---|
| 2585 | Compare prefixes a word at a time for speed. | 
|---|
| 2586 | (find_equiv_class): Delete; now done by find_and_hash_each_line. | 
|---|
| 2587 | (read_files): Don't slurp unless needed. | 
|---|
| 2588 | find_equiv_class's work is now folded into find_and_hash_each_line. | 
|---|
| 2589 | Don't copy stdin buffer if `diff - -'. | 
|---|
| 2590 | Check for running out of primes. | 
|---|
| 2591 | (sip, slurp): Split first part of `slurp' into another function `sip'. | 
|---|
| 2592 | `sip' sets things up and perhaps reads the first ST_BLKSIZE buffer to | 
|---|
| 2593 | see whether the file is binary; `slurp' now just finishes the job. | 
|---|
| 2594 | This lets diff_2_files compare binary files lazily. | 
|---|
| 2595 | Allocate a one-word sentinel to allow word-at-a-time prefix comparison. | 
|---|
| 2596 | Count prefix lines only if needed, only count the first file's prefix. | 
|---|
| 2597 | Don't bother to count suffix lines; it's never needed. | 
|---|
| 2598 | Set up linbuf[0] to point at first differing line. | 
|---|
| 2599 | (binary_file_p): Change test for binary files: | 
|---|
| 2600 | if it has a null byte in its first buffer, it's binary. | 
|---|
| 2601 | (primes): Add more primes. | 
|---|
| 2602 |  | 
|---|
| 2603 | * util.c (line_cmp): Use bcmp for speed. | 
|---|
| 2604 | Use Is_space, not is_space, for consistent treatment of white space. | 
|---|
| 2605 | (translate_line_number): Internal line numbers now count from 0 | 
|---|
| 2606 | starting after the prefix. | 
|---|
| 2607 | (memchr): New function (if memchr is missing). | 
|---|
| 2608 |  | 
|---|
| 2609 | * Makefile.in: Document HAVE_ST_BLKSIZE.  Link with wildmat.o. | 
|---|
| 2610 | * system.h (STAT_BLOCKSIZE): New macro based on HAVE_ST_BLKSIZE. | 
|---|
| 2611 | * configure.in: Add AC_ST_BLKSIZE. | 
|---|
| 2612 | * wildmat.c: New file. | 
|---|
| 2613 |  | 
|---|
| 2614 | Fri Sep  4 01:28:51 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu) | 
|---|
| 2615 |  | 
|---|
| 2616 | * sdiff.c (xmalloc): Renamed from ck_malloc.  Callers changed. | 
|---|
| 2617 |  | 
|---|
| 2618 | Thu Sep  3 15:28:59 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu) | 
|---|
| 2619 |  | 
|---|
| 2620 | * diff.h: Don't declare free, index, rindex. | 
|---|
| 2621 |  | 
|---|
| 2622 | Tue Aug 11 22:18:06 1992  John Gilmore  (gnu at cygnus.com) | 
|---|
| 2623 |  | 
|---|
| 2624 | * io.c (binary_file_p):  Use heuristic to avoid declaring info | 
|---|
| 2625 | files as binary files.  Allow about 1.5% non-printing | 
|---|
| 2626 | characters (in info's case, ^_). | 
|---|
| 2627 |  | 
|---|
| 2628 | Tue Jul  7 01:09:26 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu) | 
|---|
| 2629 |  | 
|---|
| 2630 | * diff.h: Replace function_regexp and ignore_regexp with lists | 
|---|
| 2631 | of compiled regexps. | 
|---|
| 2632 | * analyze.c, context.c, util.c: Test whether the lists, not | 
|---|
| 2633 | the old variables, are empty. | 
|---|
| 2634 | * util.c (analyze_hunk), context.c (find_function): Compare | 
|---|
| 2635 | lines with the lists of regexps. | 
|---|
| 2636 | * diff.c (add_regexp): New function. | 
|---|
| 2637 | (main): Use it. | 
|---|
| 2638 |  | 
|---|
| 2639 | * diff3: Add -v --version option. | 
|---|
| 2640 | * Makefile.in: Link with version.o. | 
|---|
| 2641 |  | 
|---|
| 2642 | * system.h: New file. | 
|---|
| 2643 | * diff.h, cmp.c, diff3.c, sdiff.c: Use it. | 
|---|
| 2644 |  | 
|---|
| 2645 | * diff.h, diff3.c: Include string.h or strings.h, as appropriate. | 
|---|
| 2646 | Declare malloc and realloc. | 
|---|
| 2647 |  | 
|---|
| 2648 | * diff3.c (perror_with_exit): Include program name in message. | 
|---|
| 2649 |  | 
|---|
| 2650 | * diff3.c: Lowercase error messages for GNU standards. | 
|---|
| 2651 |  | 
|---|
| 2652 | * sdiff.c [USG || STDC_HEADERS]: Define bcopy in terms of memcpy. | 
|---|
| 2653 |  | 
|---|
| 2654 | * sdiff.c: Use the version number from version.c. | 
|---|
| 2655 | * Makefile.in: Link with version.o. | 
|---|
| 2656 |  | 
|---|
| 2657 | * cmp.c error.c xmalloc.c: New files from textutils. | 
|---|
| 2658 | * Makefile.in: Add rules for them. | 
|---|
| 2659 |  | 
|---|
| 2660 | * diff.c (longopts): --unidirectional-new-file is like -P, not -N. | 
|---|
| 2661 | Rename --file-label to --label (leave old name, but undocumented). | 
|---|
| 2662 |  | 
|---|
| 2663 | * sdiff.c, diff.c (usage): Condense messages and fix some errors. | 
|---|
| 2664 |  | 
|---|
| 2665 | * diff3.c (main, usage): Add long-named options. | 
|---|
| 2666 |  | 
|---|
| 2667 | Fri Jul  3 14:31:18 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu) | 
|---|
| 2668 |  | 
|---|
| 2669 | * diff.h, diff3.c, sdiff.c: Change FOO_MISSING macros to HAVE_FOO. | 
|---|
| 2670 |  | 
|---|
| 2671 | Thu Jun 25 16:59:47 1992  David J. MacKenzie  (djm@apple-gunkies.gnu.ai.mit.edu) | 
|---|
| 2672 |  | 
|---|
| 2673 | * diff.c: --reversed-ed -> --forward-ed. | 
|---|
| 2674 |  | 
|---|
| 2675 | Wed Feb 26 12:17:32 1992  Paul Eggert  (eggert@yata.uucp) | 
|---|
| 2676 |  | 
|---|
| 2677 | * analyze.c, diff.c, diff.h, io.c: For -y, compare even if same file. | 
|---|
| 2678 |  | 
|---|
| 2679 | Fri Feb 14 22:46:38 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu) | 
|---|
| 2680 |  | 
|---|
| 2681 | * io.c, diff3.c, analyze.c: Add extra parentheses. | 
|---|
| 2682 |  | 
|---|
| 2683 | Sun Feb  9 00:22:42 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu) | 
|---|
| 2684 |  | 
|---|
| 2685 | * diff.h (unidirectional_new_file_flag): New variable. | 
|---|
| 2686 | * diff.c (main): Set that for -P. | 
|---|
| 2687 | (compare_files): Support -P, somewhat like -N. | 
|---|
| 2688 | (longopts): Support long name for -P. | 
|---|
| 2689 |  | 
|---|
| 2690 | Sat Jan  4 20:10:34 1992  Paul Eggert (eggert at yata.uucp) | 
|---|
| 2691 |  | 
|---|
| 2692 | * Makefile.in: Distribute diff.info-* too. | 
|---|
| 2693 |  | 
|---|
| 2694 | * README, sdiff.c: version number now matches version.c. | 
|---|
| 2695 |  | 
|---|
| 2696 | * configure: Fix and document vfork test. | 
|---|
| 2697 |  | 
|---|
| 2698 | * ifdef.c: Don't dump core if `diff -Dx f f'. | 
|---|
| 2699 |  | 
|---|
| 2700 | Mon Dec 23 23:36:08 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu) | 
|---|
| 2701 |  | 
|---|
| 2702 | * diff.h, diff3.c, sdiff.c: Change POSIX ifdefs to | 
|---|
| 2703 | HAVE_UNISTD_H and _POSIX_VERSION. | 
|---|
| 2704 |  | 
|---|
| 2705 | Wed Dec 18 17:00:31 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu) | 
|---|
| 2706 |  | 
|---|
| 2707 | * Makefile.in (srcs): Add sdiff.c. | 
|---|
| 2708 | (tapefiles): Add diff.texi and diff.info. | 
|---|
| 2709 |  | 
|---|
| 2710 | * diff.h, diff3.c, sdiff.c: Use HAVE_VFORK_H instead of | 
|---|
| 2711 | VFORK_HEADER and VFORK_WORKS. | 
|---|
| 2712 |  | 
|---|
| 2713 | Tue Dec 17 00:02:59 1991  Paul Eggert  (eggert at yata.uucp) | 
|---|
| 2714 |  | 
|---|
| 2715 | * Makefile.in (all): Add diff.info, sdiff. | 
|---|
| 2716 |  | 
|---|
| 2717 | * configure, diff.c, sdiff.c: | 
|---|
| 2718 | Prefix long options with `--', not `+'. | 
|---|
| 2719 | * diff.c: Regularize option names. | 
|---|
| 2720 |  | 
|---|
| 2721 | * configure: Fix check for vfork. | 
|---|
| 2722 | * configure, diff.c, diff.h, diff3.c, sdiff.c: | 
|---|
| 2723 | Use Posix definitions when possible. | 
|---|
| 2724 |  | 
|---|
| 2725 | * context.c: Align context with tab if -T is given.  Tune. | 
|---|
| 2726 | * diff.c, diff.h, side.c: Calculate column widths so that tabs line up. | 
|---|
| 2727 | * io.c: Add distinction between white space and printing chars. | 
|---|
| 2728 | * side.c: Don't expand tabs unless -t is given. | 
|---|
| 2729 | * side.c, util.c: Tab expansion now knows about '\b', '\f', '\r', '\v'. | 
|---|
| 2730 | * util.c: -w skips all white space.  Remove lint.  Tune. | 
|---|
| 2731 |  | 
|---|
| 2732 | * sdiff.c: Support many more diff options, e.g. `-', `sdiff file dir'. | 
|---|
| 2733 | Ignore interrupts while the subsidiary editor is in control. | 
|---|
| 2734 | Clean up temporary file and kill subsidiary diff if interrupted. | 
|---|
| 2735 | Ensure subsidiary diff doesn't ignore SIGPIPE. | 
|---|
| 2736 | Don't get confused while waiting for two subprocesses. | 
|---|
| 2737 | Don't let buffers overflow.  Check for I/O errors. | 
|---|
| 2738 | Convert to GNU style.  Tune. | 
|---|
| 2739 |  | 
|---|
| 2740 | * sdiff.c, util.c: Don't lose errno. | 
|---|
| 2741 | Don't confuse sdiff with messages like `Binary files differ'. | 
|---|
| 2742 | * sdiff.c, side.c: Don't assume that common lines are identical. | 
|---|
| 2743 | Simplify --sdiff-merge-assist format. | 
|---|
| 2744 |  | 
|---|
| 2745 | Mon Sep 16 16:42:01 1991  Tom Lord  (lord at churchy.gnu.ai.mit.edu) | 
|---|
| 2746 |  | 
|---|
| 2747 | * Makefile.in, sdiff.c: introduced sdiff front end to diff. | 
|---|
| 2748 |  | 
|---|
| 2749 | * Makefile.in, analyze.c, diff.c, diff.h, io.c, side.c: Added | 
|---|
| 2750 | sdiff-style output format to diff. | 
|---|
| 2751 |  | 
|---|
| 2752 | Mon Aug 26 16:44:55 1991  David J. MacKenzie  (djm at pogo.gnu.ai.mit.edu) | 
|---|
| 2753 |  | 
|---|
| 2754 | * Makefile.in, configure: Only put $< in Makefile if using VPATH, | 
|---|
| 2755 | because older makes don't understand it. | 
|---|
| 2756 |  | 
|---|
| 2757 | Fri Aug  2 12:22:30 1991  David J. MacKenzie  (djm at apple-gunkies) | 
|---|
| 2758 |  | 
|---|
| 2759 | * configure: Create config.status.  Remove it and Makefile if | 
|---|
| 2760 | interrupted while creating them. | 
|---|
| 2761 |  | 
|---|
| 2762 | Thu Aug  1 22:24:31 1991  David J. MacKenzie  (djm at apple-gunkies) | 
|---|
| 2763 |  | 
|---|
| 2764 | * configure: Check for +srcdir etc. arg and look for | 
|---|
| 2765 | Makefile.in in that directory.  Set VPATH if srcdir is not `.'. | 
|---|
| 2766 | * Makefile.in: Get rid of $(archpfx). | 
|---|
| 2767 |  | 
|---|
| 2768 | Tue Jul 30 21:28:44 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu) | 
|---|
| 2769 |  | 
|---|
| 2770 | * Makefile.in (prefix): Renamed from DESTDIR. | 
|---|
| 2771 |  | 
|---|
| 2772 | Wed Jul 24 23:08:56 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu) | 
|---|
| 2773 |  | 
|---|
| 2774 | * diff.h, diff3.c: Rearrange ifdefs to use POSIX, | 
|---|
| 2775 | STDC_HEADERS, VFORK_MISSING, DIRENT.  This way it works on | 
|---|
| 2776 | more systems that aren't pure USG or BSD. | 
|---|
| 2777 | Don't not define const if __GNUC__ is defined -- that would | 
|---|
| 2778 | break with -traditional. | 
|---|
| 2779 | * configure: Check for those features. | 
|---|
| 2780 |  | 
|---|
| 2781 | Wed Jul 10 01:39:23 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu) | 
|---|
| 2782 |  | 
|---|
| 2783 | * configure, Makefile.in: $(INSTALLPROG) -> $(INSTALL). | 
|---|
| 2784 |  | 
|---|
| 2785 | Sat Jul  6 16:39:04 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu) | 
|---|
| 2786 |  | 
|---|
| 2787 | * Replace Makefile with configure and Makefile.in. | 
|---|
| 2788 | Update README with current compilation instructions. | 
|---|
| 2789 |  | 
|---|
| 2790 | Sat Jul  6 14:03:29 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu) | 
|---|
| 2791 |  | 
|---|
| 2792 | * util.c (setup_output): Just save the args for later use. | 
|---|
| 2793 | (begin_output): Do the real work, with the values that were saved. | 
|---|
| 2794 | It's safe to call begin_output more than once. | 
|---|
| 2795 | Print the special headers for context format here. | 
|---|
| 2796 | * analyze.c (diff_2_files): Don't print special headers here. | 
|---|
| 2797 | * context.c (pr_context_hunk, pr_unidiff_hunk): Call begin_output. | 
|---|
| 2798 | * ed.c (print_ed_hunk, print_forward_ed_hunk, print_rcs_hunk): | 
|---|
| 2799 | * normal.c (print_normal_hunk): Likewise. | 
|---|
| 2800 | * ifdef.c (print_ifdef_hunk): Likewise. | 
|---|
| 2801 | * util.c (finish_output): Don't die if begin_output was not called. | 
|---|
| 2802 |  | 
|---|
| 2803 | Thu Jun 20 23:10:01 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu) | 
|---|
| 2804 |  | 
|---|
| 2805 | * Makefile: Add TAGS, distclean, and realclean targets. | 
|---|
| 2806 | Set SHELL. | 
|---|
| 2807 |  | 
|---|
| 2808 | Tue Apr 30 13:54:36 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu) | 
|---|
| 2809 |  | 
|---|
| 2810 | * diff.h (TRUE, FALSE): Undefine these before defining. | 
|---|
| 2811 |  | 
|---|
| 2812 | Thu Mar 14 18:27:27 1991  Richard Stallman  (rms@mole.ai.mit.edu) | 
|---|
| 2813 |  | 
|---|
| 2814 | * Makefile (objs): Include $(ALLOCA). | 
|---|
| 2815 |  | 
|---|
| 2816 | Sat Mar  9 22:34:03 1991  Richard Stallman  (rms at mole.ai.mit.edu) | 
|---|
| 2817 |  | 
|---|
| 2818 | * diff.h: Include regex.h. | 
|---|
| 2819 |  | 
|---|
| 2820 | Thu Feb 28 18:59:53 1991  Richard Stallman  (rms at mole.ai.mit.edu) | 
|---|
| 2821 |  | 
|---|
| 2822 | * Makefile (diff3): Link with GNU getopt. | 
|---|
| 2823 |  | 
|---|
| 2824 | Sat Feb 23 12:49:43 1991  Richard Stallman  (rms at mole.ai.mit.edu) | 
|---|
| 2825 |  | 
|---|
| 2826 | * io.c (find_equiv_class): Make hash code unsigned before mod. | 
|---|
| 2827 |  | 
|---|
| 2828 | * diff.h (files): Add EXTERN. | 
|---|
| 2829 |  | 
|---|
| 2830 | Sun Jan 13 21:33:01 1991  Richard Stallman  (rms at mole.ai.mit.edu) | 
|---|
| 2831 |  | 
|---|
| 2832 | * diff.c: +print option renamed +paginate.  Remove +all-text. | 
|---|
| 2833 |  | 
|---|
| 2834 | Mon Jan  7 06:18:01 1991  David J. MacKenzie  (djm at geech.ai.mit.edu) | 
|---|
| 2835 |  | 
|---|
| 2836 | * Makefile (dist): New target, replacing diff.tar and | 
|---|
| 2837 | diff.tar.Z, to encode version number in distribution directory | 
|---|
| 2838 | and tar file names. | 
|---|
| 2839 |  | 
|---|
| 2840 | Sun Jan  6 18:42:23 1991  Michael I Bushnell  (mib at geech.ai.mit.edu) | 
|---|
| 2841 |  | 
|---|
| 2842 | * Version 1.15 released. | 
|---|
| 2843 |  | 
|---|
| 2844 | * version.c: Updated from 1.15 alpha to 1.15 | 
|---|
| 2845 |  | 
|---|
| 2846 | * context.c (print_context_number_range, | 
|---|
| 2847 | print_unidiff_number_range): Don't print N,M when N=M, print | 
|---|
| 2848 | just N instead. | 
|---|
| 2849 |  | 
|---|
| 2850 | * README: Updated for version 1.15. | 
|---|
| 2851 | Makefile: Updated for version 1.15. | 
|---|
| 2852 |  | 
|---|
| 2853 | * diff3.c (main): Don't get confused if one of the arguments | 
|---|
| 2854 | is a directory. | 
|---|
| 2855 |  | 
|---|
| 2856 | * diff.c (compare_files): Don't get confused if comparing | 
|---|
| 2857 | standard input to a directory; print error instead. | 
|---|
| 2858 |  | 
|---|
| 2859 | * analyze.c (diff_2_files), context.c (print_context_header, | 
|---|
| 2860 | print_context_script), diff.c (main), diff.h (enum | 
|---|
| 2861 | output_style): Tread unidiff as an output style in its own | 
|---|
| 2862 | right.  This also generates an error when both -u and -c are | 
|---|
| 2863 | given. | 
|---|
| 2864 |  | 
|---|
| 2865 | * diff.c (main): Better error messages when regexps are bad. | 
|---|
| 2866 |  | 
|---|
| 2867 | * diff.c (compare_files): Don't assume stdin is opened. | 
|---|
| 2868 |  | 
|---|
| 2869 | * diff3.c (read_diff): Don't assume things about the order of | 
|---|
| 2870 | descriptor assignment and closes. | 
|---|
| 2871 |  | 
|---|
| 2872 | * util.c (setup_output): Don't assume things about the order | 
|---|
| 2873 | of descriptor assignment and closes. | 
|---|
| 2874 |  | 
|---|
| 2875 | * diff.c (compare_files): Set a flag so that closes don't | 
|---|
| 2876 | happen more than once. | 
|---|
| 2877 |  | 
|---|
| 2878 | * diff.c (main): Don't just flush stdout, do a close.  That | 
|---|
| 2879 | way on broken systems we can still get errors. | 
|---|
| 2880 |  | 
|---|
| 2881 | Mon Dec 24 16:24:17 1990  Richard Stallman  (rms at mole.ai.mit.edu) | 
|---|
| 2882 |  | 
|---|
| 2883 | * diff.c (usage): Use = for args of long options. | 
|---|
| 2884 |  | 
|---|
| 2885 | Mon Dec 17 18:19:20 1990  Michael I Bushnell  (mib at geech.ai.mit.edu) | 
|---|
| 2886 |  | 
|---|
| 2887 | * context.c (print_context_label): Labels were interchanged badly. | 
|---|
| 2888 |  | 
|---|
| 2889 | * context.c (pr_unidiff_hunk): Changes to deal with files | 
|---|
| 2890 | ending in incomplete lines. | 
|---|
| 2891 | * util.c (print_1_line): Other half of the changes. | 
|---|
| 2892 |  | 
|---|
| 2893 | Mon Dec  3 14:23:55 1990  Richard Stallman  (rms at mole.ai.mit.edu) | 
|---|
| 2894 |  | 
|---|
| 2895 | * diff.c (longopts, usage): unidiff => unified. | 
|---|
| 2896 |  | 
|---|
| 2897 | Wed Nov  7 17:13:08 1990  Richard Stallman  (rms at mole.ai.mit.edu) | 
|---|
| 2898 |  | 
|---|
| 2899 | * analyze.c (diff_2_files): No warnings about newlines for -D. | 
|---|
| 2900 |  | 
|---|
| 2901 | * diff.c (pr_unidiff_hunk): Remove ref to output_patch_flag. | 
|---|
| 2902 |  | 
|---|
| 2903 | Tue Oct 23 23:19:18 1990  Richard Stallman  (rms at mole.ai.mit.edu) | 
|---|
| 2904 |  | 
|---|
| 2905 | * diff.c (compare_files): For -D, compare even args are same file. | 
|---|
| 2906 | * analyze.c (diff_2_files): Likewise. | 
|---|
| 2907 | Also, output even if files have no differences. | 
|---|
| 2908 |  | 
|---|
| 2909 | * analyze.c (diff_2_files): Print missing newline messages last. | 
|---|
| 2910 | Return 2 if a newline is missing. | 
|---|
| 2911 | Print them even if files end with identical text. | 
|---|
| 2912 |  | 
|---|
| 2913 | Mon Oct 22 19:40:09 1990  Richard Stallman  (rms at mole.ai.mit.edu) | 
|---|
| 2914 |  | 
|---|
| 2915 | * diff.c (usage): Return 2. | 
|---|
| 2916 |  | 
|---|
| 2917 | Wed Oct 10 20:54:04 1990  Richard Stallman  (rms at mole.ai.mit.edu) | 
|---|
| 2918 |  | 
|---|
| 2919 | * diff.c (longopts): Add +new-files. | 
|---|
| 2920 |  | 
|---|
| 2921 | Sun Sep 23 22:49:29 1990  Richard Stallman  (rms at mole.ai.mit.edu) | 
|---|
| 2922 |  | 
|---|
| 2923 | * context.c (print_context_script): Handle unidiff_flag. | 
|---|
| 2924 | (print_context_header): Likewise. | 
|---|
| 2925 | (print_unidiff_number_range, pr_unidiff_hunk): New functions. | 
|---|
| 2926 | * diff.c (longopts): Add element for +unidiff. | 
|---|
| 2927 | (main): Handle +unidiff and -u. | 
|---|
| 2928 | (usage): Mention them. | 
|---|
| 2929 |  | 
|---|
| 2930 | Wed Sep  5 16:33:22 1990  Richard Stallman  (rms at mole.ai.mit.edu) | 
|---|
| 2931 |  | 
|---|
| 2932 | * io.c (find_and_hash_each_line): Deal with missing final newline | 
|---|
| 2933 | after buffering necessary context lines. | 
|---|
| 2934 |  | 
|---|
| 2935 | Sat Sep  1 16:32:32 1990  Richard Stallman  (rms at mole.ai.mit.edu) | 
|---|
| 2936 |  | 
|---|
| 2937 | * io.c (find_identical_ends): ROBUST_OUTPUT_FORMAT test was backward. | 
|---|
| 2938 |  | 
|---|
| 2939 | Thu Aug 23 17:17:20 1990  Richard Stallman  (rms at mole.ai.mit.edu) | 
|---|
| 2940 |  | 
|---|
| 2941 | * diff3.c (WIFEXITED): Undef it if WEXITSTATUS is not defined. | 
|---|
| 2942 | * context.c (find_function): Don't try to return values. | 
|---|
| 2943 |  | 
|---|
| 2944 | Wed Aug 22 11:54:39 1990  Richard Stallman  (rms at mole.ai.mit.edu) | 
|---|
| 2945 |  | 
|---|
| 2946 | * diff.h (O_RDONLY): Define if not defined. | 
|---|
| 2947 |  | 
|---|
| 2948 | Tue Aug 21 13:49:26 1990  Richard Stallman  (rms at mole.ai.mit.edu) | 
|---|
| 2949 |  | 
|---|
| 2950 | * Handle -L option. | 
|---|
| 2951 | * context.c (print_context_label): New function. | 
|---|
| 2952 | (print_context_header): Use that. | 
|---|
| 2953 | * diff.c (main): Recognize the option. | 
|---|
| 2954 | (usage): Updated. | 
|---|
| 2955 | * diff.h (file_label): New variable. | 
|---|
| 2956 | * diff3.c (main): Recognize -L instead of -t. | 
|---|
| 2957 |  | 
|---|
| 2958 | * diff3.c (main): Support -m without other option. | 
|---|
| 2959 |  | 
|---|
| 2960 | * diff3.c (WEXITSTATUS, WIFEXITED): Define whenever not defined. | 
|---|
| 2961 |  | 
|---|
| 2962 | * diff3.c (bcopy, index, rindex): Delete definitions; not used. | 
|---|
| 2963 | (D_LINENUM, D_LINELEN): Likewise. | 
|---|
| 2964 | (struct diff_block): lengths includes newlines. | 
|---|
| 2965 | (struct diff3_block): Likewise. | 
|---|
| 2966 | (always_text, merge): New variables. | 
|---|
| 2967 | (read_diff): Return address of end, not size read.  Calls changed. | 
|---|
| 2968 | Pass -a to diff if given to diff3. | 
|---|
| 2969 | current_chunk_size now an int.  Detect error in `pipe'. | 
|---|
| 2970 | Check for incomplete line of output here. | 
|---|
| 2971 | (scan_diff_line): Don't make scan_ptr + 2 before knowing it is valid. | 
|---|
| 2972 | No need to check validity of diff output here. | 
|---|
| 2973 | Include newline in length of line. | 
|---|
| 2974 | (main): Compute rev_mapping here.  Handle -a and -m. | 
|---|
| 2975 | Error message if excess -t operands.  Error for incompatible options. | 
|---|
| 2976 | Error if `-' given more than once. | 
|---|
| 2977 | Fix error storing in tag_strings. | 
|---|
| 2978 | (output_diff3): REV_MAPPING is now an arg.  Call changed. | 
|---|
| 2979 | Change syntax of "missing newline" message. | 
|---|
| 2980 | Expect length of line to include newline. | 
|---|
| 2981 | (output_diff3_edscript): Return just 0 or 1. | 
|---|
| 2982 | REV_MAPPING is now an arg.  Call changed. | 
|---|
| 2983 | (output_diff3_merge): New function. | 
|---|
| 2984 | (process_diff): Better error message for bad diff format. | 
|---|
| 2985 | (fatal, perror_with_exit): Return status 2. | 
|---|
| 2986 |  | 
|---|
| 2987 | * analyze.c (diff_2_files): Report missing newline in either | 
|---|
| 2988 | or both files, if not robust output style. | 
|---|
| 2989 |  | 
|---|
| 2990 | * util.c (setup_output): Detect error from pipe. | 
|---|
| 2991 | No need to close stdin. | 
|---|
| 2992 |  | 
|---|
| 2993 | * util.c (print_1_line): Change format of missing-newline msg. | 
|---|
| 2994 | Change if statements to switch. | 
|---|
| 2995 |  | 
|---|
| 2996 | * io.c (slurp): Don't mention differences in final newline if -B. | 
|---|
| 2997 |  | 
|---|
| 2998 | * io.c (binary_file_p): Use ISO char set as criterion, not ASCII. | 
|---|
| 2999 |  | 
|---|
| 3000 | * io.c (find_identical_ends): Increase value of BEG0 by 1. | 
|---|
| 3001 | Other changes in backwards scan to avoid decrementing pointers | 
|---|
| 3002 | before start of array, and set LINES properly. | 
|---|
| 3003 |  | 
|---|
| 3004 | * diff.h (ROBUST_OUTPUT_STYLE): New macro. | 
|---|
| 3005 | * io.c (find_identical_ends, find_and_hash_each_line): Use that macro. | 
|---|
| 3006 |  | 
|---|
| 3007 | * diff.h (dup2): Don't define if XENIX. | 
|---|
| 3008 |  | 
|---|
| 3009 | * diff.c (main): Check for write error at end. | 
|---|
| 3010 |  | 
|---|
| 3011 | * context.c (find_function): Don't return a value. | 
|---|
| 3012 | Use argument FILE rather than global files. | 
|---|
| 3013 |  | 
|---|
| 3014 | * analyze.c: Add external function declarations. | 
|---|
| 3015 | * analyze.c (build_script): Turn off explicit check for final newline. | 
|---|
| 3016 |  | 
|---|
| 3017 | * analyze.c (discard_confusing_lines): Make integers unsigned. | 
|---|
| 3018 |  | 
|---|
| 3019 | Tue Jul 31 21:37:16 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3020 |  | 
|---|
| 3021 | * io.c (find_and_hash_each_line): Correct the criterion | 
|---|
| 3022 | for leaving out the newline from the end of the line. | 
|---|
| 3023 |  | 
|---|
| 3024 | Tue May 29 21:28:16 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3025 |  | 
|---|
| 3026 | * dir.c (diff_dirs): Free things only if nonzero. | 
|---|
| 3027 |  | 
|---|
| 3028 | Mon Apr 16 18:31:05 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3029 |  | 
|---|
| 3030 | * diff.h (NDIR_IN_SYS): New macro controls location of ndir.h. | 
|---|
| 3031 |  | 
|---|
| 3032 | * diff3.c (xmalloc, xrealloc): Don't die if size == 0 returns 0. | 
|---|
| 3033 |  | 
|---|
| 3034 | Sun Mar 25 15:58:42 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3035 |  | 
|---|
| 3036 | * analyze.c (discard_confusing_lines): | 
|---|
| 3037 | `many' wasn't being used; use it. | 
|---|
| 3038 | Canceling provisionals near start of run must handle already | 
|---|
| 3039 | canceled provisionals. | 
|---|
| 3040 | Canceling subruns of provisionals was canceling last nonprovisional. | 
|---|
| 3041 |  | 
|---|
| 3042 | Sat Mar 24 14:02:51 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3043 |  | 
|---|
| 3044 | * analyze.c (discard_confusing_lines): | 
|---|
| 3045 | Threshold for line occurring many times scales by square root | 
|---|
| 3046 | of total lines. | 
|---|
| 3047 | Within each run, cancel any long subrun of provisionals. | 
|---|
| 3048 | Don't update `provisional' while canceling provisionals. | 
|---|
| 3049 | In big outer loop, handle provisional and nonprovisional separately. | 
|---|
| 3050 |  | 
|---|
| 3051 | Thu Mar 22 16:35:33 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3052 |  | 
|---|
| 3053 | * analyze.c (discard_confusing_lines): | 
|---|
| 3054 | The first loops to discard provisionals from ends failed to step. | 
|---|
| 3055 | In second such loops, keep discarding all consecutive provisionals. | 
|---|
| 3056 | Increase threshold for stopping discarding, and also check for | 
|---|
| 3057 | consecutive nondiscardables as separate threshold. | 
|---|
| 3058 |  | 
|---|
| 3059 | Fri Mar 16 00:33:08 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3060 |  | 
|---|
| 3061 | * diff3.c (read_diff): Pass -- as first arg to diff. | 
|---|
| 3062 |  | 
|---|
| 3063 | * diff3.c: Include wait.h or define equivalent macros. | 
|---|
| 3064 | (read_diff): Don't use stdio printing error in the inferior. | 
|---|
| 3065 | Remember the pid and wait for it.  Report failing status. | 
|---|
| 3066 | Report failure of vfork. | 
|---|
| 3067 |  | 
|---|
| 3068 | Sun Mar 11 17:10:32 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3069 |  | 
|---|
| 3070 | * diff3.c (main): Accept -t options and pass to output_diff3_edscript. | 
|---|
| 3071 | (usage): Mention -t. | 
|---|
| 3072 | (read_diff): Use vfork. | 
|---|
| 3073 | (vfork): Don't use it on Sparc. | 
|---|
| 3074 |  | 
|---|
| 3075 | * diff.h (vfork): Don't use it on Sparc. | 
|---|
| 3076 |  | 
|---|
| 3077 | Tue Mar  6 22:37:20 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3078 |  | 
|---|
| 3079 | * diff3.c (dup2): Don't define on Xenix. | 
|---|
| 3080 |  | 
|---|
| 3081 | * Makefile: Comments for Xenix. | 
|---|
| 3082 |  | 
|---|
| 3083 | Thu Mar  1 17:19:23 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3084 |  | 
|---|
| 3085 | * analyze.c (diff_2_files): `message' requires three args. | 
|---|
| 3086 |  | 
|---|
| 3087 | Fri Feb 23 10:56:50 1990  David J. MacKenzie  (djm at albert.ai.mit.edu) | 
|---|
| 3088 |  | 
|---|
| 3089 | * diff.h, util.c, diff3.c: Change 'void *' to 'VOID *', with | 
|---|
| 3090 | VOID defined as void if __STDC__, char if not. | 
|---|
| 3091 |  | 
|---|
| 3092 | Sun Feb 18 20:31:58 1990  David J. MacKenzie  (djm at albert.ai.mit.edu) | 
|---|
| 3093 |  | 
|---|
| 3094 | * Makefile: Add rules for getopt.c, getopt1.c, getopt.h. | 
|---|
| 3095 |  | 
|---|
| 3096 | * getopt.c, getopt.h, getopt1.c: New files. | 
|---|
| 3097 |  | 
|---|
| 3098 | * main.c (main, usage): Add long options. | 
|---|
| 3099 |  | 
|---|
| 3100 | * analyze.c (shift_boundaries): Remove unused var 'j_end'. | 
|---|
| 3101 |  | 
|---|
| 3102 | Thu Feb  8 02:43:16 1990  Jim Kingdon  (kingdon at pogo.ai.mit.edu) | 
|---|
| 3103 |  | 
|---|
| 3104 | * GNUmakefile: include ../Makerules before Makefile. | 
|---|
| 3105 |  | 
|---|
| 3106 | Fri Feb  2 23:21:38 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3107 |  | 
|---|
| 3108 | * analyze.c (diff_2_files): If -B or -I, don't return 1 | 
|---|
| 3109 | if all changes were ignored. | 
|---|
| 3110 |  | 
|---|
| 3111 | Wed Jan 24 20:43:57 1990  Richard Stallman  (rms at albert.ai.mit.edu) | 
|---|
| 3112 |  | 
|---|
| 3113 | * diff3.c (fatal): Output to stderr. | 
|---|
| 3114 |  | 
|---|
| 3115 | Thu Jan 11 00:25:56 1990  David J. MacKenzie  (djm at hobbes.ai.mit.edu) | 
|---|
| 3116 |  | 
|---|
| 3117 | * diff.c (usage): Mention -v. | 
|---|
| 3118 |  | 
|---|
| 3119 | Wed Jan 10 16:06:38 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3120 |  | 
|---|
| 3121 | * diff3.c (output_diff3_edscript): Return number of overlaps. | 
|---|
| 3122 | (main): If have overlaps, exit with status 1. | 
|---|
| 3123 |  | 
|---|
| 3124 | Sun Dec 24 10:29:20 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3125 |  | 
|---|
| 3126 | * io.c (find_equiv_class): Fix typo that came from changing init of B | 
|---|
| 3127 | to an assignment. | 
|---|
| 3128 |  | 
|---|
| 3129 | * version.c: New file. | 
|---|
| 3130 | * diff.c (main): -v prints version number. | 
|---|
| 3131 |  | 
|---|
| 3132 | * io.c (binary_file_p): Null char implies binary file. | 
|---|
| 3133 |  | 
|---|
| 3134 | Fri Nov 17 23:44:55 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3135 |  | 
|---|
| 3136 | * util.c (print_1_line): Fix off by 1 error. | 
|---|
| 3137 |  | 
|---|
| 3138 | Thu Nov 16 13:51:10 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3139 |  | 
|---|
| 3140 | * util.c (xcalloc): Function deleted. | 
|---|
| 3141 |  | 
|---|
| 3142 | * io.c (slurp): Null-terminate the buffer. | 
|---|
| 3143 |  | 
|---|
| 3144 | * io.c (read_files): Delete unused vars. | 
|---|
| 3145 |  | 
|---|
| 3146 | * io.c (find_equiv_class): Don't index by N if too low. | 
|---|
| 3147 |  | 
|---|
| 3148 | * dir.c (dir_sort): Delete the extra declaration of compare_names. | 
|---|
| 3149 |  | 
|---|
| 3150 | * diff.h: Don't declare xcalloc.  Declare some other functions. | 
|---|
| 3151 |  | 
|---|
| 3152 | * analyze.c (shift_boundaries): | 
|---|
| 3153 | Test for END at end of range before indexing by it. | 
|---|
| 3154 | Fix misspelling of `preceding' in var names. | 
|---|
| 3155 |  | 
|---|
| 3156 | Sat Nov 11 14:04:16 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3157 |  | 
|---|
| 3158 | * diff3.c (using_to_diff3_block): Delete unused vars. | 
|---|
| 3159 | (make_3way_diff, process_diff_control, read_diff, output_diff3): Likewise. | 
|---|
| 3160 |  | 
|---|
| 3161 | Mon Nov  6 18:15:50 EST 1989 Jay Fenlason (hack@ai.mit.edu) | 
|---|
| 3162 |  | 
|---|
| 3163 | * README Fix typo. | 
|---|
| 3164 |  | 
|---|
| 3165 | Fri Nov  3 15:27:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3166 |  | 
|---|
| 3167 | * diff.c (usage): Mention -D. | 
|---|
| 3168 |  | 
|---|
| 3169 | * ifdef.c (print_ifdef_hunk): Write comments on #else and #endif. | 
|---|
| 3170 |  | 
|---|
| 3171 | Sun Oct 29 16:41:07 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3172 |  | 
|---|
| 3173 | * diff.c (compare_files): Don't fflush for identical files. | 
|---|
| 3174 |  | 
|---|
| 3175 | Wed Oct 25 17:57:12 1989  Randy Smith  (randy at apple-gunkies.ai.mit.edu) | 
|---|
| 3176 |  | 
|---|
| 3177 | * diff3.c (using_to_diff3_block): When defaulting lines from | 
|---|
| 3178 | FILE0, only copy up to just under the *lowest* line mentioned | 
|---|
| 3179 | in the next diff. | 
|---|
| 3180 |  | 
|---|
| 3181 | * diff3.c (fatal): Add \n to error messages. | 
|---|
| 3182 |  | 
|---|
| 3183 | Wed Oct 25 15:05:49 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3184 |  | 
|---|
| 3185 | * Makefile (tapefiles): Add ChangeLog. | 
|---|
| 3186 |  | 
|---|
| 3187 | Tue Oct  3 00:51:17 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3188 |  | 
|---|
| 3189 | * diff3.c (process_diff, create_diff3_block): Init ->next field. | 
|---|
| 3190 |  | 
|---|
| 3191 | Fri Sep 29 08:16:45 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3192 |  | 
|---|
| 3193 | * util.c (line_cmp): Alter end char of line 2, not line 1. | 
|---|
| 3194 |  | 
|---|
| 3195 | Wed Sep 20 00:12:37 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3196 |  | 
|---|
| 3197 | * Makefile (diff.tar): Expect ln to fail on some files; | 
|---|
| 3198 | copy them with cp. | 
|---|
| 3199 |  | 
|---|
| 3200 | Mon Sep 18 02:54:29 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3201 |  | 
|---|
| 3202 | * Handle -D option: | 
|---|
| 3203 | * io.c (find_and_hash_each_line): Keep all lines of 1st file. | 
|---|
| 3204 | * diff.c (main): Handle -D option. | 
|---|
| 3205 | (compare_files): Reject -D if files spec'd are directories. | 
|---|
| 3206 | * analyze.c (diff_2_files): Handle OUTPUT_IFDEF case. | 
|---|
| 3207 |  | 
|---|
| 3208 | Fri Sep  1 20:15:50 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3209 |  | 
|---|
| 3210 | * diff.c (option_list): Rename arg VECTOR as OPTIONVEC. | 
|---|
| 3211 |  | 
|---|
| 3212 | Mon Aug 28 17:58:27 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3213 |  | 
|---|
| 3214 | * diff.c (compare_files): Clear entire inf[i].stat. | 
|---|
| 3215 |  | 
|---|
| 3216 | Wed Aug 23 17:48:47 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu) | 
|---|
| 3217 |  | 
|---|
| 3218 | * io.c (find_identical_ends): Sign was backward | 
|---|
| 3219 | determining where to bound the scan for the suffix. | 
|---|
| 3220 |  | 
|---|
| 3221 | Wed Aug 16 12:49:16 1989  Richard Stallman  (rms at hobbes.ai.mit.edu) | 
|---|
| 3222 |  | 
|---|
| 3223 | * analyze.c (diff_2_files): If -q, treat all files as binary. | 
|---|
| 3224 | * diff.c (main): Detect -q, record in no_details_flag. | 
|---|
| 3225 |  | 
|---|
| 3226 | Sun Jul 30 23:12:00 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3227 |  | 
|---|
| 3228 | * diff.c (usage): New function. | 
|---|
| 3229 | (main): Call it. | 
|---|
| 3230 |  | 
|---|
| 3231 | Wed Jul 26 02:02:19 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3232 |  | 
|---|
| 3233 | * diff.c (main): Make -C imply -c. | 
|---|
| 3234 |  | 
|---|
| 3235 | Thu Jul 20 17:57:51 1989  Chris Hanson  (cph at kleph) | 
|---|
| 3236 |  | 
|---|
| 3237 | * io.c (find_and_hash_each_line): Bug fix in context handling, | 
|---|
| 3238 | introduced by last change. | 
|---|
| 3239 |  | 
|---|
| 3240 | Fri Jul 14 17:39:20 1989  Chris Hanson  (cph at kleph) | 
|---|
| 3241 |  | 
|---|
| 3242 | * analyze.c: To make RCS work correctly on files that don't | 
|---|
| 3243 | necessarily end in newline, introduce some changes that cause | 
|---|
| 3244 | diffs to be sensitive to missing final newline.  Because | 
|---|
| 3245 | non-RCS modes don't want to be affected by these changes, they | 
|---|
| 3246 | are conditional on `output_style == OUTPUT_RCS'. | 
|---|
| 3247 | (diff_2_files) [OUTPUT_RCS]: Suppress the "File X missing | 
|---|
| 3248 | newline" message. | 
|---|
| 3249 | (build_script) [OUTPUT_RCS]: Cause the last line to compare as | 
|---|
| 3250 | different if exactly one of the files is missing its final | 
|---|
| 3251 | newline. | 
|---|
| 3252 |  | 
|---|
| 3253 | * io.c (find_and_hash_each_line): Bug fix in | 
|---|
| 3254 | ignore_space_change mode.  Change line's length to include the | 
|---|
| 3255 | newline.  For OUTPUT_RCS, decrement last line's length if | 
|---|
| 3256 | there is no final newline. | 
|---|
| 3257 | (find_identical_ends) [OUTPUT_RCS]: If one of the files is | 
|---|
| 3258 | missing a final newline, make sure it's not included in either | 
|---|
| 3259 | the prefix or suffix. | 
|---|
| 3260 |  | 
|---|
| 3261 | * util.c (print_1_line): Change line output routine to account | 
|---|
| 3262 | for line length including the newline. | 
|---|
| 3263 |  | 
|---|
| 3264 | Tue Jun 27 02:35:28 1989  Roland McGrath  (roland at hobbes.ai.mit.edu) | 
|---|
| 3265 |  | 
|---|
| 3266 | * Makefile: Inserted $(archpfx) where appropriate. | 
|---|
| 3267 |  | 
|---|
| 3268 | Wed May 17 20:18:43 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3269 |  | 
|---|
| 3270 | * diff3.c [USG]: Include fcntl.h. | 
|---|
| 3271 |  | 
|---|
| 3272 | * diff.h [USG]: New compilation flags HAVE_NDIR, HAVE_DIRECT. | 
|---|
| 3273 |  | 
|---|
| 3274 | Wed Apr 26 15:35:57 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3275 |  | 
|---|
| 3276 | * dir.c (diff_dirs): Two new args, NONEX1 and NONEX2, say to pretend | 
|---|
| 3277 | nonex dirs are empty. | 
|---|
| 3278 | (dir_sort): New arg NONEX, likewise. | 
|---|
| 3279 | * diff.c (compare_files): Pass those args. | 
|---|
| 3280 | Sometimes call diff_dirs if subdir exists in just one place. | 
|---|
| 3281 |  | 
|---|
| 3282 | Wed Apr 12 01:10:27 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3283 |  | 
|---|
| 3284 | * io.c (find_identical_ends): Set END0 *after* last char | 
|---|
| 3285 | during backward scan for suffix. | 
|---|
| 3286 |  | 
|---|
| 3287 | Sat Apr  8 15:49:49 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu) | 
|---|
| 3288 |  | 
|---|
| 3289 | * diff3.c (using_to_diff3_block): Now find high marks in files 1 | 
|---|
| 3290 | and 2 through mapping off of the last difference instead of the | 
|---|
| 3291 | first. | 
|---|
| 3292 |  | 
|---|
| 3293 | * diff3.c: Many trivial changes to spelling inside comments. | 
|---|
| 3294 |  | 
|---|
| 3295 | Fri Feb 24 12:38:03 1989  Randall Smith  (randy at gluteus.ai.mit.edu) | 
|---|
| 3296 |  | 
|---|
| 3297 | * util.c, normal.c, io.c, ed.c, dir.c, diff.h, diff.c, context.c, | 
|---|
| 3298 | analyze.c, Makefile: Changed copyright header to conform with new | 
|---|
| 3299 | GNU General Public license. | 
|---|
| 3300 | * diff3.c: Changed copyright header to conform with new GNU | 
|---|
| 3301 | General Public license. | 
|---|
| 3302 | * COPYING: Made a hard link to /gp/rms/COPYING. | 
|---|
| 3303 |  | 
|---|
| 3304 | Fri Feb 24 10:01:58 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3305 |  | 
|---|
| 3306 | * io.c (slurp): Leave 2 chars space at end of buffer, not one. | 
|---|
| 3307 | (find_identical_ends): Special case if either file is empty; | 
|---|
| 3308 | don't try to make a sentinel since could crash. | 
|---|
| 3309 |  | 
|---|
| 3310 | Wed Feb 15 14:24:48 1989  Jay Fenlason  (hack at apple-gunkies.ai.mit.edu) | 
|---|
| 3311 |  | 
|---|
| 3312 | * diff3.c (message)  Re-wrote routine to avoid using alloca() | 
|---|
| 3313 |  | 
|---|
| 3314 | Wed Feb 15 06:19:14 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3315 |  | 
|---|
| 3316 | * io.c (find_identical_ends): Delete the variable `bytes'. | 
|---|
| 3317 |  | 
|---|
| 3318 | Sun Feb 12 11:50:36 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3319 |  | 
|---|
| 3320 | * io.c (slurp): ->bufsize is nominal amount we have room for; | 
|---|
| 3321 | add room for sentinel when calling xmalloc or xrealloc. | 
|---|
| 3322 |  | 
|---|
| 3323 | * io.c (find_identical_ends): Do need overrun check in finding suffix. | 
|---|
| 3324 |  | 
|---|
| 3325 | Fri Feb 10 01:28:15 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3326 |  | 
|---|
| 3327 | * diff.c (main): -C now takes arg to specify context length. | 
|---|
| 3328 | Now -p to show C function name--Damned IEEE! | 
|---|
| 3329 | Fatal error if context length spec'd twice. | 
|---|
| 3330 |  | 
|---|
| 3331 | * ed.c (print_ed_hunk): Now special treatment only for lines containing | 
|---|
| 3332 | precisely a dot and nothing else.  Output `..', end the insert, | 
|---|
| 3333 | substitute that one line, then resume the insert if nec. | 
|---|
| 3334 |  | 
|---|
| 3335 | * io.c (find_and_hash_lines): When backing up over starting context, | 
|---|
| 3336 | don't move past buffer-beg. | 
|---|
| 3337 |  | 
|---|
| 3338 | * io.c (find_identical_ends): Use sentinels to make the loops faster. | 
|---|
| 3339 | If files are identical, skip the 2nd loop and return quickly. | 
|---|
| 3340 | (slurp): Leave 1 char extra space after each buffer. | 
|---|
| 3341 |  | 
|---|
| 3342 | * analyze.c (diff_2_files): Mention difference in final newlines. | 
|---|
| 3343 |  | 
|---|
| 3344 | Wed Jan 25 22:44:44 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3345 |  | 
|---|
| 3346 | * dir.c (diff_dirs): Use * when calling fcn ptr variable. | 
|---|
| 3347 |  | 
|---|
| 3348 | Sat Dec 17 14:12:06 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3349 |  | 
|---|
| 3350 | * Makefile: New vars INSTALL and LIBS used in some rules; | 
|---|
| 3351 | provide default defns plus commented-put defns for sysV. | 
|---|
| 3352 |  | 
|---|
| 3353 | Thu Nov 17 16:42:53 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3354 |  | 
|---|
| 3355 | * dir.c (dir_sort): Open-trouble not fatal; just say # files is -1. | 
|---|
| 3356 | (diff_dirs): If dir_sort does that, give up and return 2. | 
|---|
| 3357 |  | 
|---|
| 3358 | * diff.c (compare_files): Don't open directories. | 
|---|
| 3359 | Don't close them specially either. | 
|---|
| 3360 | Cross-propagate inf[i].dir_p sooner. | 
|---|
| 3361 |  | 
|---|
| 3362 | Sun Nov 13 11:19:36 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu) | 
|---|
| 3363 |  | 
|---|
| 3364 | * diff.h: Declare index, rindex. | 
|---|
| 3365 |  | 
|---|
| 3366 | * diff.c (compare_files): If comparing foodir with b/f, | 
|---|
| 3367 | use foodir/f, not foodir/b/f. | 
|---|
| 3368 |  | 
|---|
| 3369 | * diff.c (compare_files): Don't print "are identical" msg for 2 dirs. | 
|---|
| 3370 | Status now 1 if one file is a dir and the other isn't, etc. | 
|---|
| 3371 |  | 
|---|
| 3372 | Thu Nov  3 16:30:24 1988  Randall Smith  (randy at gluteus.ai.mit.edu) | 
|---|
| 3373 |  | 
|---|
| 3374 | * Makefile: Added a define for diff3 to define DIFF_PROGRAM. | 
|---|
| 3375 |  | 
|---|
| 3376 | * util.c: Added hack to make sure that perror was not called with | 
|---|
| 3377 | a null pointer. | 
|---|
| 3378 |  | 
|---|
| 3379 | * diff.c: Changed S_IFDIR to S_IFMT in masking type of file bits | 
|---|
| 3380 | out. | 
|---|
| 3381 |  | 
|---|
| 3382 | * diff3.c: Included USG compatibility defines. | 
|---|
| 3383 |  | 
|---|
| 3384 | * diff.h: Moved sys/file.h into #else USG section (not needed or | 
|---|
| 3385 | wanted on System V). | 
|---|
| 3386 |  | 
|---|
| 3387 | * ed.c, analyze.c, context.c: Shortened names to 12 characters for | 
|---|
| 3388 | the sake of System V (too simple not to do). | 
|---|
| 3389 |  | 
|---|
| 3390 |  | 
|---|
| 3391 | Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1997, 1998, 1999, | 
|---|
| 3392 | 2000, 2001, 2002 Free Software Foundation, Inc. | 
|---|
| 3393 |  | 
|---|
| 3394 | This file is part of GNU Diffutils. | 
|---|
| 3395 |  | 
|---|
| 3396 | This program is free software; you can redistribute it and/or modify | 
|---|
| 3397 | it under the terms of the GNU General Public License as published by | 
|---|
| 3398 | the Free Software Foundation; either version 2, or (at your option) | 
|---|
| 3399 | any later version. | 
|---|
| 3400 |  | 
|---|
| 3401 | This program is distributed in the hope that they will be useful, | 
|---|
| 3402 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|---|
| 3403 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
|---|
| 3404 | GNU General Public License for more details. | 
|---|
| 3405 |  | 
|---|
| 3406 | You should have received a copy of the GNU General Public License | 
|---|
| 3407 | along with this program; see the file COPYING.  If not, write to | 
|---|
| 3408 | the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | 
|---|
| 3409 | Boston, MA 02111-1307, USA. | 
|---|