From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Engster Newsgroups: gmane.emacs.eieio,gmane.emacs.devel Subject: Re: Cleaning up the EIEIO namespace Date: Wed, 13 Feb 2013 17:31:42 +0100 Message-ID: <87k3qcfa4x.fsf@engster.org> References: <87sj51fakd.fsf@engster.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1360773119 2281 80.91.229.3 (13 Feb 2013 16:31:59 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 13 Feb 2013 16:31:59 +0000 (UTC) Cc: emacs-devel@gnu.org, cedet-eieio@lists.sourceforge.net, "Eric M. Ludlam" To: Stefan Monnier Original-X-From: cedet-eieio-bounces@lists.sourceforge.net Wed Feb 13 17:32:19 2013 Return-path: Envelope-to: sf-cedet-eieio@m.gmane.org Original-Received: from lists.sourceforge.net ([216.34.181.88]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1U5fFr-0003lh-11 for sf-cedet-eieio@m.gmane.org; Wed, 13 Feb 2013 17:32:19 +0100 Original-Received: from localhost ([127.0.0.1] helo=sfs-ml-1.v29.ch3.sourceforge.com) by sfs-ml-1.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1U5fFW-0003dc-KA; Wed, 13 Feb 2013 16:31:58 +0000 Original-Received: from sog-mx-1.v43.ch3.sourceforge.com ([172.29.43.191] helo=mx.sourceforge.net) by sfs-ml-1.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1U5fFU-0003dR-Uc for cedet-eieio@lists.sourceforge.net; Wed, 13 Feb 2013 16:31:57 +0000 X-ACL-Warn: Original-Received: from randomsample.de ([83.169.19.17]) by sog-mx-1.v43.ch3.sourceforge.com with esmtps (TLSv1:AES256-SHA:256) (Exim 4.76) id 1U5fFR-0001D8-K9 for cedet-eieio@lists.sourceforge.net; Wed, 13 Feb 2013 16:31:56 +0000 Original-Received: from dslc-082-083-060-072.pools.arcor-ip.net ([82.83.60.72] helo=spaten) by randomsample.de with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1U5fFH-0002Ya-P8; Wed, 13 Feb 2013 17:31:44 +0100 In-Reply-To: (Stefan Monnier's message of "Tue, 12 Feb 2013 21:47:51 -0500") User-Agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.2.92 (gnu/linux) Mail-Followup-To: Stefan Monnier , cedet-eieio@lists.sourceforge.net, "Eric M. Ludlam" , emacs-devel@gnu.org X-Spam-Score: -0.1 (/) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. -0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature X-Headers-End: 1U5fFR-0001D8-K9 X-BeenThere: cedet-eieio@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: cedet-eieio-bounces@lists.sourceforge.net Xref: news.gmane.org gmane.emacs.eieio:136 gmane.emacs.devel:157006 Archived-At: Stefan Monnier writes: >> I didn't have time yet to look at your patch in detail. I did apply it >> to CEDET trunk and got byte-compile errors because there's >> eieio-class-parent as well as eieio--class-parent. > > Hmm.. there are both eieio-class-parent as well as eieio--class-parent, > but I'm not sure why that would cause a byte-compile error. In toplevel form: eieio.el:168:1:Error: Symbol's function definition is void: eieio--class-parent I also cannot find a definition for eieio--class-parent, but maybe it's hidden somewhere? > I don't know CLOS either. I also don't know EIEIO enough to know for > sure which functions are "internal" (and can hence move to "eieio-" or > even "eieio--" without any problem) and which are "exported", so that > renaming them has to be done more carefully (with obsolete aliases). Eric already posted links to the hyperspec where this can be looked up. From your bug report #10781, the following names are from CLOS: * Most of the slot-* names, like slot-boundp, slot-exists-p, etc. * make-instance, initialize-instance * with-slots * class-name, class-of * next-method-p, call-next-method * defgeneric, defclass, defmethod Now, whether to include them in the cl- or the eieio-namespace - I don't have a terribly strong opinion on that one. If it's deemed too hack-ish, then so be it, and we just prefix everything with eieio-. [Eric, if you feel more strongly about those names, then please speak up. :-) ] Actually, the most critical thing is 'oref' and 'oset', because this is used extensively (~1800 times in CEDET), and it is not from CLOS. Prefixing that with 'eieio-' would make code using EIEIO very verbose, but I guess there's just no way around that...? -David ------------------------------------------------------------------------------ Free Next-Gen Firewall Hardware Offer Buy your Sophos next-gen firewall before the end March 2013 and get the hardware for free! Learn more. http://p.sf.net/sfu/sophos-d2d-feb