Re: [cedet-eieio] Cleaning up the EIEIO namespace
"Eric M. Ludlam" <[email protected]> Wed, 20 Feb 2013 18:41:35 -0500
| Newsgroups | gmane.emacs.devel,gmane.emacs.eieio |
|---|---|
| Message-ID | <[email protected]> |
On 02/19/2013 02:49 PM, David Engster wrote: > Stefan Monnier writes: >> For the CL package we solved this problem by leaving the "cl.el" package >> as a "compatibility package" only required by the packages that haven't >> been updated to use the new names. CL was so widely used that it will >> take a *long* time to get rid of all uses of the old names, whereas >> EIEIO's use is not as pervasive, so we don't necessarily have to do the >> same for it. >> This said, maybe it would make sense to move "eieio.el" to "cl-eieio.el" >> (with clean names, autoloaded from cl-lib) and then make eieio.el >> into a simple compatibility package full of aliases. > > What to do with the other files like eieio-base then? We cannot rename > it to cl-eieio-base.el because of name clashes, but it also provides > part of the public, CLOS-like functions. There is nothing in eieio-base from CLOS. Those are all just handy base-classes / concepts that I used elsewhere in CEDET. > To summarize the options so far: > > 1) Prefix everything with eieio- and be done with it. Create obsolete > aliases for the old names and get rid of them "soon" (Emacs > 25?). Alternatively, create an eieio-compat package with aliases for > the old names. > > 2) Prefix everything with eieio- and create cl- aliases for the > CLOS-like functionality. Those aliases may be defined in > > 2a) the eieio* files itself, or > 2b) in a separate cl-whatever.el file. > > As in 1), define obsolete aliases for the old names or use a compat > package. > > 3) Rename eieio to cl-eieio with clean names (i.e., eieio- and > cl-prefixes), autoloaded from cl-lib, and make eieio.el a simple > compatibility package full of aliases. > > I'm currently pretty much tied on "2b)+compat package" and 3). I am fine with most of these ideas, but agree with David that option 3 is pretty good. Eric