From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: Emacs Package Management Date: Sun, 13 Sep 2009 12:40:39 -0400 Message-ID: References: <485b0c380808011427n4d3144eey3f8daf3abac83bf4@mail.gmail.com> <87d45vzt4j.fsf@hagelb.org> Reply-To: rms@gnu.org NNTP-Posting-Host: lo.gmane.org Content-Type: text/plain; charset=ISO-8859-15 X-Trace: ger.gmane.org 1252860316 8214 80.91.229.12 (13 Sep 2009 16:45:16 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 13 Sep 2009 16:45:16 +0000 (UTC) Cc: tromey@redhat.com, emacs-devel@gnu.org To: Phil Hagelberg Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Sep 13 18:45:09 2009 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1MmsCJ-0007gE-UH for ged-emacs-devel@m.gmane.org; Sun, 13 Sep 2009 18:45:08 +0200 Original-Received: from localhost ([127.0.0.1]:57507 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MmsCJ-0003N6-Do for ged-emacs-devel@m.gmane.org; Sun, 13 Sep 2009 12:45:07 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Mms83-0008AU-DE for emacs-devel@gnu.org; Sun, 13 Sep 2009 12:40:43 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Mms7z-00087p-Qs for emacs-devel@gnu.org; Sun, 13 Sep 2009 12:40:43 -0400 Original-Received: from [199.232.76.173] (port=37281 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Mms7z-00087l-OD for emacs-devel@gnu.org; Sun, 13 Sep 2009 12:40:39 -0400 Original-Received: from fencepost.gnu.org ([140.186.70.10]:55573) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Mms7z-00074E-F4 for emacs-devel@gnu.org; Sun, 13 Sep 2009 12:40:39 -0400 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.67) (envelope-from ) id 1Mms7z-0007iv-1o; Sun, 13 Sep 2009 12:40:39 -0400 In-reply-to: <87d45vzt4j.fsf@hagelb.org> (message from Phil Hagelberg on Sat, 12 Sep 2009 15:38:04 -0700) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:115277 Archived-At: If we do set up a package system, we should insist that any packages to be recommended from Emacs follow the same rules as code to be included in Emacs. This includes copyright assignments, and all the technical conventions for Emacs code. * Emacs is already too big. If we made it easy to install third-party packages, we could spin many packages already included in Emacs (perhaps gnus, erc, and org) out into their own independent projects. We would avoid problems like "the big gnus merge" that happens every so often as well as allowing them to follow their own release cycles. Splitting things up can be good in reducing the size of the main Emacs distro. But watch out for a possible problem. Supporting the latest Gnus on old versions of Emacs already complicates things. If Emacs does not come with a copy of Gnus, we will also be asked to support running an old Gnus in a new Emacs, which will square the difficulty. * I make use of the cl library, disqualifying much of my code for inclusion in Emacs proper. I'd venture to say close to a majority of the nontrivial packages out there do as well. The rule against using CL functions at run time is for the sake of the user. The CL functions are not a standard part of the Emacs Lisp namespace. Thus, loading CL can conflict with the user's function definitions. Even if we separate out parts of Emacs, this policy will still apply. It has nothing to do with whether Emacs si distributed as one package or several packages. Instead of this policy, we could declare those functions standard, but I think some of them are not well designed and not good to include. Also, to do it right we would need to document these functions in the Emacs Lisp manual, which is a big job.