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