GNU bug report logs - #10781
EIEIO namespace use

Previous Next

Package: emacs;

Reported by: Stefan Monnier <monnier <at> iro.umontreal.ca>

Date: Fri, 10 Feb 2012 18:42:01 UTC

Severity: important

Found in version 24.0.92

Done: Noam Postavsky <npostavs <at> users.sourceforge.net>

Bug is archived. No further changes may be made.

Forwarded to http://lists.gnu.org/archive/html/emacs-devel/2013-02/msg00199.html

Full log


View this message in rfc822 format

From: "Eric M. Ludlam" <ericludlam <at> gmail.com>
To: David Engster <deng <at> randomsample.de>
Cc: 10781 <at> debbugs.gnu.org, Stefan Monnier <monnier <at> iro.umontreal.ca>
Subject: bug#10781: EIEIO namespace use
Date: Sat, 28 Apr 2012 08:29:48 -0400
On 04/28/2012 06:28 AM, David Engster wrote:
> Stefan Monnier writes:
>> EIEIO needs to be cleaned up so it doesn't intrude all over
>> the namespace.
>> The worst offenders include:
>> - `this'.
>> - `slot-*'.
>> - `constructor', `destructor'.
>> - `delete-instance'.
>> - `initialize-instance'.
>> - `clone'.
>> - `data-debug*'.
>> - `make-instance'.
>> - `oref'.
>> - `oset'.
>> - `with-slots'.
>> - `object-*'.
>> - `class-*'.
>> - `next-method-p'.
>> - `call-next-method'.
>> - error symbols (like no-next-method).
>> - ... probably `defmethod', `defclass', and `defgeneric'.
>
> I think this should be a goal for the next merge, but I'm at a loss
> regarding how this should be tackled without, you know, breaking
> practically every bit of code in CEDET and probably others. Do you have
> a suggestion? Maybe even creating EIEIOv2 and slowly porting CEDET to
> that?

Many symbols in eieio are the names given by CLOS, like 
initialize-instance, make-instance, with-slots, and call-next-method. 
Other names like oref/oset were meant to fill gaps where Emacs couldn't 
do it the clos way.  If Emacs is to have a good way to do some basic OO 
programming, it seems to me that the names would match up with other 
core functions that crowd the core namespace, and it would seem poor to 
fill your oo code with a bunch of unnecessarily long names.

That said, there are certainly plenty that could be removed, and I would 
not be sad to see them go... like 'this' and a few of the class-* and 
object-* functions.  Some already have eieio-* equivalents, but I didn't 
finish that.

Eric




This bug report was last modified 9 years and 41 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.