From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Engster Newsgroups: gmane.emacs.devel,gmane.emacs.eieio Subject: Re: [cedet-eieio] Cleaning up the EIEIO namespace Date: Thu, 14 Feb 2013 22:17:56 +0100 Message-ID: <874nhefvcr.fsf@engster.org> References: <87sj51fakd.fsf@engster.org> <87k3qcfa4x.fsf@engster.org> <511C39A9.4000403@siege-engine.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1360876692 6618 80.91.229.3 (14 Feb 2013 21:18:12 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 14 Feb 2013 21:18:12 +0000 (UTC) Cc: emacs-devel@gnu.org, cedet-eieio@lists.sourceforge.net, "Eric M. Ludlam" To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Feb 14 22:18:34 2013 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 1U66CP-0001ys-Lt for ged-emacs-devel@m.gmane.org; Thu, 14 Feb 2013 22:18:33 +0100 Original-Received: from localhost ([::1]:46930 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U66C5-0005Ds-Tp for ged-emacs-devel@m.gmane.org; Thu, 14 Feb 2013 16:18:13 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:35870) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U66Bz-0005Dh-LJ for emacs-devel@gnu.org; Thu, 14 Feb 2013 16:18:11 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1U66Bv-0005LW-Ne for emacs-devel@gnu.org; Thu, 14 Feb 2013 16:18:07 -0500 Original-Received: from randomsample.de ([83.169.19.17]:51967) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U66Bu-0005L9-Ub for emacs-devel@gnu.org; Thu, 14 Feb 2013 16:18:03 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=randomsample.de; s=a; h=Content-Type:MIME-Version:Message-ID:Date:References:In-Reply-To:Subject:Cc:To:From; bh=aZ00rxDlR7sMDiVEHAUg7D/ADT4tHfxBFHIs8TH1dgo=; b=VFcYCQQIZ9sXmDJKBtrj5Qj5ytNGKSbBMTG2UIEYljenLCV7J8ThsbCDY2T5u9hHRY8KjZWEcWhARlJxOX0N2FYPz+1AXm6XzggRinhXe0AYsh9o5wJBXHiB/812/t5D; Original-Received: from dslc-082-083-045-086.pools.arcor-ip.net ([82.83.45.86] helo=spaten) by randomsample.de with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1U66Br-0000Nk-Kw; Thu, 14 Feb 2013 22:17:59 +0100 In-Reply-To: (Stefan Monnier's message of "Thu, 14 Feb 2013 08:49:26 -0500") User-Agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.2.92 (gnu/linux) Mail-Followup-To: Stefan Monnier , "Eric M. Ludlam" , cedet-eieio@lists.sourceforge.net, emacs-devel@gnu.org X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 83.169.19.17 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:157034 gmane.emacs.eieio:141 Archived-At: Stefan Monnier writes: >> setf is part of cl, and couldn't be used at runtime, so I mocked >> up the behavior with something matching aref/aset instead. > > Actually, there's a misunderstanding here: > - setf was indeed part of CL, but being a macro it was accepted > (i.e. you don't need to have it defined at run-time, since it's > macro-expanded during compilation). > - setf is part of core Elisp in Emacs-24.3. > So maybe we don't need oref/oset at all. Yes, although I like "(oset foo bar 'baz)" much better than the verbose (setf (cl-slot-value foo 'bar) 'baz) But I can understand that you want to get rid of it, and package writers can still define their own macros/accessors. Our problem on the CEDET side is that we want to stay compatible with older Emacsen, so we'll need some compat package. > We could even justify the "cl-" prefix by making cl-lib autoload > `cl-slot-value' from eieio.el. Or use the "eieio-" prefix everywhere > in eieio*.el and then define "cl-" aliases in cl-lib.el. Doesn't that mean that requiring cl-lib would load the full EIEIO package? -David