From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.devel Subject: RE: Readings for an emacs package maintainer ? Date: Mon, 1 Jun 2009 10:05:37 -0700 Message-ID: <6549BA1A13BD451180069A977B7E6685@us.oracle.com> References: <87k53wh16c.wl%xma@gnu.org> <87ws7worgg.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1243875961 28207 80.91.229.12 (1 Jun 2009 17:06:01 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 1 Jun 2009 17:06:01 +0000 (UTC) Cc: emacs-devel@gnu.org To: "'Bastien'" , "'Xavier Maillard'" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Jun 01 19:05:57 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 1MBAxO-0000PC-Ih for ged-emacs-devel@m.gmane.org; Mon, 01 Jun 2009 19:05:54 +0200 Original-Received: from localhost ([127.0.0.1]:47821 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MBAxO-0004Fn-2W for ged-emacs-devel@m.gmane.org; Mon, 01 Jun 2009 13:05:54 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MBAxJ-0004FY-Ot for emacs-devel@gnu.org; Mon, 01 Jun 2009 13:05:49 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MBAxF-0004ET-4W for emacs-devel@gnu.org; Mon, 01 Jun 2009 13:05:49 -0400 Original-Received: from [199.232.76.173] (port=60537 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MBAxE-0004EQ-Uk for emacs-devel@gnu.org; Mon, 01 Jun 2009 13:05:44 -0400 Original-Received: from rcsinet12.oracle.com ([148.87.113.124]:26586 helo=rgminet12.oracle.com) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MBAwy-0005BD-CH; Mon, 01 Jun 2009 13:05:29 -0400 Original-Received: from acsinet15.oracle.com (acsinet15.oracle.com [141.146.126.227]) by rgminet12.oracle.com (Switch-3.3.1/Switch-3.3.1) with ESMTP id n51H5DWk012399 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 1 Jun 2009 17:05:14 GMT Original-Received: from abhmt010.oracle.com (abhmt010.oracle.com [141.146.116.19]) by acsinet15.oracle.com (Switch-3.3.1/Switch-3.3.1) with ESMTP id n51H6Itf019677; Mon, 1 Jun 2009 17:06:19 GMT Original-Received: from dradamslap1 (/141.144.65.100) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 01 Jun 2009 10:05:21 -0700 X-Mailer: Microsoft Office Outlook 11 In-Reply-To: <87ws7worgg.fsf@gnu.org> X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 Thread-Index: Acni1QqRGLHIB2bKRdSU5AJRlf/WmgAANIeA X-Source-IP: abhmt010.oracle.com [141.146.116.19] X-Auth-Type: Internal IP X-CT-RefId: str=0001.0A010201.4A240A53.01E8:SCFSTAT5015188,ss=1,fgs=0 X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 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:111255 Archived-At: > > What do you, emacs developers, do in order to have the larger > > backward compatibility spectrum ? > > I'm under the impression that most developers only worry > about backward compatibility when users complain. Which is > a fairly wise way of being lazy, no? Sure, unless you also want to help potential users who might not complain. It really depends what you're trying to do. I tend to make things work in older releases when the thing I'm creating is possible (reasonable to implement) in the older releases also. I don't bother, if it's unreasonable. If something depends on Unicode support, for instance, then Emacs 23 is a must. Most of the time, the coding difference is not great, however, so it's no big deal to also make stuff available to users of old releases. It does mean testing in the older releases, so that you will realize it if function `blah' is not available in an older version and must be worked around. I implement using Emacs 20 some of the time, then test in recent releases. That typically means fewer gotchas (functions and features that don't exist) than the other way around. Q. Why bother? A. Why do you write your code in the first place? If it's for use by others in addition to yourself, then why not help more of them use it? There are *lots* of people who use Emacs versions installed by their IT department, sometimes on hosts where they cannot install alternative code (at least not for widespread use). And those IT-installed versions are often quite old (Emacs 21 at Oracle, for example). Two reasons: (1) IT doesn't care whether users have the latest and greatest, and more frequent updates means more work. (2) IT thinks older means more stable, which means less work. Unicode will likely be an exception, at least in some countries, but most new Emacs features are not things that will make IT departments rush to scoop up the latest. I would guess that 99% of the developers at Oracle use Emacs 21 (or vi), simply because that's what's there. In most cases, they could build Emacs on their machines, for their own use or shared use by colleagues, but (I assume) they don't care enough to do that. There are many actual and potential Emacs users who do not necessarily want to build Emacs themselves (1+). They use what's already available, and that is often *not* the latest and greatest. If you are interested in helping such users take advantage of your code, then typically the effort needed is no big deal. You will need (and will develop, if you do this) some awareness of which releases introduce which new functions, macros, and variables - and change which signatures or behaviors. That's not a bad thing to be aware of, in any case. I would _guess_ that the fact that *lots* of Emacs users use older releases is something underrecognized or underrepresented in the Emacs mailing lists and Web sites. What proportion? Dunno. Maybe it's the majority - I really have no idea. Does anyone on emacs-devel have a good idea of the proportion who use something before Emacs 22? Is it 10%? 80%? Is there a breakdown somewhere of existing users and their releases? If Emacs had a Support department or were receiving regular maintenance revenue from users of old releases, we would have such an idea. ;-)