From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Eric S. Raymond" Newsgroups: gmane.emacs.devel Subject: Re: My plans for VC mode Date: Sat, 22 Nov 2014 13:08:45 -0500 Organization: Eric Conspiracy Secret Labs Message-ID: <20141122180845.GA27863@thyrsus.com> References: <20141122133351.46279382C23@snark.thyrsus.com> <86r3wvb900.fsf@yandex.ru> <20141122163707.GC25909@thyrsus.com> <5470CBEC.3000500@yandex.ru> Reply-To: esr@thyrsus.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1416679760 1181 80.91.229.3 (22 Nov 2014 18:09:20 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 22 Nov 2014 18:09:20 +0000 (UTC) Cc: emacs-devel@gnu.org To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Nov 22 19:09:12 2014 Return-path: Envelope-to: ged-emacs-devel@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 1XsF7L-00046X-Si for ged-emacs-devel@m.gmane.org; Sat, 22 Nov 2014 19:09:08 +0100 Original-Received: from localhost ([::1]:46359 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XsF7L-0004Pg-78 for ged-emacs-devel@m.gmane.org; Sat, 22 Nov 2014 13:09:07 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:38369) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XsF75-0004Pb-0x for emacs-devel@gnu.org; Sat, 22 Nov 2014 13:08:55 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XsF70-0007wf-MA for emacs-devel@gnu.org; Sat, 22 Nov 2014 13:08:50 -0500 Original-Received: from static-71-162-243-5.phlapa.fios.verizon.net ([71.162.243.5]:35869 helo=snark.thyrsus.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XsF70-0007wa-I9 for emacs-devel@gnu.org; Sat, 22 Nov 2014 13:08:46 -0500 Original-Received: by snark.thyrsus.com (Postfix, from userid 1000) id E53123835E8; Sat, 22 Nov 2014 13:08:45 -0500 (EST) Content-Disposition: inline In-Reply-To: <5470CBEC.3000500@yandex.ru> X-Eric-Conspiracy: There is no conspiracy User-Agent: Mutt/1.5.21 (2010-09-15) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 71.162.243.5 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:178034 Archived-At: Dmitry Gutov : > On 11/22/2014 06:37 PM, Eric S. Raymond wrote: > > >vc-state is likely to surivive with unaltered semantics. So is diff. > > Ok. I'm also using `vc-diff-internal', `vc-buffer-sync' and > `vc-exec-after', but these seem to be less relevant to the current > subject. Agreed. > The above list includes `state', which you're saying won't be > changed much. Other than that, do you mean `dir-status' and > `dir-status-files' will be merged? That seems extremely likely. Unless I run out of time to work on this before I get to it. > If that means that the new function will behave just like > `dir-status' when passed a nil (or a directory) instead of a list of > files, then how that's much better than keeping the functions > separate? The downside is obvious, meanwhile (API breakage). It's better than keeping the functions separate because the separation contributes in a significant way to making the interface a hairball that is difficult to understand and maintain. I should have been able to write SRC support in 90 minutes. The fact that it took the inventor of both SRC and VC mode *two days* told me the API has gone very badly wrong. It is obvious why; we have been succumbing to the temptation to just glue on another knob for far too long. Ideally, I would like to *halve* the number of entry points. And ensure that each one has simple, regular semantics that can be described in one or two sentences. Backward compatibility can go straight to the hell where it belongs. -- Eric S. Raymond