xref: /netbsd-src/external/gpl2/rcs/dist/src/ChangeLog (revision 7bdc26784bf54dccf8e31c40b2af54b918f70f81)
1Fri Jun 16 06:19:24 1995  Paul Eggert  <eggert@twinsun.com>
2
3	* version.c: Version 5.7 released.
4	* Makefile.in (TESTPREFIX): Remove; replaced with $(srcdir)/.
5	* rcsutil.c (catchsig): Remove `return'.
6	* Makefile.in, ci.c, co.c, conf.sh, ident.c, maketime.c, maketime.h,
7	merge.c, merger.c, partime.c, partime.h, rcs.c, rcsbase.h, rcsclean.c,
8	rcsdiff.c, rcsedit.c, rcsfcmp.c, rcsfnms.c, rcsgen.c, rcskeep.c,
9	rcskeys.c, rcslex.c, rcsmap.c, rcsmerge.c, rcsrev.c, rcssyn.c, rcstest,
10	rcstime.c, rcsutil.c, rlog.c:  Update FSF address.
11
12Mon Jun  5 08:30:02 1995  Paul Eggert  <eggert@twinsun.com>
13
14	* version.c (RCS_version_string): Update to 5.6.8.1 (beta).
15
16Fri Jun  2 18:19:00 1995  Paul Eggert  <eggert@twinsun.com>
17
18	* rcsutil.c (catchsigaction):
19	New name for `catchsig', for sa_sigaction signature.
20	Use nRCS even if !has_psiginfo, to remove unused variable warning.
21	(setup_catchsig): Use sa_sigaction only if has_sa_sigaction.
22	Use ENOTSUP only if defined.
23	* conf.sh, conf.heg (has_sa_sigaction): New configuration variable.
24
25Thu Jun  1 16:23:43 1995  Paul Eggert  <eggert@twinsun.com>
26
27	* version.c (RCS_version_string): Update to 5.6.8 (beta).
28
29	* Makefile.in:
30	Renamed from Makefile; autoconf now preprocesses this file.
31	Rewrite to follow GNU makefile standards.
32	(clean): `rm core*' -> `rm core core.* *.core', for BSD/OS 2.0.
33
34	* ci.c (main): Add -kb.  Use `cmpdate', not `cmpnum', to compare dates.
35	Don't worry about errno after ftruncate fails.
36	Fix input file rewinding bug when large_memory && !maps_memory
37	and checking in a branch tip.
38
39	(fixwork): Fall back on chmod if fchmod fails; it might be ENOSYS.
40
41	* co.c (main, preparejoin):
42	Pass argument instead of using `join' static variable.
43	(main): Add -kb.
44
45	* ident.c (exiterr, reportError):
46	New functions, needed for DOS and OS/2 ports.
47	(scanfile): Use them.
48
49	* rcsdiff.c (main):
50	Pass "--binary" if -kb and if --binary makes a difference.
51	Don't treat + options specially.
52
53	* rcsmerge.c (main):
54	Report an error if -kb, so don't worry about binary stdout.
55	Punctuate messages properly.  Rewrite to avoid `goto end'.
56
57	* rcs.c (main):
58	Warn if no options were given.  Punctuate messages properly.
59
60	(sendmail): Rewind mailmess before flushing it.
61	Output another warning if mail should work but fails.
62
63	(buildeltatext): Pass "--binary" if -kb and if --binary is needed.
64
65	* merger.c (normalize_arg): Don't treat + options specially.
66	(merge): Don't make -A the default; always use -E.
67	Always open working file in text mode.
68
69	* rlog.c (struct rcslockers): Renamed from `struct lockers'.
70	(getnumericrev): Return error indication instead of ignoring errors.
71	(main): Check it.  Don't use dateform.
72	(recentdate, extdate): cmpnum -> cmpdate
73
74	* rcsclean.c (unlock): struct lock -> struct rcslock
75
76	* rcsedit.c (dirtpname): No longer external.
77	(do_link): Simplify logic.
78	(finisheditline, finishedit): Replace Iseek/Itell with definiens.
79	(fopen_update_truncate): Replace `#if' with `if'.
80	(keyreplace, makedirtemp): dirlen(x) -> basefilename(x)-x.
81
82	(edit_string): Fix bug: if !large_memory, a bogus trailing `@' was
83	output at the end of incomplete lines.
84
85	(keyreplace): Do not assume that seeking backwards
86	at the start of a file will fail; on some systems it succeeds.
87	Convert C- and Pascal-style comment starts to ` *' in comment leader.
88
89	(rcswriteopen): Use fdSafer to get safer file descriptor.
90	Open RCS file with FOPEN_RB.
91
92	(chnamemod): Work around bad_NFS_rename; don't ignore un_link result.
93	Fall back on chmod if fchmod fails, since it might be ENOSYS.
94
95	(aflush): Move to rcslex.c.
96
97	* rcsfcmp.c (rcsfcmp): Add -kb support.
98
99	* rcsfnms.c (basefilename): Renamed from basename to avoid collisions.
100	(dirlen): Remove (for similar reasons).
101	(rcsreadopen): Open with FOPEN_RB.
102	(SLASHSLASH_is_SLASH): Default is 0.
103	(getcwd): Work around bad_wait_if_SIGCHLD_ignored bug.
104
105	* rcsgen.c (putadmin): Open RCS file with FOPEN_WB.
106
107	* rcskeep.c (getoldkeys): Don't panic if a Name: is empty.
108
109	* rcslex.c:
110	(map_fd_deallocate, mmap_deallocate, read_deallocate,
111	nothing_to_deallocate): New functions.
112	(Iclose): If large_memory and maps_memory, use them to deallocate.
113	(fd2RILE): Use map_fd if available.
114	If one mapping method fails, try the next instead of giving up;
115	if they all fail, fall back on ordinary read.
116	Work around bug: root mmap over NFS succeeds, but accessing dumps core.
117	Use MAP_FAILED macro for mmap failure, and `char *' instead of caddr_t.
118	(advise_access): Use madvise only if this instance used mmap.
119	(Iopen): Use fdSafer to get safer file descriptor.
120	(aflush): Moved here from rcsedit.c.
121
122	* rcsrev.c (cmpdate, normalizeyear):
123	New functions work around MKS incompatibility.
124	(cmpnum, compartial): s[d] -> *(s+d) to work around Cray compiler bug.
125	(genrevs, genbranch): cmpnum -> cmpdate
126
127	* rcssyn.c (expand_names): Add "b" for -kb.
128	(getdelta): Don't strip leading "19" from MKS dates; see cmpdate.
129
130	* rcsutil.c (catchsig, restoreints, setup_catchsig):
131	Use SA_SIGINFO, not has_psiginfo,
132	to determine whether to use SA_SIGINFO feature,
133	but also check at runtime whether the feature works.
134	(catchsig): If an mmap_signal occurs, report the affected file name.
135	(unsupported_SA_SIGINFO, accessName): New variables.
136	(setup_catchsig): If using SA_SIGINFO, use sa_sigaction not sa_handler.
137	If SA_SIGINFO fails, fall back on sa_handler method.
138
139	(readAccessFilenameBuffer, dupSafer, fdSafer, fopenSafer): New fns.
140	(concatenate): Remove.
141
142	(runv): Work around bad_wait_if_SIGCHLD_ignored bug.
143	Remove reference to OPEN_O_WORK.
144
145	* maketime.h (adjzone, str2time):
146	Time zones are now (long) seconds, not (int) minutes.
147	(const): Remove.
148
149	* maketime.c (difftm):
150	Use smaller expressions, to avoid confusing buggy compilers.
151	(adjzone, str2time): Time zones are (long) seconds, not (int) minutes.
152
153	* partime.c (zone_names):
154	Add "jdt", since Japan might use it.  "nrt" -> "nrft".
155	Use special markers 1 and -1, not TM_LOCAL_ZONE and TM_UNDEFINED_ZONE,
156	to avoid integer overflow now that time zones are seconds, not minutes.
157	(parse_decimal): Round to even.
158	(parzone): Time zones are now (long) seconds, not (int) minutes,
159	as allowed by ISO 8601.
160
161	* partime.h (TM_UNDEFINED_ZONE, zone):
162	Now (long) seconds, not (int) minutes.
163	(const): Remove.
164
165	* rcstime.c (dateform): Remove.
166	(zone_offset, str2time_checked, zone_set, date2str):
167	Time zones are now (long) seconds, not (int) minutes.
168	(date2str): Use `-08' style time zone, not `-0800', for ISO 8601.
169
170	* conf.sh: `#!/bin/sh' -> `#! /bin/sh'; some picky hosts require this.
171	Ensure we don't run as root; it would yield the wrong answers.
172	Ensure the C compiler works on a trivial program first.
173	Rename incoming environment variables to follow GNU makefile standards.
174	Use $PREPARE_CC consistently.
175
176	(_POSIX_C_SOURCE, <mach/mach.h>, <net/errno.h>, has_map_fd,
177	bad_NFS_rename, has_si_errno, bad_wait_if_SIGCHLD_ignored):
178	New configuration options.
179
180	(has_sys_dir_h, text_equals_binary_stdio, text_work_stdio,
181	FOPEN_R, FOPEN_W, FOPEN_WPLUS, has_caddr_t, DIFF3_A): Remove.
182
183	(O_BINARY, OPEN_O_WRONLY, FOPEN_RB, FOPEN_R_WORK, FOPEN_WB,
184	FOPEN_W_WORK, FOPEN_WPLUS_WORK): New macros, for -kb support.
185	(bad_fopen_wplus): Use "w+", not FOPEN_WPLUS.
186
187	(has_const, has_volatile): Rename test functions to avoid collisions.
188	(has_fchmod, has_mmap, has_vfork): fileno(stdio) -> STDIN_FILENO.
189	(has_fflush_input): Don't trust fflush's return value when testing.
190	(has_mmap): Use MAP_FAILED if available.  Look at 0th byte, not last.
191	Define to 0 if HP-UX 8.07 or 9.*, or SunOS 5.4 before patch 10.
192	(has_psiginfo): Handler's 3rd arg is void *, as per Posix 1003.1b-1993.
193	(has_varargs): Don't set if has_stdarg.
194	(large_memory): Also define to 1 if has_map_fd.
195	(mmap_signal): Don't try to deduce it if creat yields ETXTBSY.
196
197	* conf.heg: Adjust to latest conf.sh.
198
199	* rcsbase.h (SIZEABLE_PATH):
200	Don't depend on PATH_MAX: it's not worth configuring.
201	(Ioffset_type, BINARY_EXPAND, MIN_UNEXPAND, MIN_UNCHANGED_EXPAND):
202	New macros.
203	(maps_memory): New macro; replaces many instances of `has_mmap'.
204	(cacheptr): Renamed from cachetell.
205	(struct RILE): New alternate name for RILE; the type is now recursive.
206	(deallocate): New member for RILE, used for generic deallocation.
207	(cacheunget_): No longer take a failure arg; just call Ierror.
208	(struct rcslock): Renamed from struct lock, to avoid collisions with
209	system headers on some hosts.  All users changed.
210	(basefilename): Renamed from basename, likewise.
211	(dirtpname): Remove; no longer external.
212	(dirlen, dateform): Remove; no longer used.
213	(cmpdate, fopenSafer, fdSafer, readAccessFilenameBuffer): New fns.
214	(zonelenmax): Increase to 9 for full ISO 8601 format.
215	(catchmmapints): Depend on has_NFS.
216
217	* rcstest: Add -kb test.
218	`#!/bin/sh' -> `#! /bin/sh'; some picky hosts require this.
219	(ALL_CFLAGS): Renamed from CFLAGS.
220	(LIBS): Renamed from LDLIBS.
221	(CL): Add explicit `-o a.out'.
222
223Thu Apr 14 06:55:24 1994  Paul Eggert  <eggert@twinsun.com>
224
225	* conf.sh:  Relax test for puts.  Improve test for mmap; don't
226	rely on getpagesize, output better messages when it fails,
227	don't assume you can mmap something larger than the file,
228	output "SIGSEGV" if appropriate, add commentary.
229
230Wed Apr 13 16:31:38 1994  Paul Eggert  <eggert@twinsun.com>
231
232	* version.c: now 5.6.7.4 (beta); intermediate versions were PC-related.
233	* rcstime.c: Don't dump core if there's no zone.
234	* rlog.c: Fix bug; `rlog -lxxx' inverted the sense of -l.
235
236Sun Mar 20 04:52:58 1994  Paul Eggert  <eggert@twinsun.com>
237
238	* version.c: now 5.6.7 (beta)
239
240	* ci.c: Do not remove the lock when `ci -l' reverts.
241	Do not generate a corrupted RCS file if the user modifies
242	the working file while `ci' is running.
243	* ci.c, co.c:
244	Move buffer-flushes out of critical sections, as they aren't critical.
245	* ci.c, co.c, merger.c, rcs.c, rcsbase.h, rcsdiff.c, rcsmerge.c,
246	rcsutil.c: Specify subprocess input via file descriptor, not file name.
247	* ci.c, co.c, rcs.c, rcsclean.c, rcsedit.c:
248	Use ORCSerror to clean up after a fatal error.
249
250	* ident.c: Remove `exiting' from identExit.
251
252	* rcs.c, rcsgen.c: Flush stderr after prompt.
253
254	* rcsclean.c: Add void_closedir support.
255
256	* rlog.c: Emulate -V4's white space generation more precisely.
257	-d'<DATE' now excludes DATE; the new syntax -d'<=DATE' includes it.
258	* rlog.c, rcsgen.c: Work around SVR4 stdio performance bug.
259
260	* rcsbase.h: Add primitives for reading backwards from a RILE;
261	this is needed to go back and find the $Log prefix.
262
263	* partime.c: Don't include rcsbase.h; you only need conf.h.
264	Fix `am/pm' parsing bug.  Update time zones.
265
266	* rcsedit.c, rcsfcmp.c:
267	Normally calculate the $Log prefix from context, not from RCS file.
268
269	* rcsfcmp.c:
270	Calculate line numbers correctly even if the $Log prefix contains \n.
271
272	* rcsfnms.c: Strip trailing SLASHes from TMPDIR; some systems need it.
273
274	* rcslex.c: Don't worry if madvise fails.  Add Orewind.
275
276	* rcsutil.c: Move setmtime to rcsedit.c.
277	Avoid messing with I/O buffers in the child process.
278	Define dup in terms of F_DUPFD if it exists.
279
280	* Makefile: Make sure $(DESTBINDIR) exists before installing.
281	Remove core* (for BSDI), RCS/a.*.
282
283	* conf.sh: Do errno checking before readlink checking.
284	Check for GCC __attribute__ infelicities.
285	Output a better error message for wait problems.
286	Check for AIX 3.2.0 mmap bug.  Update HP-UX test.
287	Fix SLASHes typo.  Add SEEK_CUR.  Configure off_t, has_fflush_input.
288	Improve test for __attribute__((noreturn)).
289	* conf.heg: Adjust to latest conf.sh.
290
291	* rcstest: Port to BSD/386 1.1's /bin/sh brain damage.
292	Test for new $Log behavior.
293
294	* co.c, merge.c, merger.c, rcs.c, rcsbase.h, rcsdiff.c, rcsedit.c,
295	rcsfcmp.c, rcsfnms.c, rcsgen.c, rcskeep.c, rcslex.c, rcsmerge.c,
296	rcsrev.c, rcssyn.c, rcsutil.c, rlog.c: Remove lint.
297
298Tue Nov  9 17:55:29 1993  Paul Eggert  <eggert@twinsun.com>
299
300	* version.c: now 5.6.6 (beta)
301	* merge.c, rcsclean.c, rcsutil.c, rlog.c:
302	-V now prints version on stdout and exits.
303	* ci.c, co.c, rcs.c, rcsdiff.c, rcsmerge.c:
304	Likewise.  Don't print usage twice.
305	* Makefile: Add -Dhas_conf_h, maketime.h, partime.h, rcstime.c.
306	ident wants version.o.
307	* conf.heg, conf.sh: gcc doesn't do constant expressions in
308	__attribute__((format(...))).
309	* conf.sh: Quote $dots.
310	* ident.c: Add -V.
311	* maketime.c: Move RCS-specific stuff into rcstime.c.
312	* maketime.h, partime.h, rcstime.c: New files.
313	* partime.c: Complete rewrite from scratch.
314	* rcsbase.h: Move RCS-specific time handling into rcstime.c.
315	printf_string now takes two arguments, alas.
316	* rcskeep.c: Use simpler time zone parsing strategy
317	now that we're using ISO 8601 format.
318	* rcslex.c: Fix `label: }' typo.
319	* rcsrev.c: Fix format string typos.
320
321Wed Nov  3 18:25:07 1993  Paul Eggert  <eggert@twinsun.com>
322
323	* version.c: Initial revision; now 5.6.5 (beta)
324
325	* ci.c, co.c, rcs.c, rcsdiff.c, rcsclean.c, rcsedit.c, rcsmerge.c,
326	rcsrev.c, rlog.c: Add -z.
327
328	* ci.c: Don't subtract from RCS file timestamp even if -T.
329	Scan for and use Name keyword if -k.
330	* ci.c, rcs.c, rcsbase.h, rcsgen.c, rcslex.c, rcssyn.c:
331	Don't discard ignored phrases.
332	* ci.c, co.c, rcs.c, rcsbase.h, rcsclean.c, rcsdiff.c, rcsfnms.c,
333	rcsgen.c, rcskeep.c, rcslex.c, rcsrev.c, rcssyn.c:
334	Improve quality of diagnostics.
335
336	* co.c: Generate a value for the Name keyword.
337	* co.c, rcsbase.h: Don't arbitrarily limit the number of joins.
338
339	* ident.c: Test for char == EOF, not char < 0.
340
341	* rcs.c: Don't lose track of -m or -t when there are no other changes.
342
343	* rcsdiff.c: Put revision numbers in -c output.
344	* rcsdiff.c, rcsbase.h, rcsedit.c, rcskeys.c: Add Name keyword.
345	* rcsdiff.c, rcsmerge.c: Pass -Vn to `co'.
346	* rcsdiff.c, rcsmerge.c, rlog.c: Ignore -T.
347
348	* rcsmerge.c:
349	Pass unexpanded revision name to `co', so that $Name works.
350	* rcsmerge.c, rcsbase.h, merge.c, merger.c:
351	Add -A, -E, -e.  Allow up to three labels.
352
353	* rlog.c: Add -N.
354
355	* rcsbase.h: Remove `nil'.  Improve quality of prototypes.
356
357	* partime.c: Simplify time zone table.
358
359	* rcsedit.c: If bad_unlink, ignore errno when unlink fails.
360	Escape white space, $, and \ in keyword string file names.
361	Don't output 2 spaces between date and time after Log.
362
363	* rcskeep.c: Scan for Name keyword.
364
365	* rcsfnms.c: Determine whether a file name is too long indirectly,
366	by examining inode numbers, instead of trying to use operating system
367	primitives like pathconf, which are not trustworthy in general.
368	File names may now hold white space or $.
369	Do not flatten ../X in pathnames; that may be wrong for symlinks.
370	Add getabsname hook.
371
372	* rcsfcmp.c:
373	Fix yet another off-by-one error when comparing Log string expansions.
374
375	* rcsrev.c: Add `namedrev' for Name support.
376	Revision `.N' now stands for `D.N', where D is the default branch.
377
378	* rcssyn.c: Parse MKS dates; ignore \r in diff control lines.
379
380	* rcsutil.c: Use psiginfo and setreuid if available.
381	Move date2str to maketime.c.
382
383	* Makefile: Fix DIFF3_A default.
384
385	* conf.sh: Update for RCS 5.6.5 (much better configuration messages).
386	* conf.heg: Adjust to latest conf.sh.
387
388	* rcstest: Compile our own program instead of using `tr'.
389	Use rlog to get UTC instead of relying on `date -u'.
390	Test `Name' keyword.
391
392	* rcsfreeze.sh: Don't ignore RCS/.*,v files.
393
394Tue Jun 29 17:03:43 1993  Paul Eggert  <eggert@twinsun.com>
395
396	* maketime.c: Add -z support.  New function zone_set, date2str.
397	str2time now has default_zone arg.  Parenthesize to keep GCC happy.
398
399Tue Jul 28 16:12:44 1992  Paul Eggert  <eggert@twinsun.com>
400
401	Version 5.6.4 (beta)
402
403	* ci.c: Add -i, -j.  Check that working and RCS files are distinct.
404	* ci.c, co.c, rcs.c, rcsclean.c, rcsdiff.c, rcsmerge.c, rcsutil.c,
405	rlog.c: Add -V.
406
407	* co.c, rcsclean.c: Check that working and RCS files are distinct.
408
409	* rcs.c: rcs -l now asks whether you want to break the lock.
410	Set RCS file's mode and time at right moment.
411
412	* rcsclean.c: Fix -n bugs.
413
414	* rcsdiff.c: Use co -M for better dates with traditional diff -c.
415
416	* rlog.c: Don't miss B.0 when handling branch B.
417	Diagnose missing `,' in -r.
418	* rlog.c, rcsedit.c, rcslex.c, rcsrev.c, rcssyn.c:
419	Avoid `unsigned'; this avoids the ULONG_MAX/10 configuration problem.
420	* rlog.c, rcsbase.h, rcsedit.c, rcsgen.c rcsfcmp.c, rcskeep.c, rcslex.c,
421	rcssyn.c: Statement macro names now end in _.
422
423	* partime.c: Fix time zones again.
424
425	* rcsedit.c: Some hosts have readlink but not ELOOP.
426	Preserve dates more systematically.
427
428	* rcsgen.c, rcsfnms.c: Be consistent about pathnames vs filenames.
429
430	* rcsfnms.c: Add .sty.  .pl now implies Perl, not Prolog.
431	Fix fdlock initialization bug.  Check that $PWD is really ".".
432
433	* rcslex.c, rcsrev.c:  Identifiers may now start with a digit and
434	(unless they are symbolic names) may contain `.'.
435
436	* rcsutil.c: has_sigaction overrides sig_zaps_handler.  Fix -M bug.
437	Add mmap_signal, which minimizes signal handling for non-mmap hosts.
438
439	* Makefile: Add BINDIR.  Update for GCC 2.  Redo configuration scheme.
440	Add rcsvers.c.
441
442	* conf.sh: Output more chatter to keep builders happy.
443	Fix several portability bugs: fileno, readlink, readlink errno,
444	HP-UX brain damage, execv, mmap, waitpid, same_file.  Remove ULONG_MAX.
445	* conf.heg: Adjust to latest conf.sh.
446
447	* rcstest: Test rcsclean.  rm -f a.c more often.
448	*'! 1.1.1.1') -> *!\ 1.1.1.1) to avoid some shell bugs.
449	Set PWD unconditionally.  Don't assume RCS knows date's time zone.
450	Avoid `tr' if possible; it's not standardized well.
451
452Sun May 31 08:29:18 1992  Paul Eggert  <eggert@twinsun.com>
453
454	* maketime.c:
455	Complete rewrite from scratch, because we need to work even if
456	the underlying implementation has leap seconds.
457
458	* partime.c: The special time zone LOCAL_TIME+1 now tells maketime
459	that no zone was given.
460
461Mon Feb 17 23:02:28 1992  Paul Eggert  <eggert@twinsun.com>
462
463	Version 5.6.3 (beta)
464
465	* ci.c, co.c, rcs.c, rcsbase.h, rcsclean.c, rcsedit.c, rcsutil.c:
466	Add -T.
467	* ci.c: `-rREV' now just specifies a revision REV;
468	only bare `-r' reverts to default.
469
470	* rcsdiff.c: Output more readable context diff headers.
471	Suppress needless checkout and comparison of identical revisions.
472
473	* maketime.c:
474	When setting a file's modification time, set its access time to now.
475
476	* rcsbase.h, rcslex.c, rcsutil.c: Work around NFS mmap SIGBUS problem.
477
478	* rcsfnms.c: `a/RCS/b/c' is now an RCS file with an empty extension,
479	not just `a/b/RCS/c'.
480
481	* conf.sh: Add has_utimbuf to avoid echo line length limit.
482	Some sigactions don't allow 2nd arg of type struct sigaction const *.
483	* conf.heg: Adjust to latest conf.sh.
484
485	* rcsfreeze.sh: Use `rcs -nN:' to simplify the code.
486
487Mon Jan 27 16:42:53 1992  Paul Eggert  <eggert@twinsun.com>
488
489	Version 5.6.2 (beta)
490
491	* ci.c: Always unlock branchpoint if caller has a lock.
492	* ci.c, conf.sh, rcsedit.c: Support bad_chmod_close.
493	* ci.c, co.c, conf.sh, rcs.c, rcsbase.h, rcsclean.c, rcsedit.c,
494	rcsfnms.c, rcsgen.c: Support bad_creat0.
495	* ci.c, co.c, ident.c, merge.c, rcs.c, rcsbase.h, rcsclean.c,
496	rcsdiff.c, rcsmerge.c, rlog.c, rcsutil.c: lint -> RCS_lint
497
498	* rcs.c: Add -M.
499	Avoid invoking umask(); it's one less thing to configure.
500
501	* rcsdiff.c: Add GNU diff 1.15.2's new options.
502
503	* rlog.c: Don't duplicate unexpected_EOF's function.
504
505	* maketime.c: Fix day of week bug with dates after February 28, 2100.
506
507	* rcsfnms.c: Fix bug: Expand and Ignored weren't reinitialized.
508	Avoid `char const c=ch;' compiler bug.
509
510	* rcsgen.c: Move put routines here from rcssyn.c.
511	* rcssyn.c: Move put routines to rcsgen.c.
512
513	* rcsutil.c: Work around NFS mmap bug that leads to SIGBUS core dumps.
514
515	* Makefile: Add DESTRCSDIR.  lint -> RCS_lint
516
517	* conf.sh: Add workaround for `volatile sig_atomic_t' screwups,
518	and for Ultrix 4.2 prototype brain damage.
519	* conf.heg: Adjust to latest conf.sh.
520
521Thu Jan  9 19:02:09 1992  Paul Eggert  <eggert@twinsun.com>
522
523	* Makefile: $(LDLIBS) -o $@ -> -o $@ $(LDLIBS) to keep MS-DOS happy.
524
525Mon Jan  6 03:04:24 1992  Paul Eggert  <eggert@twinsun.com>
526
527	Version 5.6.1 (beta)
528
529	* ci.c: Invoke utime() before chmod() to keep some buggy systems happy.
530
531	* co.c, merge.c, rcsdiff.c, rcsmerge.c, rlog.c: Update usage string.
532
533	* rcs.c:
534	Avoid changing RCS file in common cases where no change can occur.
535
536	* rcsbase.h, rcsedit.c, rcsfnms.c, rcsrev.c, rcssyn.c, rcsutil.c,
537	rlog.c: while (E) ; -> while (E) continue;
538
539	* rcsedit.c: Add setmode parameter to chnamemod.
540	addsymbol now reports changes.
541
542	* rcsfnms.c: Shorten long (>31 chars) name.
543
544	* rcslex.c: Use OPEN_O_BINARY if mode contains 'b'.
545	* rcsutil.c: O_BINARY -> OPEN_O_WORK
546
547	* rcssyn.c: ULONG_MAX/10 -> ULONG_MAX_OVER_10
548
549	* Makefile: Remove obsolete AIX comment.  sh -> $(SHELL).
550
551	* conf.sh: Simplify MS-DOS port; work around several porting anomalies.
552	* conf.heg: Adjust to latest conf.sh.
553
554	* rcstest: mkdir RCS if it doesn't already exist.
555
556Wed Nov 20 18:21:10 1991  Paul Eggert  <eggert@twinsun.com>
557
558	Version 5.6 released.
559	* ci.c, rcs.c: Don't read the delta tree from a nonexistent RCS file.
560	* rcsmerge.c: Don't Iopen(f, "r+"); it's not portable.
561	* conf.sh, conf.heg: Remove FOPEN_RPLUS.
562	* rcstest: Test for rcs -i -A bug.
563
564Sun Nov  3 03:30:44 1991  Paul Eggert  <eggert@twinsun.com>
565
566	* rcsclean.c:
567	Don't remove working files that look like they are checked out.
568
569	* rcsedit.c: Move the warning about link breaking
570	to where they're actually being broken.
571
572	* rcslex.c: Fix porting bug to ancient hosts lacking vfprintf.
573
574	* conf.sh: Detect yet another const compiler bug.
575	Don't declare args to mmap, strchr, strrchr, in case they disagree.
576
577Mon Oct  7 17:32:46 1991  Paul Eggert  <eggert@twinsun.com>
578
579	* ci.c, rcs.c, rcsdiff.c: Remove lint.
580	* ci.c, rcsgen.c: Fix log bugs, e.g. ci -t/dev/null when has_mmap.
581	* co.c: -k affects just working file, not RCS file.
582	* rcsfcmp.c: Count log lines correctly.
583	* conf.sh: Add declare_signal, large_memory, O_EXCL.  Remove creat.
584	* conf.heg: Adjust to latest conf.sh.
585	* rcsbase.h, rcsedit.c, rcslex.c, rcsutil.c:
586	Support piece tables even if !has_mmap.
587	* rcsedit.c: Fix rare NFS bugs.
588	* Makefile: Fix Minix description.
589
590Thu Sep 26 23:10:30 1991  Paul Eggert  <eggert@twinsun.com>
591
592	* ci.c: Plug file descriptor leak.
593
594Tue Sep 24 00:49:12 1991  Paul Eggert  <eggert@twinsun.com>
595
596	* rcsfnms.c: Don't export bindex().
597	* rcslex.c: Don't export Ierror(), errsay().
598	* rcsbase.h: Remove unexported functions.
599	* Makefile: Put MS-DOS support into a separate distribution.
600
601Wed Sep 18 07:29:10 1991  Paul Eggert  <eggert@twinsun.com>
602
603	* ci.c: Work around a common ftruncate() bug.
604
605Tue Sep 17 19:07:40 1991  Paul Eggert  <eggert@twinsun.com>
606
607	* rlog.c: Getscript() didn't uncache partial lines.
608	* rcsedit.c: SGI readlink() yields ENXIO, not EINVAL, for nonlinks.
609
610Tue Sep 10 22:36:26 1991  Paul Eggert  <eggert@twinsun.com>
611
612	* ci.c, rcsgen.c: Fix test for redirected stdin.
613
614	* ident.c: Open files with FOPEN_R, not FOPEN_R_WORK,
615	because they might be executables, not working files.
616
617	* conf.heg: Adjust to latest conf.sh.
618
619	* Makefile: Prepend $(DIFFPREFIX). to PATH.
620	Adjust `make clean' for DOS.
621
622Wed Aug 21 00:29:52 1991  Paul Eggert  <eggert@twinsun.com>
623
624	* rcstest: Fix test for non-text diffs; it missed some botched diffs.
625
626Tue Aug 20 23:05:00 1991  Paul Eggert  <eggert@twinsun.com>
627
628	* merger.c: Fix !DIFF3_BIN porting bug.
629	* conf.sh: Fix porting bugs for #include, SENDMAIL, pwd,
630	cc with wrong exit status.
631
632Mon Aug 19 23:17:54 1991  Paul Eggert  <eggert@twinsun.com>
633
634	* ci.c: When there are no changes,
635	revert to previous revision instead of aborting.
636	* ci.c, co.c, rcs.c: Add -M.
637	* ci.c, rcs.c, rcsbase.h, rcsedit.c, rcsgen.c: Add piece tables.
638	* ci.c, rcs.c, rcsdiff.c, rcsmerge.c, rcsrev.c: Add -r$.
639	* ci.c, co.c, merge.c, rcs.c, rcsbase.h, rcsdiff.c, rcsedit.c,
640	rcsfcmp.c, rcsfnms.c, rcsgen.c, rcskeep.c, rcslex.c, rcsmerge.c,
641	rcsrev.c, rcssyn.c, rcsutil.c, rlog.c: Tune.
642
643	* co.c: Warn before removing somebody else's file.
644	Fix co -j bugs.
645
646	* ident.c: Report read errors immediately.
647
648	* merge.c: Remove lint.
649
650	* rcs.c, rlog.c: Revision separator is `:', not `-'.
651
652	* rcsclean.c: Rewrite from scratch.
653
654	* rcsdiff.c: Add RCSINIT.
655
656	* rlog.c: Check for missing and duplicate logs.
657	Permit log messages that do not end in newline (including empty logs).
658
659	* rcskeys.c: Say `T const' instead of `const T';
660	it's less confusing for pointer types.
661	(This change was made in other source files too.)
662
663	* rcslex.c: Add eoflex(), mmap support.
664
665	* rcsrev.c: Add `-rB.'.  Remove botches like `<now>' from messages.
666
667	* conf.sh: Add ALL_ABSOLUTE, FOPEN_RPLUS, ftell, getlogin_is_secure,
668	RCS_SHELL, sigmask, strchr, TZ_must_be_set.
669	Add checks for dirent, ftruncate, link, madvise, memcmp, memcpy,
670	memmove, mmap, spawn, wait, utimbuf.
671	Improve checks for const/volatile, va_start.
672	Remove atoi, has_utime, strncmp, strncpy.
673	Make NEW_LINK_BEHAVIOR the default.
674	sgi has seteuid.
675	Don't try to guess the bad line number by parsing the error message.
676	* conf.heg: Adjust to latest conf.sh.
677
678	* maketime.c: Add setfiledate, str2time, TZ_must_be_set.
679
680	* merger.c: Plug memory leak.
681
682	* partime.c: Update time zones.
683
684	* rcsbase.h, rcsedit.c: Add NFS bug workarounds.
685	* rcsedit.c: Catch odd filenames.
686
687	* rcsfnms.c: Fix messages when rcswriteopen fails.
688	Look in $TMP and $TEMP if $TMPDIR isn't set.
689
690	* rcsmap.c: Don't assume EOF == -1.
691
692	* rcsutil.c: Add spawn() support.
693	Explicate assumptions about getting invoker's name.
694	Standardize user-visible dates.
695
696	* Makefile: Improve hooks to make DOS makefile from Unix makefile.
697	Switch to GNU diff as the default.  ${} -> $().
698
699	* rcstest: Add test for reverting checkin.  Ease DOS ports.
700	Add PATH warning.
701
702Sat Jun 22 22:43:23 1991  Paul Eggert  <eggert@twinsun.com>
703
704	* rcsclean.sh: Unlock the correct version.
705
706Sun Apr 21 11:59:14 1991  Paul Eggert  <eggert@twinsun.com>
707
708	* ci.c, co.c, rcsbase.h, rcs.c, rcsdiff.c, rcsedit.c,
709	rcsfnms.c, rcsmerge.c, rlog.c: Add -x, RCSINIT.
710	* ci.c, co.c, conf.sh, Makefile, rcsbase.h, rcs.c, rcsdiff.c,
711	rcsedit.c, rcsfcmp.c, rcsfnms.c, rcsgen.c, rcslex.c, rcsmerge.c,
712	rcssyn.c, rlog.c: Add MS-DOS support.
713	* ci.c, co.c: Ensure that working file is newer than RCS file
714	after co -[lu].
715
716	* merge.c, merger.c: Initial revision
717	* partime.c: Don't put , just before } in initializer.
718	* rcsedit.c, rcsfcmp.c, rcsfnms.c, rcssyn.c: Fix errno bugs.
719	* rcskeep.c, rcssyn.c: Disambiguate names on shortname hosts.
720	* rcskeys.c, rcsmap.c: Don't put , just before } in initializer.
721	* rcsrev.c: Add tiprev().
722	* rcsutil.c: Plug setuid security hole.
723	* conf.sh, conf.heg: Fix several reported bugs.
724	* rcstest: Fix porting bugs.
725	* rcsfreeze.sh: Port to broken shells.
726
727Sun Mar 17 05:42:57 1991  Paul Eggert  <eggert@twinsun.com>
728
729	* rcsclean.sh: Support RCS file names.  Add -n.
730
731Thu Feb 28 19:18:53 1991  Paul Eggert  <eggert@twinsun.com>
732
733	* ci.c: Don't let a setuid ci create a new RCS file;
734	rcs -i -a must be run first.
735	Fix ci -ko -l mode bug.  Open work file at most once.
736
737	* rcsbase.h, conf.sh, conf.heg: Try setuid() if seteuid() doesn't work.
738
739	* rcsfcmp.c: Open work file at most once.
740
741	* rcssyn.c: Fix null termination bug in reporting keyword expansion.
742
743	* rcsutil.c: Try setuid() if seteuid() doesn't work.
744	Check the results more carefully.
745
746	* Makefile: Remove setuid installation -- it's now up to the users.
747
748Tue Feb 26 17:48:39 1991  Paul Eggert  <eggert@twinsun.com>
749
750	* ci.c: getdate -> getcurdate (SVR4 name clash)
751
752	* ident.c: Don't report empty keywords.  Check for I/O errors.
753
754	* rcs.c: 0444 -> S_IRUSR|S_IRGRP|S_IROTH for portability
755	* rcs.c, rlog.c, rcslex.c, rcsutil.c:
756	strsave -> str_save (DG/UX name clash)
757
758	* rcsmerge.c: Merging a revision to itself is no longer an error.
759
760	* rlog.c: Survive RCS files with missing logs.
761
762	* rcsbase.h: Move ANSI C / Posix declarations into conf.sh.
763	* rcsbase.h, rcsedit.c, rcsfnms.c: Support new link behavior.
764
765	* rcsedit.c: Work around broken "w+" fopen.
766	* rcsedit.c, rcsfnms.c, rcsutil.c: Fix setuid bug.
767
768	* rcsfnms.c: Support tempnam.  Define more portable getcwd().
769
770	* rcslex.c: Work around fputs bug.
771
772	* rcsrev.c: Avoid overflow when comparing revision numbers.
773
774	* rcssyn.c: Check diff output more carefully; avoid overflow.
775
776	* rcsutil.c: Use fread, fwrite more portably.
777	Support waitpid.  Don't assume -1 is acceptable to W* macros.
778
779	* Makefile: Remove setgid support.  Add NEW_LINK_BEHAVIOR.
780
781	* conf.sh: Revamp extensively for portability.
782	* conf.heg: Adjust to latest conf.sh.
783
784	* rcstest: Work even if diff -c and diff3 -E don't.
785	Improve handling of binary files and bad locks.
786
787Mon Dec 31 01:00:12 1990  Paul Eggert  <eggert@twinsun.com>
788
789	Version 5.5 released.
790	* ci.c: Don't use uninitialized storage when handling -{N,n}.
791
792Sun Dec 30 05:07:35 1990  Paul Eggert  <eggert@twinsun.com>
793
794	* rcsedit.c:
795	Fix report of busy RCS files when !defined(O_CREAT) | !defined(O_EXCL).
796
797Thu Dec 27 19:54:26 1990  Paul Eggert  <eggert@twinsun.com>
798
799	* rcsgen.c: Fix bug: rcs -t inserted \n, making RCS file grow.
800
801Tue Dec 18 17:19:21 1990  Paul Eggert  <eggert@twinsun.com>
802
803	* rcs.c: Fix bug with multiple -n and -N options.
804
805Thu Dec 13 06:54:07 1990  Paul Eggert  <eggert@twinsun.com>
806
807	* rcsdiff.c, Makefile: GNU diff 1.15 has -u.
808
809Tue Dec  4 05:18:49 1990  Paul Eggert  <eggert@twinsun.com>
810
811	* ci.c, co.c, rcs.c, rcsbase.h, rcsgen.c, rcslex.c, rcsutil.c:
812	Use -I for prompts and -q for diagnostics.
813
814	* co.c: Don't checkaccesslist() unless necessary.
815
816	* rcsutil.c: Don't output a blank line after a signal diagnostic.
817
818Tue Nov 27 09:26:05 1990  Paul Eggert  <eggert@twinsun.com>
819
820	* rcsfcmp.c: Fix comment leader bug.
821
822Sun Nov 11 00:06:35 1990  Paul Eggert  <eggert@twinsun.com>
823
824	* rcs.c: Fix `rcs -e' core dump.
825
826Mon Nov  5 20:30:10 1990  Paul Eggert  <eggert@twinsun.com>
827
828	* ci.c: Don't remove working file when aborting due to no changes.
829
830Thu Nov  1 05:28:48 1990  Paul Eggert  <eggert@twinsun.com>
831
832	* ci.c, rcs.c: Add -I and new -t behavior.
833	* ci.c, rcs.c, rcsbase.h, rcsedit.c, rcsgen.c, rcsfcmp.c, rcsfnms.c,
834	rcssyn.c, rlog.c: Permit arbitrary data in logs and comment leaders.
835
836	* co.c: Fix -j.  Add -I.
837
838	* merge.sh: Yield exit status 2 on error like the man page says.
839
840	* rcsdiff.c, rcsmerge.c, rcsutil.c: Remove unneeded setid check.
841
842	* maketime.c: Remove lint.
843
844	* rcsbase.h: Don't assume that builtins are functions;
845	they may be macros.
846
847	* rcsgen.c: Add -I and new -t behavior.
848
849	* rcslex.c, rcssyn.c:
850	When ignoring unknown phrases, copy them to the output RCS file.
851
852	* rcssyn.c: Don't check for nontext on initial checkin.
853
854	* rcsutil.c: Add awrite(), fremember().
855
856	* Makefile: Add test and debug instructions.
857	Remove unwieldy "make depend" stuff.
858
859	* conf.sh: Use better guess for Posix 1003.1-1990 seteuid() behavior.
860	(A real test would requiring running conf.sh setid.  Ugh!)
861	Use test for vfork() that detects GCC 1.37.1+sparc and IRIX bugs.
862	Use better test for const and volatile.
863	User better test for include files; just running cpp isn't enough,
864	because the include files may be buggy.
865	Don't assume that builtins are functions; they may be macros.
866	Remove DIFF_ARBITRARY.
867	* conf.heg: Initial revision
868
869	* rcsclean.sh: Basically a complete rewrite.  Add rcsdiff options.
870	Clean working directory if no arguments are given.
871
872	* rcsfreeze.sh: Check for errors better.
873	Remove the need for one of the temporary files.
874
875Sat Oct  6 00:16:45 1990  Paul Eggert  <eggert@twinsun.com>
876
877	* rcsutil.c: Don't fread F if feof(F).
878
879Thu Oct  4 06:30:22 1990  Paul Eggert  <eggert@twinsun.com>
880
881	* ci.c, co.c, rcs.c, rcsdiff.c, rlog.c:
882	Accumulate exit status across files.
883
884	* maketime.c: Don't assume time_t is 32 bits.
885	Calculate the GMT offset of 'xxx LT' as of xxx, not as of now.
886	Fix bugs near epoch and near end of time.
887
888	* partime.c: Check for overflow when lexing an integer.
889	Remove date vs time heuristics that fail between 2000 and 2400.
890	Parse 'Jan 10 LT' as 'Jan 10, LT', not 'Jan, 10 LT'.
891
892	* rcskeep.c: Parse time zone offsets;
893	future RCS versions may output them.
894
895Thu Sep 27 01:31:43 1990  Paul Eggert  <eggert@twinsun.com>
896
897	* rcsdiff.c: Yield 1, not EXIT_FAILURE, when diffs are found.
898	* rcsbase.h, conf.sh: Port wait() to non-Posix ANSI C hosts.
899	* conf.sh: Test for vfork() file descriptor screwup.
900
901Tue Sep 25 20:11:46 1990  Adam Hammer  <hammer@cs.purdue.edu>
902
903	* ci.c: fixed another small typo
904
905Mon Sep 24 18:56:31 1990  Paul Eggert  <eggert@twinsun.com>
906
907	* partime.c: Update time zones.
908
909Fri Sep 21 06:16:38 1990  Adam Hammer  <hammer@cs.purdue.edu>
910
911	* ci.c: made it handle multiple -{N,n}'s.
912	Also, made it treat re-directed stdin the same as the terminal
913
914Thu Sep 20 07:58:32 1990  Paul Eggert  <eggert@twinsun.com>
915
916	* ci.c: ci -k now checks dates more thoroughly.
917
918	* merge.sh: Fix bug in passing arguments to old diff3 programs.
919	Fix calculation of #!/bin/sh header.
920
921	* rcskeep.c: ci -k now checks dates more thoroughly.
922
923	* rcssyn.c:
924	Remove the test for non-text bytes; it caused more pain than it cured.
925
926	* conf.sh: Calculate signal_type more reliably on older systems.
927
928	* rcstest: Adjust to old and brain damaged diffs.
929
930Sat Sep 15 01:29:51 1990  Paul Eggert  <eggert@twinsun.com>
931
932	* conf.sh: Output header warning that it's generated automatically.
933
934Tue Sep 11 02:41:16 1990  Paul Eggert  <eggert@twinsun.com>
935
936	* ci.c: Fix revision bug with `ci -k file1 file2'.
937	* co.c: co -kv yields a readonly working file.
938	* rcsdiff.c: Simplify -kkvl test.
939	* rlog.c: Plug memory leak.
940	* rcsedit.c: Tune expandline().
941	* rcsfcmp.c: Don't ignore differences in keyword strings if -ko is set.
942	* Makefile: Don't make -R the default.
943
944Tue Sep  4 17:07:19 1990  Paul Eggert  <eggert@twinsun.com>
945
946	* ci.c: Permit adjacent revisions with identical time stamps
947	(possible on fast hosts).
948	* ci.c, rcsbase.h, rcsedit.c: Improve incomplete line handling.
949	* ci.c, co.c, rcs.c, rcsbase.h, rcsgen.c:
950	Standardize yes-or-no procedure.
951
952	* rcsdiff.c: Diff's argv was too small by 1.
953
954	* rlog.c, rcsedit.c, rcslex.c, rcssyn.c: Count RCS lines better.
955
956	* rcsmerge.c: Check for I/O error when reading working file.
957
958	* partime.c: Don't permit 'Aug Aug'.
959	Don't parse two-digit years, because it won't work after 1999/12/31.
960
961	* rcsbase.h: Don't redefine NAME_MAX, PATH_MAX.
962
963	* rcsfnms.c: Fix typo when !RCSSEP.
964
965	* rcsgen.c: Fix `co -p1.1 -ko' bug.
966
967	* rcssyn.c: Parse RCS files with no revisions.
968	Don't strip leading white space from diff commands.
969
970	* rcsutil.c: Store fread()'s result in an fread_type object.
971
972	* conf.sh: Don't include <stdarg.h> unless has_prototypes is set.
973
974	* rcstest: Test -kkv, etc.
975	Work even when today's day of the month is less than 10.
976
977Wed Aug 29 07:14:52 1990  Paul Eggert  <eggert@twinsun.com>
978
979	* ci.c: Expand locker value like co.
980	* ci.c, rcs.c, rcsbase.h, rcsfcmp.c, rcsgen.c, rcssyn.c:
981	Clean old log messages too.
982
983	* merge.sh: Add -q.
984
985	* rcs.c: Remove unused setuid support.
986
987	* rcsdiff.c, rcsbase.h rcsedit.c, rcssyn.c: Add -kkvl.
988
989	* rcsmerge.c: Add -q.  Pass -L options to merge.
990
991	* partime.c: Be able to parse our own date format.
992	Don't assume year<10000.
993
994	* rcsbase.h: Fix type typos exposed by porting.
995
996	* rcsedit.c:
997	Fix bug when getting revisions to files ending in incomplete lines.
998	Fix bug in comment leader expansion.
999
1000	* rcsfnms.c, rcslex.c:
1001	Work around buggy compilers with defective argument promotion.
1002
1003	* rcsutil.c: Declare getpwuid() more carefully.
1004
1005	* Makefile: Remove -g from default CFLAGS.
1006
1007	* conf.sh: Fix porting bugs.  Add sanity checks and better doc strings.
1008
1009	* rcstest: Initial revision
1010
1011Wed Aug 22 08:49:14 1990  Paul Eggert  <eggert@twinsun.com>
1012
1013	* ci.c: Don't pass +args to diff.
1014	* ci.c, co.c, rcsbase.h, rcsdiff.c, rcsedit.c, rcskeys.c, rcssyn.c:
1015	Add -k.
1016	* ci.c, co.c, rcs.c, rcsbase.h, rcsdiff.c, rcsedit.c, rcsmerge.c,
1017	rcsutil.c, rlog.c: Add -V.
1018	* ci.c, co.c, ident.c, rcs.c, rcsbase.h, rcsdiff.c, rcsedit.c,
1019	rcsfnms.c, rcsgen.c, rcskeep.c, rcslex.c, rcsmerge.c, rcsrev.c,
1020	rcssyn.c, rcsutil.c, rlog.c:
1021	Remove compile-time limits; use malloc instead.
1022	* ci.c, co.c, rcs.c, rcsbase.h, rcsdiff.c, rcsutil.c, rlog.c:
1023	Add setuid support.
1024	* ci.c, rcsedit.c, rcskeep.c, rcssyn.c: Don't require a final newline.
1025	* ci.c, co.c, rcs.c, rcsdiff.c, rcsedit.c, rcsfnms.c, rcsmerge.c:
1026	Make lock and temp files faster and safer.
1027	* ci.c, co.c, maketime.c, rcs.c, rcsedit.c, rcsfnms.c, rcskeep.c,
1028	rcsutil.c: Permit dates past 1999/12/31.
1029	* ci.c, co.c, rlog.c, maketime.c, partime.c, rcsutil.c, Makefile:
1030	Switch to GMT and fixed the bugs exposed thereby.
1031	* ci.c, rcs.c, rcsedit.c, rcssyn.c: Check diff's output.
1032	* ci.c, co.c, rcsbase.h, rcsutil.c: Remove snooping.
1033	* ci.c, co.c, rcs.c, rcsfnms.c, rcskeep.c, rcsmerge.c, rcsrev.c,
1034	rcssyn.c, rcsutil.c: Tune.
1035	* ci.c, co.c, ident.c, maketime.c, partime.c, rcs.c, rcsbase.h,
1036	rcsdiff.c, rcsedit.c, rcsfcmp.c, rcsfnms.c, rcsgen.c, rcskeep.c,
1037	rcskeys.c, rcslex.c, rcsmerge.c, rcsrev.c, rcssyn.c, rcsutil.c, rlog.c:
1038	Ansify and Posixate.
1039
1040	* co.c, rcsutil.c: Permit multiple locks by same user.
1041
1042	* ident.c: Don't limit output to known keywords.
1043	* ident.c, rcs.c, rcsfcmp.c, rcsrev.c, rcssyn.c: Remove lint.
1044
1045	* merge.sh: Become a shell file that outputs the needed shell file.
1046	Support GNU diff3.  Add -L.
1047
1048	* rcs.c: Don't lose names when applying -a option to multiple files.
1049	Fix umask bug.  Yield proper exit status.
1050
1051	* rcsdiff.c: Don't pass arguments with leading '+' to diff;
1052	GNU DIFF treats them as options.  Add GNU diff's flags.
1053	* rcsdiff.c, rcsbase.h, rcsmerge.c, rcsfnms.c: Don't use access().
1054
1055	* rcsmerge.c: Propagate merge's exit status.
1056
1057	* rlog.c:
1058	Report dates in long form, to warn about dates past 1999/12/31.
1059	Change "added/del" message to make room for the longer dates.
1060	* rlog.c, rcsedit.c: Don't generate trailing white space.
1061
1062	* partime.c: Update time zones.  Fix peekahead and int-size bugs.
1063
1064	* rcsbase.h: Adjust ANSI C / Posix support.  Remove v2 support.
1065	* rcsbase.h, rcslex.c, rcssyn.c: Add support for ISO 8859.
1066
1067	* rcsedit.c, rcsfcmp.c: Don't append "checked in with -k by " log to
1068	logs, so that checking in a program with -k doesn't change it.
1069
1070	* rcsfnms.c: Ignore signals when manipulating the semaphore file.
1071	Modernize list of file name extensions.
1072	Beware file names beginning with "-".
1073	Fix test for non-regular files.
1074
1075	* rcskeep.c: Retrieve old log message if there is one.
1076
1077	* rcslex.c: Report errno-related errors with perror().
1078	Use better hash function.
1079
1080	* rcsrev.c: Remove possibility of an internal error.
1081
1082	* rcssyn.c: Try to parse future RCS formats without barfing.
1083	Don't output branch keyword if there's no default branch,
1084	because RCS version 3 doesn't understand it.
1085	Check that a newly checked-in file is acceptable as input to 'diff'.
1086
1087	* rcsutil.c: Some USG hosts define NSIG but not sys_siglist.
1088	Don't run /bin/sh if it's hopeless.
1089	Don't leave garbage behind if the output is an empty pipe.
1090	Clean up after SIGXCPU or SIGXFSZ.
1091	Print name of signal that caused cleanup.
1092
1093	* Makefile: Configure more automatically.  Upgrade for RCS 5.0.
1094
1095	* conf.sh, rcsmap.c: Initial revision
1096
1097Wed May 23 06:54:32 1990  Paul Eggert  <eggert@twinsun.com>
1098
1099	* Makefile: Make Posix the default; it's the wave of the future.
1100	Add advice for SunOS.  Remove references to rcsclean, rcsfreeze.
1101
1102Thu Mar 22 07:06:14 1990  Paul Eggert  <eggert@twinsun.com>
1103
1104	* merge.sh: Add support for GNU DIFF 1.15.
1105
1106	* Makefile: Permit dates past 1999/12/31.  Ansify and Posixate.
1107	Remove snoop and v2 support.  Add <vfork.h> flag.
1108
1109Sat Nov 18 13:34:16 1989  Adam Hammer  <hammer@cs.purdue.edu>
1110
1111	Version 4.3 released.
1112
1113Mon Oct 30 12:29:00 1989  Daniel Trinkle  <trinkle@cs.purdue.edu>
1114
1115	* rcsclean.c:
1116	Added -q option to agree with man page, added code to actually unlock
1117	the RCS file if there were no differences, picked a bit of lint.
1118
1119Wed Jun 28 12:56:23 1989  Paul Eggert  <eggert@twinsun.com>
1120
1121	* rcsfnms.c:
1122	Prevent checkin of all non-regular files, not just directories.
1123
1124Wed Jun 28 09:02:14 1989  Thomas Narten  <narten@cs.purdue.edu>
1125
1126	Version 4.2 released.
1127
1128Mon May  1 15:17:14 1989  Thomas Narten  <narten@cs.purdue.edu>
1129
1130	changed copyright header to reflect current distribution rules
1131
1132	* rcsbase.h: changed #include <strings.h> -> string.h for USG systems.
1133	* partime.c: fixed #ifdef DEBUG construct
1134	* rcsfnms.c: changed getwd to not stat empty directories.
1135
1136Thu Dec  8 14:02:20 1988  Paul Eggert  <eggert@sm.unisys.com>
1137
1138	* rcsfnms.c:
1139	Fix bug: "co -p .../RCS/dir,v" failed if ./dir is a directory.
1140
1141Tue Nov  8 16:01:02 1988  Thomas Narten  <narten@cs.purdue.edu>
1142
1143	* ci.c: changes from root@seismo.CSS.GOV (Super User)
1144	-d with no arguments uses the mod time of the file it is checking in
1145
1146	* rcs.c: removed include <sysexits.h> (not needed)
1147	minor fix for -A option
1148
1149	* rcsbase.h: removed defs for functions loaded from libraries
1150	* maketime.c: allow negative time zones (-24h <= x <= 24h)
1151	* rcsedit.c: misplaced semicolon caused infinite loop
1152	* rcsutil.c: corrected use of varargs routines
1153
1154Sun Aug 28 15:09:38 1988  Paul Eggert  <eggert@sm.unisys.com>
1155
1156	* Makefile: 'make depend' now discards /usr/include/*
1157	(#ifdefs may comment around them).
1158	Use sed rather than ex for portability.  Remove obsolete comments.
1159	Separate LINTFLAGS.  Use LDFLAGS consistently.
1160	Edit DIFF in merge.sh.  Use execv(), not system(); allow cc -R.
1161	Permit signal handlers to yield either 'void' or 'int'.
1162
1163	* rcslex.c:
1164	Don't loop when writing error messages to a full filesystem.
1165	Flush stderr/stdout when mixing output.
1166	Yield exit status compatible with diff(1).
1167	Shrink stdio code size; allow cc -R; remove lint.
1168
1169	* rcsgen.c: Shrink stdio code size; allow cc -R; remove lint;
1170	isatty() -> ttystdin()
1171
1172	* partime.c: Remove unportable "#endif XXX"s.
1173
1174	* maketime.c: Allow cc -R.  Remove unportable "#endif XXX"s.
1175
1176Tue Aug  9 19:13:28 1988  Paul Eggert  <eggert@sm.unisys.com>
1177
1178	* ci.c: Remove lint.
1179	isatty(fileno(stdin)) -> ttystdin()
1180	Make sure workfile is a regular file;
1181	use its mode if RCSfile doesn't have one.
1182	* ci.c, rcsdiff.c, rcsedit.c: Allow cc -R.
1183
1184	* co.c: Fix "co -d" core dump; rawdate wasn't always initialized.
1185	fix putchar('\0') and diagnose() botches.
1186	* co.c, rcs.c, rcsbase.h, rcskeep.c, rcssyn.c, rlog.c: Remove lint.
1187
1188	* merge.sh:
1189	Check and yield proper exit status; keep temporary files private;
1190	economize to avoid a temporary file; fix "1 overlaps";
1191	keep '.' out of PATH.
1192
1193	* rcsdiff.c, rcsmerge.c: Yield exit status like diff(1)'s.
1194
1195	* rcsmerge.c: Beware merging into a readonly file.
1196	Beware merging a revision to itself (no change).
1197
1198	* rcs.c: Don't access freed storage.
1199	Yield proper exit status.
1200
1201	* rlog.c: Check for memory exhaustion; don't access freed storage.
1202	Shrink stdio code size.
1203	* rlog.c, rcsutil.c: Check for memory exhaustion.
1204
1205	* rcsbase.h: Permit -Dhshsize=nn.
1206	* rcsbase.h, rcsedit.c, rcsfcmp.c: Shrink stdio code size.
1207
1208	* rcskeep.c: Speed up by making FILE *fp local, not global.
1209
1210	* rcsutil.c:  Permit signal handlers to yield either 'void' or
1211	'int'; fix oldSIGINT botch.  Yield exit status like diff(1)'s.
1212
1213Wed Jul 27 00:31:11 1988  Paul Eggert  <eggert@sm.unisys.com>
1214
1215	* merge.sh: RCS version 4
1216
1217Thu Jun 23 16:06:55 1988  Paul Eggert  <eggert@sm.unisys.com>
1218
1219	* sig_t.sh: Initial revision
1220
1221Fri Dec 18 17:06:41 1987  Thomas Narten  <narten@cs.purdue.edu>
1222
1223	* ci.c, co.c, rcs.c, rcsfcmp.c, rcskeep.c, rcssyn.c, rlog.c:
1224	lint cleanups (from Guy Harris)
1225
1226	* rcsdiff.c:  changes Jay Lepreau made in the 4.3 BSD version,
1227	to add support for "-i", "-w", and "-t" flags and to permit
1228	flags to be bundled together, merged in.
1229
1230	* maketime.c: include rcsparam.h
1231
1232	* rcsbase.h: made removed BSD ifdef, now uses V4_2BSD
1233
1234	* rcsedit.c:
1235	Changes from the 43. version. Don't know the significance of the
1236	first change involving "rewind". Also, additional "lint" cleanup.
1237	(Guy Harris)
1238
1239	* rcsfnms.c:
1240	additional file types added from 4.3 BSD version, and SPARC assembler
1241	comment character added. Also, more lint cleanups. (Guy Harris)
1242
1243	* rcsgen.c:
1244	additional lint cleanups, and a bug fix from the 4.3BSD version that
1245	keeps "ci" from sticking a '\377' into the description if you run it
1246	with a zero-length file as the description. (Guy Harris)
1247
1248	* rcslex.c: fixed to use "varargs" in "fprintf";
1249	this is required if it is to work on a SPARC machine such as a Sun-4
1250
1251	* rcsrev.c: more lint cleanups.
1252	Also, the NOTREACHED comment is no longer necessary,
1253	since there's now a return value there with a value. (Guy Harris)
1254
1255	* Makefile: RCS version 4.0's Makefile
1256
1257	* rcsfreeze.sh: Initial revision
1258
1259Mon Nov 23 16:06:50 1987  Paul Eggert  <eggert@sm.unisys.com>
1260
1261	* Makefile: Permit signal handlers to yield either 'void' or 'int'.
1262
1263Fri Oct 23 17:09:57 1987  Thomas Narten  <narten@cs.purdue.edu>
1264
1265	* ident.c: added exit(0) so exit return code would be non random
1266
1267Tue Sep 15 16:39:39 1987  Roy Morris  <...!felix!roy>
1268
1269	* rcsedit.c: added an initialization of the variables editline and
1270	linecorr; this will be done each time a file is processed.
1271	(there was an obscure bug where if co was used to retrieve multiple
1272	files it would dump)
1273
1274Sun Oct 18 10:40:22 1987  Thomas Narten  <narten@cs.purdue.edu>
1275
1276	Updating version numbers.
1277	Changes relative to revision 1.1 are actually relative to 4.x.
1278
1279Mon Aug 24 13:57:19 1987  Thomas Narten  <narten@cs.purdue.edu>
1280
1281	Sources now pass through lint
1282	(if you ignore printf/sprintf/fprintf warnings).
1283
1284Mon Aug 10 11:52:53 1987  Paul Eggert  <eggert@sm.unisys.com>
1285
1286	* co.c: 'co -d' dumped core; this fixes it.
1287
1288Thu Jul  9 09:20:52 1987  Daniel Trinkle  <trinkle@cs.purdue.edu>
1289
1290	* ident.c: Added check to make sure there is at least one arg
1291	before comparing argv[1] with "-q".  This necessary on machines
1292	that don't allow dereferencing null pointers (i.e. Suns).
1293
1294Mon Jun 22 13:52:35 1987  Paul Eggert  <eggert@sm.unisys.com>
1295
1296	* Makefile:
1297	Allow cc -R; add rclm; add $(LDFLAGS) when linking anything
1298
1299	* rcs.c, rlog.c: Don't access freed storage.
1300
1301	* rcs.c: If you lack locks, "rcs -u" now breaks the newest lock
1302	regardless of owner.
1303
1304Fri Mar 27 14:21:53 1987  jenkins  <jenkins@cs.purdue.edu>
1305
1306	Port to suns
1307
1308Mon Mar 23 12:01:04 1987  Paul Eggert  <eggert@sm.unisys.com>
1309
1310	* ci.c, co.c, rcs.c, rcsdiff.c, rcsmerge.c, rcsutil.c:
1311	Use execv(), not system(); yield proper exit status.
1312	* co.c: fix putchar('\0') and diagnose() botches.
1313	* rcsutil.c: Fix bug: catchints() didn't work if ignoreints()
1314	had already been called.
1315	* rcsmerge.c: Beware merging into a readonly file.
1316	Beware merging a revision to itself (no change).
1317	* rcsbase.h: Shrink stdio code size; remove lint; vfork=fork on USG
1318	* merge.sh:
1319	Check and yield proper exit status; clean up if interrupted;
1320	keep temporary files private; fix "1 overlaps" message.
1321	* ci.c, rcsdiff.c: Allow cc -R.
1322	* co.c, rcs.c: Remove lint.
1323
1324Tue Mar 17 17:27:32 1987  loverso  <loverso@cs.purdue.edu>
1325
1326	* ci.c: Don't allow non-regular files (directories, etc)
1327	to be checked in.
1328
1329Mon Mar  9 17:11:52 1987  Paul Eggert  <eggert@sm.unisys.com>
1330
1331	* rcsedit.c: Shrink stdio code size; allow cc -R.
1332	Fix linecorr botch: dumped core on Suns sometimes on 'co -rold f1 f2'.
1333
1334Fri Feb 13 11:28:51 1987  Paul Eggert  <eggert@sm.unisys.com>
1335
1336	* rlog.c: Add -W flag.
1337	* rcslex.c: Don't loop when writing error messages to a full filesystem
1338	Flush stderr/stdout when mixing output.
1339	Yield exit status compatible with diff(1).
1340	* rcsgen.c, rcslex.c, rlog.c: Allow cc -R; remove lint.
1341	* rcsfcmp.c, rcsgen.c, rcslex.c, rlog.c: Shrink stdio code size.
1342
1343Thu Feb 12 18:24:19 1987  Paul Eggert  <eggert@sm.unisys.com>
1344
1345	* ident.c: Add -efghi flags.
1346	* maketime.c, rcsfnms.c, rcssyn.c, sccstorcs.c: Allow cc -R.
1347	* rcsfnms.c: Fix troff macro comment leader bug; add Prolog.
1348	* rcskeep.c: Speed up by making FILE *fp local, not global.
1349	* rcsrev.c, All files above: Remove lint.
1350
1351Tue Jul 29 12:17:25 1986  Guy Harris  <guy@sun.com>
1352
1353	* maketime.c: More "lint" cleanups.
1354
1355Mon Jul 28 23:34:14 1986  Guy Harris  <guy@sun.com>
1356
1357	* Makefile: Netnews fixes from guy@sun
1358	* sccstorcs.c, rlog.c, rcsutil.c, rcssyn.c, rcsrev.c, rcsmerge.c,
1359	rcslex.c, rcskeep.c, rcsgen.c, rcsfnms.c, rcsfcmp.c, rcsedit.c,
1360	rcsdiff.c, rcsbase.h, rcs.c, ident.c, co.c, ci.c: More "lint" cleanups.
1361
1362Thu Jul  3 13:09:55 1986  jdl  <jdl@cs.purdue.edu>
1363
1364	* rcsclean.sh: New file.
1365
1366Wed Jun 18 15:02:32 1986  Jay Lepreau  <lepreau@cs.purdue.edu>
1367
1368	* rcsdiff.c: I broke -c<number> in last rev.
1369	Also, mixing a bopt with an otheropt was broken.
1370
1371Mon May 19 02:36:16 1986  Jay Lepreau  <lepreau@cs.purdue.edu>
1372
1373	* rcsdiff.c: Pass on new diff options, and allow them to be clustered.
1374
1375Thu May 15 02:25:37 1986  Jay Lepreau  <lepreau@cs.purdue.edu>
1376
1377	* Makefile: 4.3BSD revision
1378	* rcsedit.c: Use "Locked" instead of state in $Head expansion if locked.
1379	* rcsfnms.c: add suffix .el for gnulisp
1380	* rcsgen.c: Fix immediate EOF from non-tty files:
1381	avoid 0377's in description.
1382
1383Tue Dec 17 13:59:09 1985  albitz  <albitz@cs.purdue.edu>
1384
1385	* rcs.c: Changed setstate to rcs_setstate
1386	because of conflict with random.o.
1387
1388Wed Jun 26 07:34:28 1985  svb  <svb@cs.purdue.edu>
1389
1390	* rcsfnms.c: Comment leader '% ' for '*.tex' files added.
1391
1392Wed Oct 17 21:12:11 1984  Admin  <root@cs.purdue.edu>
1393
1394	* sccstorcs.c:  Added check for having multiple deltas in a row
1395	for the same revision.  --ks
1396
1397Tue Dec 20 16:04:20 1983  Walter F. Tichy  <wft@purdue>
1398
1399	* rcsbase.h: Increased logsize, added macro SMALLOG.
1400	moved setting of STRICT_LOCKING to Makefile.
1401	changed DOLLAR to UNKN (conflict with KDELIM).
1402
1403Thu Dec 15 12:28:54 1983  Walter F. Tichy  <wft@purdue>
1404
1405	* ci.c, co.c: ci -u and ci -l now set mode of working file properly.
1406	* rcs.c: rcs -u now breaks most recent lock
1407	if it can't find a lock by the caller.
1408
1409	* rcsfnms.c: Added check for KDELIM in filenames to pairfilenames().
1410
1411Mon Dec  5 13:40:54 1983  Walter F. Tichy  <wft@purdue>
1412
1413	* ci.c: Merged with 3.9.1.1: added calls to clearerr(stdin).
1414	* ci.c, co.c, rlog.c: made rewriteflag external.
1415
1416	* rcs.c: Added conditional compilation for sending mail.
1417	Alternatives: V4_2BSD, V6, USG, and other.
1418
1419Fri Dec  2 22:47:45 1983  Walter F. Tichy  <wft@purdue>
1420
1421	* rcsfnms.c: Added csh, red, and sl filename suffixes.
1422
1423Wed Oct 19 04:22:11 1983  Jay Lepreau  <lepreau@purdue>
1424
1425	* rcsbase.h: Make teeny logsize big
1426	* rcsgen.c: Added clearerr(stdin) for re-reading description from stdin.
1427
1428Thu May 12 13:10:30 1983  Walter F. Tichy  <wft@purdue>
1429
1430	* rcsedit.c:
1431	Added new markers Id and RCSfile; added locker to Header and Id.
1432	Overhauled expandline completely()
1433	(problem with $01234567890123456789@).
1434	Moved trymatch() and marker table to rcskeys.c.
1435	Log no longer expands full path of RCS file.
1436
1437Wed May 11 14:24:13 1983  Walter F. Tichy  <wft@purdue>
1438
1439	* rlog.c: Added -b, updated getnumericrev() accordingly.
1440	Replaced getpwuid() with getcaller().
1441	Added options -L and -R; Fixed selection bug with -l on multiple files.
1442	Fixed error on dates of the form -d'>date' (rewrote getdatepair()).
1443
1444	* rcsedit.c: Fixed truncation problem for $19chars followed by@@.
1445	Added retry to expandline to resume after failed match which ended in $.
1446
1447	* rcsfnms.c: Added initialization of Dbranch to InitAdmin().
1448	Changed pairfilenames():
1449	1. added copying of path from workfile to RCS file, if RCS file omitted;
1450	2. added getting the file status of RCS and working files;
1451	3. added ignoring of directories.
1452	Added comtable[] which pairs filename suffixes with comment leaders;
1453	updated InitAdmin() accordingly.
1454
1455Tue May 10 17:03:06 1983  Walter F. Tichy  <wft@purdue>
1456
1457	* ci.c: Added option -d and -w, and updated assignment of date, etc.
1458	to new delta.
1459	Option -k generates std. log message;
1460	fixed undef. pointer in reading of log.
1461	Replaced getlock() with findlock(),
1462	getpwuid() with getcaller().
1463	Moved all revision number generation to new routine addelta().
1464	Removed calls to stat(); now done by pairfilenames().
1465	Directed all interactive messages to stderr.
1466	* ci.c, co.c: Added handling of default branches.
1467	Replaced getpwuid() with getcaller().
1468	Replaced unlink()--link() with rename()
1469	* ci.c, co.c, rcs.c:
1470	Removed calls to stat(); now done by pairfilenames().
1471	Changed most calls to catchints() with restoreints().
1472
1473	* co.c: Added option -u and -f.
1474	Changed and renamed rmoldfile() to rmworkfile().
1475
1476	* rcs.c:
1477	Simplified breaklock(); added calls to findlock() and getcaller().
1478	Added option -b (default branch). Updated -s and -w for -b.
1479	Removed check for exit status of delivermail().
1480	Directed all interactive output to stderr.
1481
1482	* ident.c: Added option -q and input from reading stdin.
1483	Marker matching is now done with trymatch() (independent of keywords).
1484
1485	* rcsfcmp.c: Marker matching now uses trymatch().
1486	Marker pattern is now checked precisely.
1487
1488	* rcsgen.c: Changed putamin() to abort if trying to reread redirected
1489	stdin.  Fixed getdesc() to output a prompt on initial newline.
1490
1491	* rcskeep.c: Added new markers Id and RCSfile; extraction added.
1492	Marker matching with trymatch().
1493
1494	* rcsutil.c: Added getcaller() and findlock().
1495	Changed catchints() to check SIGINT for SIG_IGN before setting up
1496	the signal (needed for background jobs in older shells).
1497	Added restoreints().
1498	Removed printing of full RCS path from logcommand().
1499
1500Wed May  4 09:12:41 1983  Walter F. Tichy  <wft@purdue>
1501
1502	* rcsbase.h: Added markers Id and RCSfile.
1503	Added Dbranch for default branches.
1504
1505	* rcskeys.c: Initial revision
1506
1507Tue May  3 22:13:19 1983  Walter F. Tichy  <wft@purdue>
1508
1509	* rcsdiff.c: Added default branch, option -q, exit status like diff.
1510	Added fterror() to replace faterror().
1511
1512Tue Apr  5 14:47:36 1983  Walter F. Tichy  <wft@purdue>
1513
1514	* rcsfnms.c: fixed Suffix in InitAdmin().
1515
1516Mon Mar 28 11:14:57 1983  Walter F. Tichy  <wft@purdue>
1517
1518	* rcsmerge.c, rcssyn.c: Added handling of default branch.
1519
1520Fri Mar 25 18:12:51 1983  Walter F. Tichy  <wft@purdue>
1521
1522	* rcslex.c, rcsrev.c: Only changed Header to Id.
1523
1524Fri Feb 18 17:37:49 1983  Walter F. Tichy  <wft@purdue>
1525
1526	* ident.c: removed printing of new line after last file.
1527
1528Tue Feb 15 15:41:49 1983  Walter F. Tichy  <wft@purdue>
1529
1530	* ci.c, co.c, rcs.c, rcsutil.c: Added call to fastcopy()
1531	to copy remainder of RCS file in blocks.
1532
1533Tue Jan 18 18:04:25 1983  Walter F. Tichy  <wft@purdue>
1534
1535	* rcs.c: Changed sendmail(): now uses delivermail,
1536	and asks whether to break the lock.
1537
1538Mon Jan 17 18:01:04 1983  Walter F. Tichy  <wft@purdue>
1539
1540	* rcsfnms.c: Added getwd() and rename(); these can be removed by
1541	defining V4_2BSD, since they are not needed in 4.2 bsd.
1542	Changed sys/param.h to sys/types.h.
1543
1544Sat Jan 15 17:46:50 1983  Walter F. Tichy  <wft@purdue>
1545
1546	* rcs.c: Removed putree(); replaced with puttree() in rcssyn.c.
1547	Combined putdellog() and scanlogtext(); deleted putdellog().
1548	Cleaned up diagnostics and error messages.  Fixed problem with
1549	mutilated files in case of deletions in 2 files in a single command.
1550	Changed marking of selector from 'D' to DELETE.
1551
1552	* rcsdiff.c: Expanded mainprogram to handle multiple RCS files.
1553
1554	* rcsbase.h: Replaced dbm.h with BYTESIZ, fixed definition of rindex().
1555	Added variants of NCPFN and NCPPN for bsd 4.2,
1556	selected by defining V4_2BSD.  Added macro DELNUMFORM
1557	to have uniform format for printing delta text nodes.
1558	Added macro DELETE to mark deleted deltas.
1559
1560	* rcssyn.c: Changed readdelta() to initialize selector and log-pointer.
1561	Changed puttree to check for selector==DELETE;
1562	putdtext() uses DELNUMFORM.
1563
1564Fri Jan 14 15:37:31 1983  Walter F. Tichy  <wft@purdue>
1565
1566	* ci.c, co.c, rcs.c:
1567	Added ignoring of interrupts while new RCS file is renamed;
1568	Avoids deletion of RCS files by interrupts.
1569
1570Thu Jan  6 09:33:45 1983  Walter F. Tichy  <wft@purdue>
1571
1572	* rcsdiff.c: Fixed passing of -c (context) option to diff.
1573
1574Fri Dec 24 15:29:00 1982  Walter F. Tichy  <wft@purdue>
1575
1576	* rcsdiff.c, rcsmerge.c: Added call to catchsig().
1577	* rlog.c: shortened output format.
1578	* rcskeep.c: added missing #endif.
1579	* rcsutil.c: added catchints(), ignoreints() for catching and ignoring
1580	interrupts; fixed catchsig().
1581
1582Fri Dec 10 16:22:37 1982  Walter F. Tichy  <wft@purdue>
1583
1584	* ci.c, rcs.c, rcsdiff.c: Corrected checking of return code from diff.
1585	* rcs.c: Removed unused variables,
1586	introduced variant COMPAT2 for skipping Suffix on -A files.
1587	* rcsdiff.c, rcslex.c: Improved error messages.
1588	* rcsmerge.c: Replaced getdelta() with gettree().
1589	* rcsbase.h: Added two forms of DATEFORM, one using %02d,
1590	the other %.2d.
1591	* rcslex.c: Changed exit status on error to 1.
1592
1593Wed Dec  8 21:34:49 1982  Walter F. Tichy  <wft@purdue>
1594
1595	* ci.c: Fixed return from addbranch().
1596	* ci.c, co.c, rcsutil.c, rlog.c: Using DATEFORM to format dates.
1597
1598	* co.c: removed actual from call to preparejoin;
1599	re-fixed printing of done at the end.
1600
1601	* rcs.c: Replaced getdelta() with gettree(),
1602	changed breaklock to update field lockedby, added some diagnostics.
1603
1604	* rlog.c: removed call to checkaccesslist().
1605	* rlog.c, rcsfnms.c: removed unused variable.
1606
1607	* rcssyn.c: renamed Commentleader to Commleader.
1608
1609Sat Dec  4 13:24:08 1982  Walter F. Tichy  <wft@purdue>
1610
1611	* ci.c: Updated field lockedby in removelock(),
1612	moved getlogmsg() before calling diff.
1613	* ci.c, co.c, rcsutil.c: Replaced SNOOPDIR with SNOOPFILE.
1614	* ci.c, co.c, rcsdiff.c, rcsrev.c, rlog.c:
1615	Replaced getdelta() with gettree().
1616	* co.c: Fixed printing of "done".
1617	* rcsdiff.c: Changed diagnostics.
1618	* ident.c, rcsbase.h: Added LOCKER.
1619	* rlog.c: Removed updating of field lockedby.
1620	* rcsbase.h: Locker, and USG (redefinition of rindex).
1621	* rcsedit.c: Added expansion of keyword Locker.
1622	* rcsfcmp.c, rcskeep.c: Initial revision
1623	* rcsrev.c: Replaced getdelta() with gettree().
1624	* rcssyn.c: Added routine gettree(),
1625	which updates keeplock after reading the delta tree.
1626	* rcsutil.c: changed addlock() to update lockedby-field.
1627
1628Fri Dec  3 17:08:04 1982  Walter F. Tichy  <wft@purdue>
1629
1630	* rcs.c:
1631	Replaced getlogin() with getpwuid(), fclose() with ffclose(),
1632	/usr/ucb/Mail with macro MAIL. Removed handling of Suffix (-x).
1633	fixed -u for missing revno.
1634	* rcs.c, rlog.c: Disambiguated structure members.
1635
1636	* rlog.c:  Replaced getlogin with getpwuid(), %02d with %.2d,
1637	fancydate with PRINTDATE.  Fixed printing of nil, removed
1638	printing of Suffix, added shortcut if no revisions are printed.
1639
1640	* rcsbase.h:
1641	Added dbm.h, stdio.h, RCSBASE, RCSSEP, RCSSUF, WORKMODE, TMPFILE3,
1642	PRINTDATE, PRINTTIME, map, and ctab; removed Suffix.
1643	Redefined keyvallength using NCPPN.
1644	Changed putc() to abort on write error.
1645
1646	* rcsedit.c:  Added line number correction in case editing does
1647	not start at the beginning of the file.  Changed keyword
1648	expansion to always print a space before closing KDELIM;
1649	Expansion for Header shortened.
1650
1651	* rcsutil.c: Added check to addlock() ensuring only one lock per person.
1652	Addlock also returns a pointer to the lock created.
1653	Deleted fancydate().
1654
1655Thu Dec  2 13:27:13 1982  Walter F. Tichy  <wft@purdue>
1656
1657	* ci.c: Added option -k.
1658
1659Sun Nov 28 19:45:37 1982  Walter F. Tichy  <wft@purdue>
1660
1661	* ci.c: Added mustcheckin() to check for redundant checkins.
1662	Added xpandfile() to do keyword expansion for -u and -l;
1663	-m appends linefeed to log message if necessary.
1664	getlogmsg() suppresses prompt if stdin is not a terminal.
1665	Replaced keeplock with lockflag.
1666	* ci.c, co.c:
1667	Replaced fclose() with ffclose(),
1668	%02d with %.2d, getlogin() with getpwuid().
1669
1670	* co.c: Replaced mode generation for working file with WORKMODE.
1671	Fixed nil printing. Fixed -j combined with -l and -p, and exit
1672	or non-existing revisions in preparejoin().
1673
1674	* ident.c: removed Suffix;
1675	added ungetc to avoid skipping over trailing KDELIM.
1676
1677	* merge.sh: 4.3BSD revision
1678
1679	* rcsmerge.c: Initial revision
1680
1681	* rcsfnms.c: Changed mktempfile() to store the generated filenames.
1682	Changed getfullRCSname() to store the file and pathname,
1683	and to delete leading "../" and "./".
1684
1685	* rcsgen.c: Replaced ferror() followed by fclose() with ffclose().
1686	Putdesc() now suppresses the prompts if stdin is not a terminal.
1687	A pointer to the current log message is now inserted into the
1688	corresponding delta, rather than leaving it in a global variable.
1689
1690	* rcslex.c: Renamed ctab to map and included EOFILE;
1691	ctab is now a macro in rcsbase.h.
1692	Added fflsbuf(), fputs(), and fprintf(), which abort the RCS operations
1693	properly in case there is an IO-error (e.g., file system full).
1694
1695	* rcsrev.c: fixed compartial() and compnum() for nil-parameters;
1696	fixed nils in error messages. Testprogram output shortened.
1697
1698	* rcssyn.c: Reading and printing of Suffix removed;
1699	version COMPAT2 skips the Suffix for files of release 2 format.
1700	Fixed problems with printing nil.
1701
1702Sat Nov 27 12:24:37 1982  Walter F. Tichy  <wft@purdue>
1703
1704	* rcsutil.c:  moved rmsema(), trysema(), trydiraccess(),
1705	getfullRCSname() to rcsfnms.c.  Introduced macro SNOOP so that snoop
1706	can be placed in directory other than TARGETDIR.
1707	Changed %02d to %.2d for compatibility reasons.
1708
1709Sun Nov 14 14:49:30 1982  Walter F. Tichy  <wft@purdue>
1710
1711	* rcsedit.c:
1712	removed Suffix from keyword expansion. Replaced fclose with ffclose.
1713	keyreplace() gets log message from delta, not from curlogmsg.
1714	fixed expression overflow in while(c=putc(GETC....
1715	checked nil printing.
1716
1717Fri Nov 12 14:29:40 1982  Walter F. Tichy  <wft@purdue>
1718
1719	* rcsfnms.c: changed pairfilenames() to handle file.sfx,v;
1720	also deleted checkpathnosfx(),
1721	checksuffix(), checkfullpath(). Semaphore name generation updated.
1722	mktempfile() now checks for nil path; freefilename initialized properly.
1723	Added Suffix .h to InitAdmin. Added testprogram PAIRTEST.
1724	Moved rmsema, trysema, trydiraccess, getfullRCSname
1725	rom rcsutil.c to here.
1726
1727Mon Oct 18 20:57:23 1982  Walter F. Tichy  <wft@purdue>
1728
1729	* ci.c:
1730	Fixed ci -l, added ci -u (both do an implicit co after the ci).
1731	Changed conflicting identifiers.
1732	* ci.c, co.c, rcs.c: Fixed call to getlogin(), added call to
1733	getfullRCSname().
1734	* ci.c, co.c, rcs.c: An RCS file inherits its mode during the first ci
1735	or rcs -i from the working file, otherwise it stays the same,
1736	except that write permission is removed.
1737	* ci.c, co.c, rcs.c, rcsedit.c, rcsgen.c: Added check for write error.
1738
1739	* co.c: The working file inherits its mode from the RCS file, plus
1740	write permission for the owner.  The write permission is not given if
1741	locking is strict and co does not lock.  An existing working file
1742	without write permission is deleted automatically.  Otherwise, co asks
1743	(empty answer: abort co).
1744
1745	* rcs.c: I replaced curdir() with getfullRCSname(),
1746	cleaned up handling -U/L, and changed conflicting, long identifiers.
1747
1748	* rcsdiff.c: Initial revision
1749
1750	* rlog.c: call to curdir replaced with getfullRCSname(),
1751	fixed call to getlogin(), cosmetic changes on output,
1752	changed conflicting long identifiers.
1753
1754	* rcsbase.h: added macro STRICT_LOCKING, removed RCSUMASK.
1755	renamed JOINFILE[1,2] to JOINFIL[1,2].
1756
1757	* rcsedit.c: Renamed expandstring() to xpandstring().
1758
1759	* rcsfnms.c: InitAdmin() now initializes StrictLocks=STRICT_LOCKING
1760	(def. in rcsbase.h).  renamed checkpath() to checkfullpath().
1761
1762	* rcsgen.c: improved the prompt on putdesc().
1763
1764	* rcsrev.c: renamed compnum->cmpnum, compnumfld->cmpnumfld,
1765	numericrevno->numricrevno.
1766
1767	* rcssyn.c: renamed putdeltatext to putdtext.
1768
1769	* rcsutil.c: added function getfullRCSname().
1770
1771Wed Oct 13 16:04:59 1982  Walter F. Tichy  <wft@purdue>
1772
1773	* ci.c: added include file dbm.h for getting BYTESIZ.
1774	This is used to check the return code from diff portably.
1775	* ci.c, co.c, ident.c, rcs.c, rcsedit.c, rcsgen.c, rlog.c:
1776	fixed type of variables receiving from getc() (char -> int).
1777
1778	* co.c: removed unused variables.
1779
1780	* rcsedit.c: made keyword expansion loop in expandline()
1781	portable to machines without sign-extension.
1782
1783	* rcsutil.c: Cleanup message is now suppressed in quiet mode.
1784
1785Mon Oct 11 19:41:17 1982  Walter F. Tichy  <wft@purdue>
1786
1787	* rcsbase.h: removed NBPW, NBPC, NCPW.
1788	added typdef int void to aid compiling
1789
1790	* rcslex.c: removed unused label out:;
1791	* rcslex.c, rcssyn.c:
1792	made sure all calls to getc() return into an integer, not a char.
1793
1794	* rcsrev.c: changed expandsym() to check for source==nil;
1795	returns zero length string in that case.
1796
1797Thu May  6 11:38:00 1982  Walter F. Tichy  <wft@purdue>
1798
1799	* maketime.c, partime.c: Initial revision
1800