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