From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.help Subject: RE: How to find when a feature was introduced Date: Fri, 8 Jul 2016 05:44:47 +0000 (UTC) Message-ID: <6a92cb61-53ac-4538-a0ac-5873851bdc85@default> References: <1467953596.3500300.660244737.0CDCE013@webmail.messagingengine.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1467956742 20159 80.91.229.3 (8 Jul 2016 05:45:42 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 8 Jul 2016 05:45:42 +0000 (UTC) To: Paul Rankin , help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Fri Jul 08 07:45:30 2016 Return-path: Envelope-to: geh-help-gnu-emacs@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 1bLObQ-0003qU-RD for geh-help-gnu-emacs@m.gmane.org; Fri, 08 Jul 2016 07:45:28 +0200 Original-Received: from localhost ([::1]:43746 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bLObP-00075T-U8 for geh-help-gnu-emacs@m.gmane.org; Fri, 08 Jul 2016 01:45:27 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35735) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bLOav-00075N-Fe for help-gnu-emacs@gnu.org; Fri, 08 Jul 2016 01:44:58 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bLOap-0001NE-Dt for help-gnu-emacs@gnu.org; Fri, 08 Jul 2016 01:44:56 -0400 Original-Received: from aserp1040.oracle.com ([141.146.126.69]:42478) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bLOap-0001NA-5U for help-gnu-emacs@gnu.org; Fri, 08 Jul 2016 01:44:51 -0400 Original-Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id u685inDU002301 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 8 Jul 2016 05:44:50 GMT Original-Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserv0022.oracle.com (8.13.8/8.13.8) with ESMTP id u685inhk025665 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 8 Jul 2016 05:44:49 GMT Original-Received: from abhmp0015.oracle.com (abhmp0015.oracle.com [141.146.116.21]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id u685imr4030672; Fri, 8 Jul 2016 05:44:48 GMT In-Reply-To: <1467953596.3500300.660244737.0CDCE013@webmail.messagingengine.com> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6744.5000 (x86)] X-Source-IP: aserv0022.oracle.com [141.146.126.234] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 141.146.126.69 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.org gmane.emacs.help:110724 Archived-At: > > > So now I need to tell my students gnu-apl-mode will not run in emacse= n > > > less than version X How to find out X? >=20 > M-x view-emacs-news RET C-s FEATURE That works for some features/functions/variables/..., but not for others. It depends on how well and even whether the thing in question is called out clearly in the NEWS. FWIW - I keep multiple Emacs binaries and check them when needed. But I do that because I maintain some of my libraries across multiple releases. (Many people will not bother to do this.) If I have a library that fundamentally makes use of some feature that is only available starting with release N.M then that's the minimum release I support for that library - e.g., `apu.el' is Emacs 24+=20 because it is all about Unicode. But if a library just makes incidental use of some feature - it is not essential to the library, then I support older releases that don't provide that feature, and I conditionalize its use within the library using `fboundp', `boundp', `featurep', or even a release-number check, whichever is most specific but still sufficient to distinguish whatever is involved. Yes, that means extra maintenance work. But there are lots of Emacs users (most!) who do _not_ use the latest release. I see too many libraries (IMHO) that evolve to gratuitously use recent constructs, which means some of their users can lose the possibility of using them. By "gratuitously" here I mean that the library maintainer and the library itself do not really gain anything important by such a change. Obviously, if a new feature enables you to do something really different (e.g. bidi support) or really better, then there is no reason not to take advantage of it. But many changes I see are little more than cosmetic, and if such a case throws library users by the wayside then I think that's a waste. On the other hand, it can make things easier for a library maintainer not to have to worry about supporting more than the latest release... YMMV