>>> drkm <darkman_spam@...> seems to think that:
> The Info node for `eieio-persistent' <INFO:eieio/eieio-persistent>
>documents the method `eieio-save()'. But I can't find it in the
> "Greping" the source directory of CEDET for "eieio-save" says
>nothing and for "object-save" give it once in a comment, and once in
>a docstring. Is it a documentation desynchronization=C2=A0?
It does look like a typo in the documentation.
If you get stuck like this with other classes, you can use:
M-x describe-class RET eieio-persistent RET
and it will get the correct names because it dumps the actual
method tables and associated doc strings.
You can also use C-h v, but it does not restrict you to just classes.
> Well, I found `eieio-persistent-save()', which seems to be the
>correct method for this purpose. Why prefixe it with the class name ?
>The above name, `object-save()', is more general, isn't it ?
There was a big to-do about this a couple years back on some news
group for how this should work in Emacs' flat name-space. In EIEIO, I
opted for the following simple rules:
1) Methods on `eieio-default-superclass' are simple, like
`object-write' are not prefixed with the class name.
1.a) CLOS methods on `standard-object' are not prefixed with `eieio-'
1.b) Methods which are unique to EIEIO are prefixed with `eieio-'.
2) Methods on subclasses which are not intended for any other class
are prefixed with, and the very least, a subset of the class name
that method was derived from.
In theory this doesn't matter since methods on other unrelated classes
wouldn't clash, but it could pollute the global namespace should the
maintainers of Emacs feel the need to create a function
Basically, I'm just following the Emacs Lisp programming guidelines.
> Furthemore, this Info node says, about `object-write()'=C2=A0: "Like
>`object-write' for `standard-object', but [...]". Does this mean
>it is like `object-write' method of `eieio-default-superclass'=C2=A0?
[ ... ]
`standard-object' is the CLOS name for the root of a given object
tree. In CLOS there can be more than one, but if you don't specify,
that's what you get.
In EIEIO, for historical reasons, I use `eieio-default-superclass',
and later made the alias for CLOS compatibility. A side effect is
apparently a bit of confusing documentation.
Eric Ludlam: zappo@..., eric@...=
Home: http://www.ludlam.net Siege: http://www.siege-engine.com
Emacs: http://cedet.sourceforge.net GNU: http://www.gnu.org