Subject: Re: bug#8924: 23.3; Editing is rather difficult using vc with RCS backend

From: Eli Zaretskii <[email-masked]>
Date: Fri, 24 Jun 2011 12:14:33 +0300

> From: Richard Stanton <[email-masked]>
> Date: Thu, 23 Jun 2011 14:20:43 -0700
> 
> I regularly use vc to keep track of versions of my edited files,
> primarily using CVS, but less often using RCS, mainly where there's
> just a single file I want to track edits to, and it's more convenient to
> keep the repository with the file.
> 
> This all used to work fine (though I can't exactly recall what version
> of EMACS was the last under which all worked fine). However, while
> vc+CVS still works fine, vc+RCS acts in some rather strange ways that
> make using it inconvenient or even risky.

Did you also change the RCS port you are using, since the last time
this worked for you?  If so, where did you get your port of RCS?  Was
that last time also on Windows Vista, or on some other OS?

> b. Now edit the file by adding a comment somewhere, say, after line 1,

Wait a moment: isn't the buffer read-only after the initial
registration and check-in?  It should be; it is for me (using RCS with
Emacs 23.3 on Windows XP).  If so, you cannot just add a comment; you
need to check-out the file first, by typing "C-x v v" again.  This
checks out the file making it writable, and then I can edit it.

> % Here's a comment
> 
> Save the file and then type C-x v v. This time, I get an error buffer
> telling me
> 
> RCS/test.tex,v  -->  test.tex
> revision 1.1 (locked)
> co: writable test.tex exists; checkout aborted
> 
> and again cannot check in the new file.

It works for me: I get a buffer where I need to type a checkin
comment, and when I type C-c, RCS checks the file in for me, and I see
"RCS-1.2" in the mode line.  As I'd expect.

> 2) The initial $Id$ line seems important here. If I do the same thing
> again, but do *not* include the initial % $Id$ line in the file,
> different things happen. 

It's possible that the problem is with your username as RCS and Emacs
perceive it.  Do you have USER or LOGNAME variables set in your
environment?  If not, does it help to set one of them with the value
returned by `user-login-name' function inside Emacs?