[CEDET-devel] Re: no-next-method in SemanticDB
Brought to you by:
zappo
From: drkm <dar...@ya...> - 2005-07-06 02:30:19
|
"Eric M. Ludlam" writes: > Was your other problem ever resolved that caused the need for this > patch? When EIEIO recompiles, it re-creates a new default superclass. > Re-creation of any class is supposed to find objects that inherit from it > and swap in the new value. A great idea in principle, but sometimes > it goes awry in the same way you had described the original problem. Not already. I didn't already have time to try. Maybe on Thursday. But the strange thing is that I already had the same problem. I'm on Cygwin here, and I had the same problem on a Linux (at SF.net or lxplus.cern.ch, I don't remember), with the pre2, I think. Here with a CVS GNU Emacs, and there with a 21.3, I think. After installed CEDET the way the INSTALL file told me. I'll let you know if I find something interesting. > An earlier question was how to distinguish which version of a method > was the problem. Each method is stored on a symbol the same name as > the class. Thus if method foo on object BAR is called, you would see > a stack that starts with foo, and eventually calls BAR, except BAR is > not in the default symbol obarray. As such, you can learn a lot from > a stack... which is what was missing in this case. Yes. Such a stack would be easily implementable. 'call-next-method' may easily maintains it, isn't it? One particularity of EIEIO (in regard of CLOS) is that the dispatching is done only on the first argument. So a stack of classes symbols may be enough (the entire arguments lists, as I first said, is too much). But having real objects representing methods could be of interest, too. They can be stored in the plist of the same-name-of-the-class-symbols in the obarrays in the 'eieio-method-obarray' property of the generic function symbol, for example. > It should be possible to derive the active method symbol, and append > the text together for the method name to make something > comprehensible. What do you mean by "to derive the active method symbol"? Thanks, --drkm |