Re: [CEDET-devel] oref does not eval 2nd arg
Brought to you by:
zappo
From: Eric M. L. <er...@si...> - 2007-04-07 11:39:53
|
Hi, The second argument to oref is not evaluated just as the variable name of setq is not evaluated. That way symbols that are not self-referential, such as just `author' will work w/out quoting. To do what you want, you can use `slot-value' which is the CLOS way to do it. There are also the functions the macros for oref/oset use which are `eieio-oset' and `eieio-oref'. I never documented those assuming they were not needed but, in fact, it does keep coming up on occasion. Good Luck Eric >>> Hans Halvorson <hhalvors@Princeton.EDU> seems to think that: >Suppose we have defined a class called "Item" that has a slot called >"author". Then to return the author of a specific item, say my-item, we >can do: > >(oref my-item :author) > >But if I do: > >(let ((foo :author)) > (oref my-item foo)) > >then I get 'invalid-slot-name "#<Item >" foo'. So, it seems that the >2nd argument is not being evaluated. Should this be considered a bug? >And if not, how can I work around this feature so that I can use >variables in the second argument of oref? > >Thank you, >Hans > >------------------------------------------------------------------------- >Take Surveys. Earn Cash. Influence the Future of IT >Join SourceForge.net's Techsay panel and you'll get the chance to share your >opinions on IT & business topics through brief surveys-and earn cash >http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >_______________________________________________ >Cedet-devel mailing list >Ced...@li... >https://lists.sourceforge.net/lists/listinfo/cedet-devel > -- Eric Ludlam: za...@gn..., er...@si... Home: http://www.ludlam.net Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net GNU: www.gnu.org |