GNU bug report logs - #19548
VC changes under-documented, needlessly incompatible

Previous Next

Package: emacs;

Reported by: Glenn Morris <rgm <at> gnu.org>

Date: Fri, 9 Jan 2015 17:42:02 UTC

Owned by: Dmitry Gutov <dgutov <at> yandex.ru>

Severity: normal

Tags: wontfix

Found in version 25.0.50

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 19548 in the body.
You can then email your comments to 19548 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#19548; Package emacs. (Fri, 09 Jan 2015 17:42:02 GMT) Full text and rfc822 format available.

Message #3 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: submit <at> debbugs.gnu.org
Subject: VC changes under-documented, needlessly incompatible
Date: Fri, 09 Jan 2015 12:41:16 -0500
Package: emacs
Version: 25.0.50

There have been extensive changes to VC in master, but there is zero
mention of any of it in NEWS. Normally one lists every changed
user-option and non-internal function.

Also, the changes are more incompatible than they need to be.
For example, in Emacs 24.4 there is a user option vc-cvs-stay-local.
In master, it was deleted in favour of vc-stay-local.
Use of define-obsolete-variable-alias would ease the transition.
Probably there are other such cases, as well as cases where setting
advertised-calling-convention rather than simply deleting function
arguments would help.




Added indication that bug 19548 blocks19759 Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 03 Feb 2015 21:24:02 GMT) Full text and rfc822 format available.

Owner recorded as Michael Albinus <michael.albinus <at> gmx.de>. Request was from Michael Albinus <michael.albinus <at> gmx.de> to control <at> debbugs.gnu.org. (Sun, 08 Nov 2015 11:55:02 GMT) Full text and rfc822 format available.

