Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!bloom-beacon!athena.mit.edu!jik From: jik@athena.mit.edu (Jonathan I. Kamens) Newsgroups: comp.unix.questions Subject: Re: RCS problem Message-ID: <1990Jan15.043956.21644@athena.mit.edu> Date: 15 Jan 90 04:39:56 GMT References: <1000@whizz.uucp> Sender: news@athena.mit.edu (News system) Reply-To: jik@athena.mit.edu (Jonathan I. Kamens) Distribution: na Organization: Massachusetts Institute of Technology Lines: 82 In article <1000@whizz.uucp>, bbh@whizz.uucp (Bud Hovell) asks why log comments are not preceded by "# " when he checks in the file Pnews.header and then checks it out again. From the man page for rcs(1): -cstring sets the comment leader to string. The comment leader is printed before every log message line generated by the keyword $Log$ during checkout (see co). This is useful for programming languages without multi-line comments. During rcs ^^^^^^^^^^ -i or initial ci, the comment leader is guessed ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ from the suffix of the working file. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ It pretty much sucks that the man page does not elaborate on how the "guessing" is done. The file rcsfnms.c in the sources contains the following table: struct compair comtable[] = { /* comtable pairs each filename suffix with a comment leader. The comment */ /* leader is placed before each line generated by the $Log keyword. This */ /* table is used to guess the proper comment leader from the working file's */ /* suffix during initial ci (see InitAdmin()). Comment leaders are needed */ /* for languages without multiline comments; for others they are optional. */ "c", " * ", /* C */ "csh", "# ", /* shell */ "e", "# ", /* efl */ "f", "c ", /* fortran */ "h", " * ", /* C-header */ "l", " * ", /* lex NOTE: conflict between lex and franzlisp*/ "mac", "; ", /* macro vms or dec-20 or pdp-11 macro */ "me", "\\\" ", /* me-macros t/nroff*/ "mm", "\\\" ", /* mm-macros t/nroff*/ "ms", "\\\" ", /* ms-macros t/nroff*/ "p", " * ", /* pascal */ "r", "# ", /* ratfor */ "red", "% ", /* psl/rlisp */ #ifdef sparc "s", "! ", /* assembler */ #endif #ifdef mc68000 "s", "| ", /* assembler */ #endif #ifdef pdp11 "s", "/ ", /* assembler */ #endif #ifdef vax "s", "# ", /* assembler */ #endif "sh", "# ", /* shell */ "sl", "% ", /* psl */ "red", "% ", /* psl/rlisp */ "cl", ";;; ", /* common lisp */ "ml", "; ", /* mocklisp */ "el", "; ", /* gnulisp */ "tex", "% ", /* tex */ "y", " * ", /* yacc */ "ye", " * ", /* yacc-efl */ "yr", " * ", /* yacc-ratfor */ "", "# ", /* default for empty suffix */ nil, "" /* default for unknown suffix; must always be last */ }; What you need to do is first check in the file, then use the -c option of the rcs command to change the comment leader, then check it out, and you should be OK. The other thing you can do is create an empty rcs file with the correct comment leader using "rcs -i -c'# ' Pnews.header", then actually check in the first revision of the file. Jonathan Kamens USnail: MIT Project Athena 11 Ashford Terrace jik@Athena.MIT.EDU Allston, MA 02134 Office: 617-253-8495 Home: 617-782-0710