From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Experimental features Date: Sat, 23 Jun 2007 15:16:17 -0400 Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1182626562 17169 80.91.229.12 (23 Jun 2007 19:22:42 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sat, 23 Jun 2007 19:22:42 +0000 (UTC) Cc: emacs-devel@gnu.org To: rms@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jun 23 21:22:37 2007 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 1I2BBq-0001YB-G8 for ged-emacs-devel@m.gmane.org; Sat, 23 Jun 2007 21:22:34 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1I2BBp-0007lh-V9 for ged-emacs-devel@m.gmane.org; Sat, 23 Jun 2007 15:22:34 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1I2BBn-0007jP-4s for emacs-devel@gnu.org; Sat, 23 Jun 2007 15:22:31 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1I2BBl-0007hF-J3 for emacs-devel@gnu.org; Sat, 23 Jun 2007 15:22:30 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1I2BBl-0007h6-Gg for emacs-devel@gnu.org; Sat, 23 Jun 2007 15:22:29 -0400 Original-Received: from tomts25.bellnexxia.net ([209.226.175.188] helo=tomts25-srv.bellnexxia.net) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1I2BBk-0006gT-DF; Sat, 23 Jun 2007 15:22:28 -0400 Original-Received: from pastel.home ([74.12.206.238]) by tomts25-srv.bellnexxia.net (InterMail vM.5.01.06.13 201-253-122-130-113-20050324) with ESMTP id <20070623192227.EXEA25739.tomts25-srv.bellnexxia.net@pastel.home>; Sat, 23 Jun 2007 15:22:27 -0400 Original-Received: by pastel.home (Postfix, from userid 20848) id 230638042; Sat, 23 Jun 2007 15:16:16 -0400 (EDT) In-Reply-To: (Richard Stallman's message of "Sat\, 23 Jun 2007 09\:19\:59 -0400") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1.50 (gnu/linux) X-detected-kernel: Solaris 8 (1) 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:73727 Archived-At: > I don't mind adding some new features to minor releases. I know, but I think for example that the vc-bzr.el and vc-hg.el (and potentially others, I hope we'll get vc-darcs.el soon) are somewhat dangerous to add to Emacs-22.[23...] unless we disable them by default: they're not 100% modular since they normally get involved every time we open a file (in 99% of the cases they'll just bail saying that they're not interested in this file, but still). So just like we have obsolete features, we could have experimental features, which are completely deactivated by default but can easily be activated by the user. This might allow us to safely include a few more new features in minor releases. > We've already added some for Emacs 22.2. They should be totally modular, > though, so that we know they are safe. I'll send a patch soon, to give a more concrete idea of my I'm thinking of. Basically, I currently picture it as adding something like a function (activate-experimental-feature ). And this `activate-experimental-feature' would simply check for a function `activate-experimental-feature-' and call it if it exists (and otherwise do nothing). Additionally, we would add a file-local variable "experimental-feature" to Elisp files which would cause `autoload.el' to wrap all the autoloads of this file into a function called `activate-experimental-feature-'. Stefan