1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
|
2004-05-15 Derek Price <derek@ximbiot.com>
* libdiff.dsp: Header file list updated.
* libdiff.dep: Regenerated for "libdiff.dsp" changes.
* libdiff.mak: Regenerated for "libdiff.dsp" changes.
(Patch from Conrad Pino <conrad@pino.com>.)
2004-05-13 Derek Price <derek@ximbiot.com>
* .cvsignore: Changed for "libdiff.dsp" changes.
* libdiff.dep: Added for "../cvsnt.dsw" changes.
* libdiff.dsp: Changed for "../cvsnt.dsw" changes.
* libdiff.mak: Regenerated for "../cvsnt.dsw" changes.
(Patch from Conrad Pino <conrad@pino.com>.)
2004-03-20 Derek Price <derek@ximbiot.com>
* diff.c (diff_run): Update string arg to const.
* diffrun.h: Update prototype to match.
2003-07-12 Larry Jones <lawrence.jones@eds.com>
* io.c (find_identical_ends): Update to match current diffutils
code and improve handling of files with no newline at end.
(Patch from Andrew Moise <chops@demiurgestudios.com>.)
2003-06-13 Derek Price <derek@ximbiot.com>
* diff3.c (read_diff): Fix memory leak.
(Patch from Kenneth Lorber <keni@his.com>.)
2003-05-21 Derek Price <derek@ximbiot.com>
* Makefile.in: Regenerate with Automake version 1.7.5.
2003-05-09 Derek Price <derek@ximbiot.com>
* system.h: Define S_ISSOCK on SCO OpenServer.
2003-04-10 Larry Jones <lawrence.jones@eds.com>
* Makefile.in: Regenerated.
2003-02-25 Derek Price <derek@ximbiot.com>
* Makefile.in: Regenerated.
2003-02-01 Larry Jones <lawrence.jones@eds.com>
* util.c (finish_output): Handle EINTR from waitpid.
2002-09-24 Derek Price <derek@ximbiot.com>
* Makefile.in: Regenerated using Automake 1.6.3.
2002-09-24 Larry Jones <lawrence.jones@eds.com>
* system.h: Use HAVE_STRUCT_STAT_ST_BLKSIZE instead of the
obsolete HAVE_ST_BLKSIZE.
2002-09-24 Derek Price <derek@ximbiot.com>
* Makefile.in: Regenerated.
2002-04-30 Derek Price <oberon@umich.edu>
* Makefile.in: Regenerated with automake 1.6.
2002-04-28 Derek Price <oberon@umich.edu>
* diff.c: Use the system fnmatch.h when present.
2001-09-04 Derek Price <dprice@collab.net>
* Makefile.in: Regenerated with automake 1.5.
2001-08-09 Derek Price <dprice@collab.net>
* system.h: Source some header files when present to eliminate warning
messages under Windows.
(Patch from "Manfred Klug" <manklu@web.de>.)
2001-08-07 Derek Price <dprice@collab.net>
* build_diff.com: Turn on verify to get a better trace of the DCL.
* diff3.c: Eliminate compiler warning. The VMS read rval is ssize_t
(signed). The VMS size_t appears to be unsigned.
* io.c: Eliminate compiler warning (ssize_t).
(Patch from Mike Marciniszyn <Mike.Marciniszyn@sanchez.com>.)
2001-08-06 Derek Price <dprice@collab.net>
* Makefile.in: Regenerated.
2001-07-04 Derek Price <dprice@collab.net>
* Makefile.in: Regenerated with new Automake release candidate 1.4h.
2001-06-28 Derek Price <dprice@collab.net>
* Makefile.in: Regenerated with new version of Automake.
2001-05-07 Larry Jones <larry.jones@sdrc.com>
* diff3.c (diff3_run): Put the name of the output file in the error
message instead of "could not open output file" to aid in debugging.
2001-04-25 Derek Price <dprice@collab.net>
* Makefile.in: Regenerated using AM 1.4e as of today at 18:10 -0400.
2001-03-24 Noel Cragg <noel@shave.red-bean.com>
* diff.c: fix typo in usage string.
2001-03-20 Derek Price <derek.price@openavenue.com>
for Karl Tomlinson <k.tomlinson@auckland.ac.nz>
* diff3.c (main): changed the common file of the two diffs to
OLDFILE for merges and edscripts so that the diffs are more likely
to contain the intended changes. Not changing the horizon-lines
arg for the second diff. If the two diffs have the same parameters
equal changes in each diff are more likely to appear the same.
* analyze.c (shift_boundaries): undid Paul Eggert's patch to fix
the diff3 merge bug described in ccvs/doc/DIFFUTILS-2.7-BUG. The
patch is no longer necessary now that diff3 does its differences
differently. I think the hunk merges provide a better indication
of the area modified by the user now that the diffs are actually
done between the appropriate revisions.
2001-03-15 Derek Price <derek.price@openavenue.com>
* Makefile.am (INCLUDES): Add -I$(top_srcdir)/lib for platforms which
need the regex library there.
* Makefile.in: Regenerated.
2001-03-14 Derek Price <derek.price@openavenue.com>
* .cvsignore: Added '.deps'.
Pavel Roskin <proski@gnu.org>
* Makefile.am: New file.
* Makefile.in: Regenerated.
2001-02-22 Derek Price <derek.price@openavenue.com>
Pavel Roskin <proski@gnu.org>
* Makefile.in: Don't define PR_PROGRAM - it's defined by configure.
Remove separate rule for util.c.
2001-02-06 Derek Price <derek.price@openavenue.com>
Rex Jolliff <Rex_Jolliff@notes.ymp.gov>
Shawn Smith <Shawn_Smith@notes.ymp.gov>
* dir.c: Replace opendir, closedir, & readdir calls with CVS_OPENDIR,
CVS_CLOSEDIR, & CVS_READDIR in support of changes to handle VMS DEC C
5.7 {open,read,close}dir problems. Check today's entry in the vms
subdir for more.
* system.h: definitions of CVS_*DIR provided here.
2000-12-21 Derek Price <derek.price@openavenue.com>
* Makefile.in: Some changes to support Automake targets
2000-10-26 Larry Jones <larry.jones@sdrc.com>
* Makefile.in: Get PR_PROGRAM from autoconf instead of hard coding.
(Patch submitted by Urs Thuermann <urs@isnogud.escape.de>.)
Also add a dependency for util.o on Makefile since PR_PROGRAM gets
compiled in.
2000-08-03 Larry Jones <larry.jones@sdrc.com>
* diff3.c (read_diff): Use cvs_temp_name () instead of tmpnam () so
there's at least a chance of getting the file in the correct tmp dir.
2000-07-10 Larry Jones <larry.jones@sdrc.com>
* util.c (printf_output): Fix type clashes.
2000-06-15 Larry Jones <larry.jones@sdrc.com>
* diff3.c (diff3_run, make_3way_diff): Plug memory leaks.
1999-12-29 Jim Kingdon <http://developer.redhat.com/>
* diff.c (compare_files): Use explicit braces with if-if-else, per
GNU coding standards and gcc -Wall.
1999-11-23 Larry Jones <larry.jones@sdrc.com>
* diff3.c: Explicitly initialize zero_diff3 to placate neurotic
compilers that gripe about implicitly initialized const variables.
Reported by Eric Veum <sysv@yahoo.com>.
1999-09-15 Larry Jones <larry.jones@sdrc.com>
* diff.c (diff_run): Move the setjmp call before the options
processing since option errors can call fatal which in turn
calls longjmp.
1999-05-06 Jim Kingdon <http://www.cyclic.com>
* Makefile.in (DISTFILES): Remove libdiff.mak.
* libdiff.mak: Removed; we are back to a single makefile for
Visual C++ version 4.
1999-04-29 Jim Kingdon <http://www.cyclic.com>
* diff.c (diff_run): Use separate statement for setjmp call and if
statement. This is better style in general (IMHO) but in the case
of setjmp the UNICOS compiler apparently cares (I don't have the
standard handy, but there are lots of legitimate restrictions on
how you can call setjmp).
1999-04-26 Jim Kingdon <http://www.cyclic.com>
* Makefile.in (DISTFILES): Add libdiff.dsp libdiff.mak .cvsignore.
1999-04-26 (submitted 1999-03-24) John O'Connor <john@shore.net>
* libdiff.dsp: new file. MSVC project file used to build the library.
* libdiff.mak: new file. Makefile for building from the command-line.
* .cvsignore: Removed un-used entries related to MSVC. Added
entries to ignore directories generated by the NT build, Debug
and Release.
1999-03-24 Larry Jones <larry.jones@sdrc.com>
and Olaf Brandes
* diff3.c (diff3_run): Use a separate stream for the input to
output_diff3_merge instead of reopening stdin to avoid problems
with leaving it open.
1999-02-17 Jim Kingdon <http://www.cyclic.com>
and Hallvard B Furuseth.
* util.c: Use __STDC__ consistently with ./system.h.
* system.h: Add comment about PARAMS.
1999-01-12 Jim Kingdon <http://www.cyclic.com>
* Makefile.in, analyze.c, cmpbuf.c, cmpbuf.h, context.c, diff.c,
diff.h, diff3.c, diffrun.h, dir.c, ed.c, io.c, normal.c, system.h,
util.c: Remove paragraph containing the old snail mail address of
the Free Software Foundation.
1998-09-21 Jim Kingdon <kingdon@harvey.cyclic.com>
* util.c (printf_output): Make msg static; avoids auto
initializer, which is not portable to SunOS4 /bin/cc.
Reported by Mike Sutton@SAIC.
1998-09-14 Jim Kingdon <kingdon@harvey.cyclic.com>
* Makefile.in (DISTFILES): Add diagmeet.note.
1998-08-15 Jim Kingdon <kingdon@harvey.cyclic.com>
* diffrun.h (struct diff_callbacks): Change calling convention of
write_output so that a zero length means to output zero bytes.
The cvs_output convention is just too ugly/error-prone.
* util.c (printf_output): Rewrite to parse format string
overselves rather than calling vasprintf, which cannot be
implemented in portable C.
1998-08-06 David Masterson of kla-tencor.com
* util.c (flush_output): Don't prototype.
Thu Jul 2 16:34:38 1998 Ian Lance Taylor <ian@cygnus.com>
Simplify the callback interface:
* diffrun.h: Don't include <stdarg.h> or <varargs.h>.
(struct diff_callbacks): Remove printf_output field.
* util.c: Include <stdarg.h> or <varargs.h>.
(printf_output): Use vasprintf and write_output callback rather
than printf_output callback.
* diff3.c (read_diff): Don't set my_callbacks.printf_output.
Thu Jun 18 12:43:53 1998 Ian Lance Taylor <ian@cygnus.com>
* diffrun.h: New file.
* diff.h: Include diffrun.h.
(callbacks): New EXTERN variable.
(write_output, printf_output, flush_output): Declare.
* diff.c (diff_run): Add parameter callbacks_arg. Use callback
functions rather than writing to stdout. Don't open a file if
there is a write_output callback. Call perror_with_name rather
than perror.
(usage): Use callbacks if defined rather than writing to stdout.
(compare_files): Call flush_output rather than fflush (outfile).
* diff3.c: Include diffrun.h. Change several functions to use
output functions from util.c rather than direct printing. Use
diff_error and friends rather than printing to stderr. Set global
variable outfile.
(outfile, callbacks): Declare.
(write_output, printf_output, flush_output): Declare.
(diff3_run): Add parameter callbacks_arg. Use callback functions
rather than writing to stdout.
(usage): Use callbacks if defined rather than writing to stdout.
(read_diff): Preserve callbacks and outfile around call to
diff_run.
* util.c (perror_with_name): Use error callback if defined.
(pfatal_with_name, diff_error): Likewise.
(message5): Use printf_output and write_output.
(print_message_queue, print_1_line, output_1_line): Likewise.
(begin_output): Reject paginate_flag if there are output
callbacks.
(write_output, printf_output, flush_output): New functions.
* context.c: Change all output to outfile to use printf_output and
write_output.
* ed.c: Likewise.
* ifdef.c: Likewise.
* normal.c: Likewise.
* side.c: Likewise.
* Makefile.in (SOURCES): Add diffrun.h.
($(OBJECTS)): Depend upon diffrun.h.
Fri Jan 16 14:58:19 1998 Larry Jones <larry.jones@sdrc.com>
* diff.c, diff3.c: Plug memory leaks.
Thu Jan 15 13:36:46 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
* Makefile.in (installdirs): New rule, for when ../Makefile
recurses into this directory (bug reported by W. L. Estes).
Tue Nov 11 10:48:19 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
* diff.c (diff_run): Change #ifdef on HAVE_SETMODE to #if to match
the other uses (fixes compilation error on unix).
* diff.c (diff_run): Don't set stdout to binary mode.
Mon, 10 Nov 1997 Jim Kingdon
* diff.c (run_diff): Open outfile in binary mode if --binary.
Thu Nov 6 12:42:12 1997 Karl Fogel <kfogel@floss.red-bean.com>
and Paul Eggert <eggert@twinsun.com>
* analyze.c: applied Paul Eggert's patch to fix the diff3 merge
bug described in ccvs/doc/DIFFUTILS-2.7-BUG:
(shift_boundaries): new var `inhibit_hunk_merge'; use it to
control something important that I don't quite understand, but
Paul apparently does, so that's okay.
Sat Nov 1 14:17:57 1997 Michael L.H. Brouwer <michael@thi.nl>
* Makefile.in: Add call to ranlib to build a table of contents for
the library since some systems seem to require this.
1997-10-28 Jim Kingdon
* .cvsignore: Add files du jour for Visual C++, vc50.pdb and vc50.idb.
* system.h: Define HAVE_TIME_H.
* dir.c [_WIN32]: Define CLOSEDIR_VOID.
1997-10-18 Jim Kingdon
* build_diff.com: Add diff3.c
Fri Sep 26 14:24:42 1997 Tim Pierce <twp@twp.tezcat.com>
* diff.c (diff_run): Save old value of optind before calling
getopt_long, then restore before returning. Eventually it would
be nice if diff_run were fully reentrant.
New diff3 library for CVS.
* Makefile.in (SOURCES): Add diff3.c.
(OBJECTS): Add diff3.o.
* diff3.c: New file, copied from diffutils-2.7. See diffutils for
earlier ChangeLogs. Undefine initialize_main macro. Remove <signal.h>.
(diff3_run): Renamed from main(). Add `outfile' argument. Remove
SIGCLD handling; we do not fork. Save optind and reset to 0
before calling getopt_long; restore after option processing done.
(read_diff): Use diff_run with a temporary output file,
instead of forking a diff subprocess and reading from a pipe.
Change DIFF_PROGRAM to "diff"; this argument is now used only for
diagnostic reporting.
(xmalloc, xrealloc): Removed.
(diff_program): Removed.
(diff_program_name): Made extern, so it may be used in other
library calls like `error'.
(initialize_main): New function.
Namespace munging. util.c defines both fatal() and
perror_with_exit(), but these cannot be used to abort diff3: both
attempt to longjmp() to a buffer set in diff.c, used only by
diff_run. This is an awful solution, but necessary until the code
can be cleaned up. (These functions do not *have* to be renamed,
since both are declared static to diff3.c and should not clash
with libdiff.a, but it reduces potential confusion.)
* diff3.c (diff3_fatal): Renamed from fatal.
(diff3_perror_with_exit): Renamed from perror_with_exit.
Eliminate exit calls.
(try_help): Change from `void' to `int'. Return, do not exit.
(diff3_fatal, diff3_perror_with_exit, process_diff): Change `exit'
to DIFF3_ABORT.
(diff3_run): Initialize jump buffer for nonlocal exits. Change
exit calls to returns. Change `perror_with_exit' to
`perror_with_name' and add a return. Change `fatal' to
`diff_error' and add a return. The reasoning is that we shouldn't
rely on setjmp/longjmp any more than necessary.
Redirect stdout.
(check_output): Renamed from check_stdout. Take stream argument
instead of blindly checking stdout. Do not close stream, but
merely fflush it.
(diff3_run): Initialize outstream, and close when done. Pass this
stream (instead of stdout) to output_diff3_edscript,
output_diff3_merge, and output_diff3.
Thu Sep 25 14:34:22 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
* util.c (begin_output, finish_output): If PR_PROGRAM is not
defined (VMS), just give a fatal error if --paginate specified.
* Makefile.in (DISTFILES): Add ChangeLog build_diff.com
Makefile.in.
* build_diff.com: New file.
Wed Sep 24 10:27:00 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
* Makefile.in: Also set top_srcdir. Needed to make today's other
Makefile.in change work.
* .cvsignore: New file.
* Makefile.in (COMPILE): Add -I options for srcdir (perhaps
unneeded) and change -I option for lib to use top_srcdir (needed
to avoid mixups with CVS's regex.h vs. the system one).
Sun Sep 21 19:44:42 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
* Makefile.in (util.o): Change util.c to $<, needed for srcdir.
Sat Sep 20 12:06:41 1997 Tim Pierce <twp@twp.tezcat.com>
New diff library for CVS, based on diffutils-2.7. See diffutils
for earlier ChangeLogs.
* Makefile.in, analyze.c, cmpbuf.c, cmpbuf.h, config.hin,
context.c, diagmeet.note, diff.c, diff.h, dir.c, ed.c, ifdef.c,
io.c, normal.c, side.c, stamp-h.in, system.h, util.c, version.c:
New files.
(COMPILE): Add -I../lib, so we can get getopt.h.
* Makefile.in: Removed anything not related to libdiff.a.
(dist-dir): New target, copied from ../lib/Makefile.in.
(DISTFILES): New variable.
(SOURCES): Renamed from `srcs'.
(OBJECTS): Renamed from `libdiff_o'.
(Makefile): Changed dependencies to reflect
new, shallow config directory structure.
(stamp-h.in, config.h.in, config.h, stamp-h): Removed.
* stamp-h.in, config.h.in: Removed.
* system.h: Remove dup2 macro (provided by ../lib/dup2.c).
Include stdlib.h if STDC_HEADERS is defined (not just
HAVE_STDLIB_H).
Sat Sep 20 05:32:18 1997 Tim Pierce <twp@twp.tezcat.com>
Diff librarification.
* diff.c (diff_run): New function, renamed from `main'.
Initialize `outfile' based on the value of the new `out' filename
argument.
(initialize_main): New function.
* system.h: Removed initialize_main macro.
* diffmain.c: New file.
* Makefile.in (diff): Added diffmain.o.
(libdiff): New target.
(AR, libdiff_o): New variables. libdiff_o does not include
xmalloc.o, fnmatch.o, getopt.o, getopt1.o, regex.o or error.o,
because these functions are already present in CVS. It will take
some work to make this more general-purpose.
Redirect standard output.
* util.c: Redirect stdout to outfile: change all naked `printf'
and `putchar' statements to `fprintf (outfile)' and `putc (...,
outfile)' throughout. This should permit redirecting diff output
by changing `outfile' just once in `diff_run'.
(output_in_progress): New variable.
(begin_output, finish_output): Use `output_in_progress', rather than
`outfile', as a semaphore to avoid reentrancy problems.
(finish_output): Close `outfile' only if paginate_flag is set.
* diff.c (check_output): New function, was check_stdout. Take a
`file' argument, and flush it instead of closing it.
(diff_run): Change check_stdout to check_output.
(compare_files): Fflush outfile, not stdout.
Eliminate exit statements.
* diff.h: Include setjmp.h.
(diff_abort_buf): New variable.
(DIFF_ABORT): New macro.
* diff.c (diff_run): Change all `exit' statements to `return'.
Set up diff_abort_buf, so we can abort diff without
terminating (for libdiff.a).
(try_help): Return int instead of void; do not exit.
* util.c (fatal): Use DIFF_ABORT instead of exit.
(pfatal_with_name): Use DIFF_ABORT instead of exit.
Namespace cleanup (rudimentary). Strictly speaking, this is not
necessary to make diff into a library. However, namespace
clashes between diff and CVS must be resolved immediately, since
CVS is the first application targeted for use with difflib.
* analyze.c, diff.c, diff.h, util.c (diff_error): Renamed from `error'.
* version.c, diff.c, diff.h, cmp.c, diff3.c, sdiff.c
(diff_version_string): Renamed from version_string.
* diff.c, util.c, diff.h, diff3.c, error.c (diff_program_name):
Renamed from program_name.
* util.c (xmalloc, xrealloc): Removed.
* Makefile.in (diff_o): Added error.o and xmalloc.o.
|