few@gupta.portal.com (Frank Whaley) (03/15/91)
I've just finished porting RCS v5.5 to MS-DOS and OS/2, and I'm planning on sending binaries and manpages to the moderator of comp.sys.ibm.pc.binaries. I'll also send a source package that includes both new and original source, along with makefiles for Turbo C 2.0 and Microsoft C 5.1 and 6.0. This port also includes GNU diff v1.15 (required by this version of RCS). I've seen a few different methods of handling the RCS-file naming problem. Appending ",v" doesn't work for FAT filesystems, and we live with the 8+3 filename limitation. I want to describe the mechanism I chose, and why, so anyone with a *vastly* superior system can get back to me quickly before I mail off the files. I chose the backquote character (`) as RCSSEP because it is a legal filename character and unlikely to conflict with extensions used by common programming languages. Appending a single character instead of two means that filenames with 0, 1 or 2 character extensions cna be handled by simply appending the backquote. The naming rules are: filename -> filename.` filename.? -> filename.?` filename.?? -> filename.??` file.??? -> file`.??? filename.??? -> filenam`.??? (warning issued) Note that this scheme does not interfere with checking in or out full filenames, that is co somefile.asm will cause somefile.asm to be deposited in the current directory. However, co /some/other/place/RCS/somefil`.asm will leave somefil.asm in the current directory. This is vulgar, but is actually the lesser of many evils. Anyone suggesting that RCS files can be kept with their original names and forced into the .\RCS directory should download the source and examine the consequences :-) The following extensions are recognized, with the given default comment leader. "ada", "-- ", /* Ada */ "asm", ";; ", /* ASM */ "bat", ":: ", /* BAT */ "c", " * ", /* C */ "cpp", "// ", /* C++ */ "cmd", ":: ", /* CMD */ "def", ";; ", /* Windows */ "dlg", " * ", /* Windows */ "for", "c ", /* Fortran */ "h", " * ", /* C-header */ "inc", ";; ", /* ASM include */ "l", " * ", /* lex */ "lsp", ";; ", /* LISP */ "mac", ";; ", /* ASM macro */ "p", " * ", /* Prototype */ "pas", " * ", /* Pascal */ "pl", "% ", /* Prolog */ "rc", " * ", /* Windows */ "tex", "% ", /* TeX */ "y", " * ", /* yacc */ -- Frank Whaley Software Engineer Gupta Technologies few@gupta.com