From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: [Emacs-diffs] master b0042b7: Make CC Mode load cl-lib rather than cl in Emacs 26. Date: Mon, 26 Jun 2017 17:47:09 -0400 Message-ID: References: <20170625140057.23973.37361@vcs0.savannah.gnu.org> <20170625140057.DC363208E3@vcs0.savannah.gnu.org> <20170626163150.GA2471@acm> <20170626182037.GD2471@acm> <20170626203046.GE2471@acm> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1498513715 2092 195.159.176.226 (26 Jun 2017 21:48:35 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 26 Jun 2017 21:48:35 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) Cc: emacs-devel@gnu.org To: Alan Mackenzie Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Jun 26 23:48:30 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dPbrx-0000KU-UJ for ged-emacs-devel@m.gmane.org; Mon, 26 Jun 2017 23:48:30 +0200 Original-Received: from localhost ([::1]:49170 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dPbs3-0002RC-AX for ged-emacs-devel@m.gmane.org; Mon, 26 Jun 2017 17:48:35 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54002) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dPbqX-00011X-4d for emacs-devel@gnu.org; Mon, 26 Jun 2017 17:47:02 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dPbqU-0006Z9-24 for emacs-devel@gnu.org; Mon, 26 Jun 2017 17:47:01 -0400 Original-Received: from chene.dit.umontreal.ca ([132.204.246.20]:33978) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dPbqT-0006Yl-Qg for emacs-devel@gnu.org; Mon, 26 Jun 2017 17:46:57 -0400 Original-Received: from lechazo.home (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.7/8.14.1) with ESMTP id v5QLktJL027915; Mon, 26 Jun 2017 17:46:55 -0400 Original-Received: by lechazo.home (Postfix, from userid 20848) id C1D47601A3; Mon, 26 Jun 2017 17:47:09 -0400 (EDT) In-Reply-To: <20170626203046.GE2471@acm> (Alan Mackenzie's message of "Mon, 26 Jun 2017 20:30:46 +0000") X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 2 Rules triggered EDT_SA_DN_PASS=0, RV6056=0 X-NAI-Spam-Version: 2.3.0.9418 : core <6056> : inlines <5951> : streams <1751644> : uri <2451383> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 132.204.246.20 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.devel:216018 Archived-At: >> As you know, there are other options. E.g. to distribute that other >> package (cl-lib) along with yours. Or to distribute your package via >> a system which will take care of "search for and download" (e.g. ELPA). > The first would cause irritation to the user. Hmm... sorry, I don't see why that would cause irritation. AFAICT the user would be blissfully unaware. I doubt many of your users would notice an additional 13KB file in your package. > The second is simply not the way CC Mode is distributed. I understand you want to support users of Emacsen that don't have package.el, and that makes sense, indeed. I mentioned it, because I think it should be fairly easy to also distribute CC-mode via GNU ELPA with very little extra work (the package would be built directly from emacs.git, like we do for python.el, soap-client, and a few more). But yes, whether we do that or not doesn't make a difference for the case of users of Emacsen without package.el (i.e. Emacs-23 and XEmacs). >> Bundling cl-lib with your "manually installed" cc-mode package should be >> pretty easy. I'd be all too happy to help you with it, if that can sway you. > Talk about taking a sledgehammer to crack a nut! I agree that if you look at it as "adding a 13KB file" vs "add a few (defmacro ... (if (eq c--cl-library ...)))", the choice may sound like a sledgehammer, but the way I look at it, cl-lib.el is a file that's already written and hasn't needed any maintenance since Feb-2014, so you can take it as a black box. >> Ah, yes, that discussion. It's hard to please everyone. > No, not really. Leaving the traditional names in place, producing no > compiler warnings, would have pleased more than what was done. I see we agree ("more than" is not "everyone"). > Funnily enough, I don't remember any negotiation, or even discussion > about the matter on emacs-devel before this change happened. The extra > macros in CC Mode are one of the consequences. I would really rather > not have had to spend time on this. IIUC, the introduction of cl-lib is the result of the thread that started with https://lists.gnu.org/archive/html/emacs-devel/2012-02/msg00175.html This other thread is also related: https://lists.gnu.org/archive/html/emacs-devel/2012-04/msg00245.html But it is also the result of many earlier discussions asking for the same thing. Again and again, people asked to get access to all of CL's functionality in Emacs (i.e. including CL's functions at runtime) and it's always been rejected until we came up with cl-lib (and took advantage of it to move several CL features, like setf, into core at the same time). I have no intention to claim it's the perfect solution. I'm pretty sure it was noone's favorite solution, but my impression after 5 years is that most people think it was an improvement (in large part thanks to the cl-lib.el forward compatibility library which significantly eases up the transition, although you don't want to use). Stefan