Owner changed from Michael Albinus <michael.albinus <at> gmx.de> to Dmitry Gutov <dgutov <at> yandex.ru>. Request was from Michael Albinus <michael.albinus <at> gmx.de> to control <at> debbugs.gnu.org. (Sun, 08 Nov 2015 12:27:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#19548; Package emacs. (Sun, 08 May 2016 23:43:02 GMT) Full text and rfc822 format available.

Message #12 received at 19548 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Glenn Morris <rgm <at> gnu.org>, 19548 <at> debbugs.gnu.org
Cc: "Eric S. Raymond" <esr <at> thyrsus.com>
Subject: Re: bug#19548: VC changes under-documented, needlessly incompatible
Date: Mon, 9 May 2016 02:42:09 +0300
On 01/09/2015 07:41 PM, Glenn Morris wrote:

Sorry about saying it this late, but:

> Also, the changes are more incompatible than they need to be.
> For example, in Emacs 24.4 there is a user option vc-cvs-stay-local.
> In master, it was deleted in favour of vc-stay-local.

Looking at the commit that made this (185320a5), I see no reason for 
there to be vc-stay-local. Quite the opposite, the commit message says:

"The CVS back end retaiin this machibery and the vc-stay-local 
configuration variable now only affects it."

Why don't we remove vc-stay-local instead, and keep the appropriately 
named vc-cvs-stay-local?

Do we expect vc-stay-local to have been a lot more popular to customize? 
Then indeed it can become an alias.

> Probably there are other such cases, as well as cases where setting
> advertised-calling-convention rather than simply deleting function
> arguments would help.

If you could point out the specific ones, that would be helpful.




Information forwarded to bug-gnu-emacs <at> gnu.org, Dmitry Gutov <dgutov <at> yandex.ru>:
bug#19548; Package emacs. (Fri, 13 May 2016 21:06:02 GMT) Full text and rfc822 format available.

Message #15 received at 19548 <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: 19548 <at> debbugs.gnu.org
Subject: Re: bug#19548: VC changes under-documented, needlessly incompatible
Date: Fri, 13 May 2016 17:05:26 -0400
Dmitry Gutov wrote:

>> Probably there are other such cases, as well as cases where setting
>> advertised-calling-convention rather than simply deleting function
>> arguments would help.
>
> If you could point out the specific ones, that would be helpful.

I can't be bothered to check. If no-one else can either, then obv.
there's no point keeping this report open - feel free to close it.




Information forwarded to bug-gnu-emacs <at> gnu.org, Dmitry Gutov <dgutov <at> yandex.ru>:
bug#19548; Package emacs. (Sat, 14 May 2016 07:42:02 GMT) Full text and rfc822 format available.

Message #18 received at 19548 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 19548 <at> debbugs.gnu.org
Subject: Re: bug#19548: VC changes under-documented, needlessly incompatible
Date: Sat, 14 May 2016 10:41:04 +0300
> From: Glenn Morris <rgm <at> gnu.org>
> Date: Fri, 13 May 2016 17:05:26 -0400
> 
> Dmitry Gutov wrote:
> 
> >> Probably there are other such cases, as well as cases where setting
> >> advertised-calling-convention rather than simply deleting function
> >> arguments would help.
> >
> > If you could point out the specific ones, that would be helpful.
> 
> I can't be bothered to check. If no-one else can either, then obv.
> there's no point keeping this report open - feel free to close it.

Can you list the issues that prompted you to give the bug report its
subject line?  I'm sure you bumped into more than one of them.  In
addition to the few mentioned explicitly in the OP, are there any
others?

Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#19548; Package emacs. (Sun, 15 May 2016 23:38:02 GMT) Full text and rfc822 format available.

Message #21 received at 19548 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Glenn Morris <rgm <at> gnu.org>, 19548 <at> debbugs.gnu.org
Cc: "Eric S. Raymond" <esr <at> thyrsus.com>
Subject: Re: bug#19548: VC changes under-documented, needlessly incompatible
Date: Mon, 16 May 2016 02:37:33 +0300
On 05/09/2016 02:42 AM, Dmitry Gutov wrote:

> Why don't we remove vc-stay-local instead, and keep the appropriately
> named vc-cvs-stay-local?
>
> Do we expect vc-stay-local to have been a lot more popular to customize?
> Then indeed it can become an alias.

On the other hand, vc-cvs-stay-local-p contains this bit of code:

(let* ((sym (vc-make-backend-sym 'CVS 'stay-local))
       (stay-local (if (boundp sym) (symbol-value sym) vc-stay-local)))

which seems like it will ensure that if the user has customized both 
vc-stay-local and vc-cvs-stay-local, the latter will win out (which 
won't necessarily happen if we just declare the former to be an obsolete 
alias of the latter).

So it seems we're actually buying some extra compatibility here at the 
cost of some complexity. Do we care about the above detail?

If yes, vc-stay-local should remain as it is now. If not, I'll gladly 
rename it back to vc-cvs-stay-local, and create an obsolete alias.




Removed indication that bug 19548 blocks Request was from Eli Zaretskii <eliz <at> gnu.org> to control <at> debbugs.gnu.org. (Sun, 22 May 2016 16:36:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org, Dmitry Gutov <dgutov <at> yandex.ru>:
bug#19548; Package emacs. (Mon, 23 May 2016 17:38:02 GMT) Full text and rfc822 format available.

Message #26 received at 19548 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Dmitry Gutov <dgutov <at> yandex.ru>
Cc: 19548 <at> debbugs.gnu.org, rgm <at> gnu.org, esr <at> thyrsus.com
Subject: Re: bug#19548: VC changes under-documented, needlessly incompatible
Date: Mon, 23 May 2016 20:36:41 +0300
> From: Dmitry Gutov <dgutov <at> yandex.ru>
> Date: Mon, 9 May 2016 02:42:09 +0300
> Cc: "Eric S. Raymond" <esr <at> thyrsus.com>
> 
> Looking at the commit that made this (185320a5), I see no reason for 
> there to be vc-stay-local. Quite the opposite, the commit message says:
> 
> "The CVS back end retaiin this machibery and the vc-stay-local 
> configuration variable now only affects it."
> 
> Why don't we remove vc-stay-local instead, and keep the appropriately 
> named vc-cvs-stay-local?

Will that also fix the typos in the log message? ;-)

Anyway, I tend to agree to go back to vc-cvs-stay-local.




Information forwarded to bug-gnu-emacs <at> gnu.org, Dmitry Gutov <dgutov <at> yandex.ru>:
bug#19548; Package emacs. (Mon, 23 May 2016 17:39:01 GMT) Full text and rfc822 format available.

Message #29 received at 19548 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Dmitry Gutov <dgutov <at> yandex.ru>
Cc: 19548 <at> debbugs.gnu.org, rgm <at> gnu.org, esr <at> thyrsus.com
Subject: Re: bug#19548: VC changes under-documented, needlessly incompatible
Date: Mon, 23 May 2016 20:37:55 +0300
> From: Dmitry Gutov <dgutov <at> yandex.ru>
> Date: Mon, 16 May 2016 02:37:33 +0300
> Cc: "Eric S. Raymond" <esr <at> thyrsus.com>
> 
> On the other hand, vc-cvs-stay-local-p contains this bit of code:
> 
> (let* ((sym (vc-make-backend-sym 'CVS 'stay-local))
>         (stay-local (if (boundp sym) (symbol-value sym) vc-stay-local)))
> 
> which seems like it will ensure that if the user has customized both 
> vc-stay-local and vc-cvs-stay-local, the latter will win out (which 
> won't necessarily happen if we just declare the former to be an obsolete 
> alias of the latter).
> 
> So it seems we're actually buying some extra compatibility here at the 
> cost of some complexity. Do we care about the above detail?

I'm not sure I see the gain, given that (AFAIU) CVS is the only
back-end for which this option is relevant.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#19548; Package emacs. (Mon, 23 May 2016 22:50:02 GMT) Full text and rfc822 format available.

Message #32 received at 19548 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 19548 <at> debbugs.gnu.org, rgm <at> gnu.org, esr <at> thyrsus.com
Subject: Re: bug#19548: VC changes under-documented, needlessly incompatible
Date: Tue, 24 May 2016 01:49:40 +0300
On 05/23/2016 08:36 PM, Eli Zaretskii wrote:

> Will that also fix the typos in the log message? ;-)

I'm sure the next version of Reposurgeon will do that, as well as hunt 
down and correct all the respective messages in the mailing list archives.

> Anyway, I tend to agree to go back to vc-cvs-stay-local.

Cool.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#19548; Package emacs. (Mon, 23 May 2016 23:08:01 GMT) Full text and rfc822 format available.

Message #35 received at 19548 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 19548 <at> debbugs.gnu.org, rgm <at> gnu.org, esr <at> thyrsus.com
Subject: Re: bug#19548: VC changes under-documented, needlessly incompatible
Date: Tue, 24 May 2016 02:07:35 +0300
On 05/23/2016 08:37 PM, Eli Zaretskii wrote:

> I'm not sure I see the gain, given that (AFAIU) CVS is the only
> back-end for which this option is relevant.

For the benefit of someone who customized vc-stay-local 10 years ago? 
Not very compelling, I agree.

Does this patch have your blessing?

Someone should test it out, to be safe; the only CVS repo I have to 
experiment on doesn't seem to work great with either version of the code 
(but then, it's an old public checkout of the Samba repository).

diff --git a/lisp/vc/vc-cvs.el b/lisp/vc/vc-cvs.el
index 2dca708..a2499a2 100644
--- a/lisp/vc/vc-cvs.el
+++ b/lisp/vc/vc-cvs.el
@@ -121,7 +121,7 @@ vc-cvs-use-edit
   :version "21.1"
   :group 'vc-cvs)

-(defcustom vc-stay-local 'only-file
+(defcustom vc-cvs-stay-local 'only-file
   "Non-nil means use local operations when possible for remote 
repositories.
 This avoids slow queries over the network and instead uses heuristics
 and past information to determine the current status of a file.
@@ -131,11 +131,11 @@ vc-stay-local
 all other VC operations.

 The value can also be a regular expression or list of regular
-expressions to match against the host name of a repository; then VC
-only stays local for hosts that match it.  Alternatively, the value
-can be a list of regular expressions where the first element is the
-symbol `except'; then VC always stays local except for hosts matched
-by these regular expressions."
+expressions to match against the host name of a repository; then
+vc-cvs only stays local for hosts that match it.  Alternatively,
+the value can be a list of regular expressions where the first
+element is the symbol `except'; then vc-cvs always stays local
+except for hosts matched by these regular expressions."
   :type '(choice (const :tag "Always stay local" t)
 		 (const :tag "Only for file operations" only-file)
 		 (const :tag "Don't stay local" nil)
@@ -789,8 +789,7 @@ vc-cvs-stay-local-p
 individually should stay local."
   (if (listp file)
       (delq nil (mapcar (lambda (arg) (vc-cvs-stay-local-p arg)) file))
-    (let* ((sym (vc-make-backend-sym 'CVS 'stay-local))
-          (stay-local (if (boundp sym) (symbol-value sym) vc-stay-local)))
+    (let ((stay-local vc-cvs-stay-local))
       (if (symbolp stay-local) stay-local
        (let ((dirname (if (file-directory-p file)
                           (directory-file-name file)





Information forwarded to bug-gnu-emacs <at> gnu.org, Dmitry Gutov <dgutov <at> yandex.ru>:
bug#19548; Package emacs. (Tue, 24 May 2016 15:35:01 GMT) Full text and rfc822 format available.

Message #38 received at 19548 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Dmitry Gutov <dgutov <at> yandex.ru>
Cc: 19548 <at> debbugs.gnu.org, rgm <at> gnu.org, esr <at> thyrsus.com
Subject: Re: bug#19548: VC changes under-documented, needlessly incompatible
Date: Tue, 24 May 2016 18:34:07 +0300
> Cc: rgm <at> gnu.org, 19548 <at> debbugs.gnu.org, esr <at> thyrsus.com
> From: Dmitry Gutov <dgutov <at> yandex.ru>
> Date: Tue, 24 May 2016 02:07:35 +0300
> 
> Does this patch have your blessing?

Yes, it looks good to me.

> Someone should test it out, to be safe; the only CVS repo I have to 
> experiment on doesn't seem to work great with either version of the code 
> (but then, it's an old public checkout of the Samba repository).

You can try this one:

  http://www.delorie.com/djgpp/cvs.html

Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#19548; Package emacs. (Wed, 25 May 2016 01:07:02 GMT) Full text and rfc822 format available.

Message #41 received at 19548 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 19548 <at> debbugs.gnu.org, rgm <at> gnu.org, esr <at> thyrsus.com
Subject: Re: bug#19548: VC changes under-documented, needlessly incompatible
Date: Wed, 25 May 2016 04:06:24 +0300
On 05/24/2016 06:34 PM, Eli Zaretskii wrote:

> Yes, it looks good to me.

Pushed, thanks. If someone would like to point out what else we're 
missing in this bug, that would be great.

I've glanced through the "Changes from the pre-25.1 API" list, and one 
change we could make to improve backward compatibility there, is to 
catch wrong-number-of-arguments when calling the `diff' method, and 
retry with one fewer argument.

Doesn't really seem worth the trouble, however. The list of changes is 
longer than that, and third-party backends will have to adapt anyway.

Similarly, the change to dir-status-files could be smoothed over by 
continuing to pass some dummy fourth argument, but it's unclear when 
we'd be allowed to stop doing that. So maybe not doing that at all is 
just as valid an option. IIRC, nobody has really complained about their 
backend having stopped working.

> You can try this one:
>
>   http://www.delorie.com/djgpp/cvs.html

Thanks. revert-buffer works *very* slowly with it using the default 
settings, but at least the results look correct.




Added tag(s) wontfix. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Sun, 12 Feb 2017 02:18:01 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 19548 <at> debbugs.gnu.org and Glenn Morris <rgm <at> gnu.org> Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Sun, 12 Feb 2017 02:18:01 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 12 Mar 2017 11:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 8 years and 163 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.