From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Michael Albinus Newsgroups: gmane.emacs.bugs Subject: bug#20637: incompatible, undocumented change to vc-working-revision Date: Thu, 14 Apr 2016 20:31:15 +0200 Message-ID: <87h9f4ghzg.fsf@gmx.de> References: <6ok2vyzwf9.fsf@fencepost.gnu.org> <08f70cda-44be-0657-e50a-2b2c80d2c21c@yandex.ru> <87oa9dzgl0.fsf@gmx.de> <87potshczh.fsf@gmx.de> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1460658744 4766 80.91.229.3 (14 Apr 2016 18:32:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 14 Apr 2016 18:32:24 +0000 (UTC) Cc: 20637@debbugs.gnu.org To: Dmitry Gutov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Apr 14 20:32:10 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aqm3m-0001TZ-62 for geb-bug-gnu-emacs@m.gmane.org; Thu, 14 Apr 2016 20:32:10 +0200 Original-Received: from localhost ([::1]:44575 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aqm3l-0002Rm-Lf for geb-bug-gnu-emacs@m.gmane.org; Thu, 14 Apr 2016 14:32:09 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36778) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aqm3i-0002P0-3h for bug-gnu-emacs@gnu.org; Thu, 14 Apr 2016 14:32:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aqm3e-0006S6-Tq for bug-gnu-emacs@gnu.org; Thu, 14 Apr 2016 14:32:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:51512) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aqm3e-0006Rr-Qv for bug-gnu-emacs@gnu.org; Thu, 14 Apr 2016 14:32:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1aqm3e-0003cX-9R; Thu, 14 Apr 2016 14:32:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Michael Albinus Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, Dmitry Gutov Resent-Date: Thu, 14 Apr 2016 18:32:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20637 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 20637-submit@debbugs.gnu.org id=B20637.146065868513871 (code B ref 20637); Thu, 14 Apr 2016 18:32:02 +0000 Original-Received: (at 20637) by debbugs.gnu.org; 14 Apr 2016 18:31:25 +0000 Original-Received: from localhost ([127.0.0.1]:35616 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aqm33-0003bf-BX for submit@debbugs.gnu.org; Thu, 14 Apr 2016 14:31:25 -0400 Original-Received: from mout.gmx.net ([212.227.17.22]:50223) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aqm31-0003bR-Nc for 20637@debbugs.gnu.org; Thu, 14 Apr 2016 14:31:24 -0400 Original-Received: from detlef.gmx.de ([87.146.59.141]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0MY4Ls-1bLUAO2C1I-00Uu2o; Thu, 14 Apr 2016 20:31:16 +0200 In-Reply-To: (Dmitry Gutov's message of "Thu, 14 Apr 2016 17:20:41 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) X-Provags-ID: V03:K0:laJE8/Yt7QjzdSoDL3PEeGXRqVr7zaFb8hjvZMNPsIS3b2YxyUX uudKhRrZXAl2nq6s4bxpMkoDIfnCePE8BfswhrbZKUT9MxdWFMs0dK4sCwNTf08GB5DtFGp 5sa0MKoQT0z1P/XmKpKRkQWb6xmZnFy0JlMnNkFsJKZ/4WyNpWLMypYQVR4rYBB+tDWwmru 7A7Q4uDIUMh51x5KEoqtw== X-UI-Out-Filterresults: notjunk:1;V01:K0:auQmz5nfqMs=:90OMwdyZ+tt+mkR2EUbAw1 z2NCiNVZsKfdNaDvB0QHRJTr4Y68SPg8rXnEDfRP3UAizdGwGU00ajguXreyO2tSt3sfT9Jzw JRka3UqHTDH9VBqyIwUHFWTTaGgqb0yz1WmSYUmEl0Y74mK6HWDbNY9U4RO0TRYxiVjFZh3Oo 7XfM90Smbt44WDiCE1INLaLGlLytPjV6m3SacXpPpogDGbHca/2XAcKt0ulD+DpEccqjfNuQv eFGpptJn+Q6anzvJ8j2CSRwuUfWvYOmwOk4BZpt0jFWE/l7YXBIqYh4T1vfgzQ/A3NtVA/igU 5ARcxjat4EFP+cDVB+yb/giUCgn9SZRn9pHZIz1hIpDeg2WQ7YREsZy6WOa18XVP4udMrEie+ +jcEQA3ZZTbdBysLtF4mHQVWqPg3NaU9eEUE3kwOUgC2bzmWyAa6zg7PxMk638CrkwqVbqUlJ Nr956FSodImuilEjuHX19DUMP9DDRVcjH2mWQq/gCT5RWxYjgcN7hCBBGNSb7xK1Ajh8dZdbl xnMjEfNyoWsluHqT6dRUvpO8lHkR0obIseTjEF6xxa5jWGy/d4wLN3WAMx32CScwia5BhJnJO /mmHp6xNXrYzPCQDfUQCDjTkN6c8UUAvEV7nXL6umEcacuVKe0YgQakvKbT4r0dgZro4LYk3e Bt+aTzhg7GHNKFm+eSpLFQ85+iYE+v1xO1VKppGFa15cezMds4WYeG3Dk1xOnQYPuilrRP5x1 VNxi7XPurNBqdkApQchBPB0OTkFlAwxdfido2Ibeqvfgd8aCI/nlDTvoJMMDja7gYbB6bsY6 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:116470 Archived-At: Dmitry Gutov writes: >> I haven't thought too much about performance. But you are right, we >> shouldn't add serious performance penalties to the code. And improving >> performance for the 25.1 release is much too late. > > It's hard for me to judge how serious those are, really (I only have a > fast laptop with GNU/Linux these days), but being wary of extra > process calls seems prudent. Ideally, we'd reduce their number, not > increase it. Yes. I hope we could use more file properties caches. To be investigated. >> So we might revert the patch for vc-state and vc-working-revision indeed >> for the emacs-25 branch, going back to using vc-backend. > > Thanks, I agree. I've committed this to emacs-25. Plus commenting the now failing checks in vc-tests.el. >> In the master branch we might apply my proposed patch using >> vc-registered or something similar, and start to improve performance. > > Improve how? Would you like to comment on the last paragraph of my > previous email in this subthread? You've proposed an interface change in vc-state, returning just nil instead of unregistered. Yes, this might be an option. Worth to be checked. Another possibility is to use cached properties more aggressively, as said above. > I don't really see a point in returning `unregistered' from > `vc-state'. When would the caller treat it differently from nil? And > returning nil seems like an easier choice, implementation-wise, and > well as a more conservative one from the backward compatibility > perspective. > > The `dir-status-files' backend command would continue including the > `unregistered' entries (we could make it skip the up-to-date ones, > though, in the interest of improving performance). I cannot comment about this today. And as said already several times, if we would document vc-* functions in the manual, it would allow us to have a more global view on proposed changes. I trust you that you have all involved interfaces in your mind. I haven't, and I would like to see how an interface change compares to the other interfaces. >> In >> parallel, we shall start to write a VCS section for the elisp manual, >> describing vc-* functionality in more detail. We could start with >> vc-backend and vc-responsible-backend and their intended use. I'm >> missing such documentation for years. > > I'd rather put the missing information into the docstrings, really. It > seems unlikely that we're missing more than a few sentences in these > two functions' descriptions, and we could also rephrase the existing > ones. > > But if you'd be more comfortable with having that information in the > manual as well, don't let me stop you. Maybe docstrings are already sufficient. But you have spoken about design decisions in the past (for example whether unregistered files could be an argument), which I believe is not documented. And at least for me the "global view" about vc-* functions is missing, and how they are related. >> I'll come back later today with the patch for emacs-25, if you agree. > > In any case, I definitely agree with reverting vc-state and > vc-working-revision to use vc-backend in Emacs 25.1. Yep. Pls test my patch, and confirm whether it is sufficient. Same for Glenn, if possible. I would like to close this bug then, removing a release blocker for Emacs 25.1. Best regards, Michael.