Subject: AW: bug#58192: 28.2; RCS integration issue

From: "Meyer, Thomas" <[email-masked]>
Date: Fri, 30 Sep 2022 14:45:34 +0200 (CEST)

Eli,

thanks, using the rcs port from https://sourceforge.net/projects/ezwinports/,
I cannot reproduce the issue!

The issue must then lie within Cygwin, or within the coupling of both
through the wrapper script, this will require some deeper digging at
our side I guess.

Do you believe that it will be sufficient to work with RCS version
5.7.1 from 2006?

Cygwin says

  rcs --version
  rcs (GNU RCS) 5.10.1
  Copyright (C) 2010-2022 Thien-Thi Nguyen
  Copyright (C) 1990-1995 Paul Eggert
  Copyright (C) 1982,1988,1989 Walter F. Tichy, Purdue CS
  ...

My hope was that recent versions of RCS might be capable of handling
the UCS-2 LE BOM (UTF-16) format used by windows registry files, but I
did not check yet.

Thanks again, Thomas

> -----Ursprüngliche Nachricht-----
> Von: Eli Zaretskii <[email-masked]>
> Gesendet: Freitag, 30. September 2022 14:24
> An: Meyer, Thomas <[email-masked]>
> Cc: [email-masked]
> Betreff: Re: bug#58192: 28.2; RCS integration issue
>
> [Please use Reply All to keep the bug tracker on the CC list.]
>
> > Date: Fri, 30 Sep 2022 13:56:06 +0200 (CEST)
> > From: "Meyer, Thomas" <[email-masked]>
> >
> > Eli,
> >
> > yes, I missed some information, the word "bla" was typed in as
> > comment/summary for the commit.
> >
> > Here the full details of my actions:
> >
> > To reproduce:
> >
> > find new file in new directory
> > C-x v v (vc-next-action)
> > Registration will work fine (Registering
> > (c:/Users/meyert/Documents/RCS-test/a.txt)... done) change file
> > (inserted a new line) save file C-x v v (vc-next-action) -> first
> > error: a checkout is done, erasing the changes
>
> This is not an error: with RCS you must check-out the file before you can
> modify it, because RCS is a locking VCS.  Don't you see the buffer
> displayed as read-only (with "%%" in the mode line) before you check-out
> the file?
>
> > change file again (inserted a new line) save file C-x v v
> > (vc-next-action) Buffer *vc-log* prompts for a summary Enter "Bla" as
> > summary C-c C-c (log-edit-done) check-in fails:
> >
> > Buffer *vc* displays the following content:
> >
> > c:\Users\meyert\Documents\RCS-test>c:\cygwin64\bin\rcs.exe ci -j -u1
> > "-mSummary: Bla
> > ci: no input file
> > ci aborted
> >
> > Buffer *Messages* reports
> >
> > Checking in c:/Users/meyert/Documents/RCS-test/a.txt...
> > progn: Failed (status 1): ci -j -u1 -mSummary: Bla  RCS/a.txt,v
> >
> > interstingly, the buried buffer *vc-log* display a line break after the
> "Bla", that I never entered!
>
> That is the problem: you need to find out how that happened.  Windows
> shell doesn't support newlines embedded in command lines.
>
> It doesn't happen in my case, FWIW.
>
> >    d=`echo "$0" | sed 's|[^/]*$||'`
> >    exec "$d"rcs ci "$@"
> >
> >    # ci ends here
> >
> > These wrappers are available only in the Cygwin shell, so we need
> > Windows wrappers, e.g.
> >
> > ci.cmd
> >
> >    c:\cygwin64\bin\bash -c '/bin/%~n0 %*'
>
> It's possible that the newline gets added as result of these multiple
> indirections.  Or maybe something else is at work here: with my setup,
> which uses just ci.exe, I cannot reproduce the problem.  Perhaps stepping
> with Edebug through vc-rcs-checking would reveal something?
> Do you see the variable 'comment' there having the newline?
>
> > If you know better ways of coupling Emacs on Windows with Cygwin,
> > please let me know.
> >
> > Other free ports of RCS on windows are older than dirt, I fear.
>
> Well, I'm a happy long-time user of RCS 5.7.1 ;-)
>
> > I might add that the same emacs install has no problems when
> > performing git integration.
> >
> > Kind regards, Thomas