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: Rationalising c[ad]\{2,5\}r. Date: Wed, 11 Mar 2015 15:00:50 -0700 (PDT) Message-ID: References: <20150311214324.GA2952@acm.fritz.box> 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 1426111289 31586 80.91.229.3 (11 Mar 2015 22:01:29 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 11 Mar 2015 22:01:29 +0000 (UTC) To: Alan Mackenzie , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Mar 11 23:01:14 2015 Return-path: Envelope-to: ged-emacs-devel@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 1YVoge-0007Ml-Ha for ged-emacs-devel@m.gmane.org; Wed, 11 Mar 2015 23:01:08 +0100 Original-Received: from localhost ([::1]:57132 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YVogd-0002ee-VK for ged-emacs-devel@m.gmane.org; Wed, 11 Mar 2015 18:01:07 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39220) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YVoga-0002a0-5T for emacs-devel@gnu.org; Wed, 11 Mar 2015 18:01:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YVogW-0004Z1-R4 for emacs-devel@gnu.org; Wed, 11 Mar 2015 18:01:04 -0400 Original-Received: from userp1040.oracle.com ([156.151.31.81]:45050) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YVogW-0004Yr-KN for emacs-devel@gnu.org; Wed, 11 Mar 2015 18:01:00 -0400 Original-Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id t2BM0qts010797 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 11 Mar 2015 22:00:58 GMT Original-Received: from userz7022.oracle.com (userz7022.oracle.com [156.151.31.86]) by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id t2BM0pGE009261 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 11 Mar 2015 22:00:52 GMT Original-Received: from abhmp0002.oracle.com (abhmp0002.oracle.com [141.146.116.8]) by userz7022.oracle.com (8.14.5+Sun/8.14.4) with ESMTP id t2BM0olx016567; Wed, 11 Mar 2015 22:00:51 GMT In-Reply-To: <20150311214324.GA2952@acm.fritz.box> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8.2 (807160) [OL 12.0.6691.5000 (x86)] X-Source-IP: acsinet22.oracle.com [141.146.126.238] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 156.151.31.81 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:183791 Archived-At: > 1. caar, cadr, cdar, and cddr are defined in subr.el; > 2. c[ad]\{3,4\}r are actually called cl-caaar, etc; Gag. Why is that? > 3. cl-c[ad]\{3,4\}r are defined in cl-lib.el; Why is that? What's next, cl-setq? > 4. The aliases for the names without the cl- are defined in cl.el; > 5. c[ad]\{3,4\}r each contain the form > (declare (compiler-macro cl--compiler-macro-cXXr) > , whereas caar, cadr, cdar, cddr don't. At the moment, I don't know > whether this is a bug, or whether the two cases are just handled > differently; > 6. All the defuns are written out individually, making it hard to verify > that they are all correct, and making it very hard to extend to 5 or > more [ad]s, and also taking up a lot of lines of code spread over > several files.el. >=20 > I propose the following solution: all these defuns should be in subr.el, > the canonical names will be caaadr etc.,=20 Yes. How about the _only_ names, instead? > and there will be compatibility aliases for cl-caaadr etc.. =20 Why? Why is that needed? All of these things pre-date Common Lisp. They are _Lisp_ names, from Day One. Has this slick cl-* paint job perhaps gotten out of hand?