From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: Declaring cl.el obsolete Date: Tue, 23 Jul 2019 09:29:44 -0700 (PDT) Message-ID: <5f011dd7-8b78-4a02-90c0-6f3d52fb5690@default> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="51147"; mail-complaints-to="usenet@blaine.gmane.org" To: Stefan Monnier , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Jul 23 18:29:59 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hpxfo-000DBd-Ug for ged-emacs-devel@m.gmane.org; Tue, 23 Jul 2019 18:29:57 +0200 Original-Received: from localhost ([::1]:45638 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hpxfo-0008SI-0H for ged-emacs-devel@m.gmane.org; Tue, 23 Jul 2019 12:29:56 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:34534) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hpxfl-0008SC-18 for emacs-devel@gnu.org; Tue, 23 Jul 2019 12:29:54 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hpxfj-0002mb-VP for emacs-devel@gnu.org; Tue, 23 Jul 2019 12:29:52 -0400 Original-Received: from userp2120.oracle.com ([156.151.31.85]:53632) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hpxfj-0002lq-My for emacs-devel@gnu.org; Tue, 23 Jul 2019 12:29:51 -0400 Original-Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x6NGTM4D178732; Tue, 23 Jul 2019 16:29:48 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2018-07-02; bh=RWNXbC3Pn/C/gtt1CsLorvDznubNsPpid+uCnDLAXKg=; b=Gb2ZRDzrmD4EUwTLX/gxthexema4DZDDHnZkRVaefhweO34kTpe1KrL9xtvO8IdTt7eL RSbMdeD7vkEVtQVoUtHPiuPFtoecfYUBJh/yDwBN3ZbgXOw65FR2LcuDiJPp2iLe990M Osg15IBE9/slr37iAw4cDytNrqDxcCQYfRNjVdSFvpd/qlYLKX3sgE77pzooqpk78QV5 7eS185oFKR/LmhJDYOBtH5bp8xbLw4OyJUljRb+c0wFypLKaQaWDlukXs4oJzl7zjEPB MzoJHDI4d3gmP2rOSH3bBeO9yogiNIjeRu5u6mdOCwXDhlOlr1wkxVaECE1mPdAkHWA2 tQ== Original-Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by userp2120.oracle.com with ESMTP id 2tuukqs769-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 23 Jul 2019 16:29:47 +0000 Original-Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x6NGRrlC160540; Tue, 23 Jul 2019 16:29:47 GMT Original-Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by userp3020.oracle.com with ESMTP id 2tut9ne6xs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 23 Jul 2019 16:29:47 +0000 Original-Received: from abhmp0019.oracle.com (abhmp0019.oracle.com [141.146.116.25]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id x6NGTj4p022723; Tue, 23 Jul 2019 16:29:46 GMT In-Reply-To: X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4873.0 (x86)] X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9327 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1907230166 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9327 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1907230166 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] X-Received-From: 156.151.31.85 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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:238848 Archived-At: > > cl-lib was released 6 years ago... > > everything it offers is provided by cl-lib or lexical-binding. Maybe. When those are available, which they're not for some older releases. And not everything: aliases to names without `cl-' are missing. > In the ensuing discussions, there have been the following objections: > 1- Eli doesn't like using "obsolete" and would prefer "deprecated". > 2- Lars pointed out that `cl` is still in fairly wide use outside of > Emacs. > 3- Ken explained that he prefers the non-prefixed names. >=20 > Regarding (3), I know several people feel that way, and that's a valid > preference, but I see no reason why the `cl` package satisfying this > preference needs to be distributed with Emacs. >=20 > Regarding (2), I pointed out that I don't foresee `cl` disappearing > completely any time soon. Instead, it will likely move to GNU ELPA > when we finally remove it from Emacs. >=20 > As for (1), I used the word "deprecated". >=20 > So any remaining objection to the patch below? I don't really want to get into this can of worms, but I guess I should say what I think. 1. Some code will continue to use `cl.el', at least for compatibility with both older and newer Emacs versions. Even for compilation-time use of macros. Some older Emacs versions don't have `cl-lib.el' (or `cl-macs.el'). Even `lexical-let' and `flet', however imperfect, are important for older versions. 2. What's the reason why names with no prefix, that do not conflict with any Emacs names, can't be included in `cl-lib.el' as aliases? I'm thinking of names like `case', `incf', `multiple-value-bind', `typecase', `gentemp', `pushnew', `delete-if', `loop', `decf', and `(delete|remove)-duplicates'. (In my code, `case' is the most commonly used.) They are aliased in `cl.el' (see #1). Without supporting the aliases, code that's compatible with older releases can't use the aliases, and it also can't use the `cl-' versions, which don't exist. 3. Moving `cl.el' to GNU ELPA doesn't help its use by older Emacs versions that don't support package.el. I see only bother for users in the proposal. I'm sure it would reduce some maintenance for Emacs dev, but how much? And is that worth the bother for users and (at least some) 3rd-party libraries? My vote: -1.