On Thu Dec 24 2015 Eric Abrahamsen wrote: > A while ago there was a very brief exchange about the possibility of a > version of BBDB refactored on top of the EIEIO object orientation > library. I've been thinking about that for a while, and recently wrote > a sort of prototype. I'd like to share it with everyone, either as an > attachment to the list, or I guess preferably by pushing a branch to > the git repo. > > There isn't anything particularly wrong with BBDB that needs fixing, > but an OO version of the database does lots of good things, mostly in > the direction of extension and customization. It also gets us free > file serialization courtesy of eieio-persistent, and I've added in > support for multiple databases.
I don't know much about EIEIO, but I am not sure it would benefit BBDB so much to add an extra layer of abstraction. Correct me if I am wrong, but what kind of problem can really be solved cleaner and how? Extensions and customizations of BBDB should use a high-level API, which does not expose the details of how things are implemented. Currently, a good example for this is the function bbdb-record-set-field. Anyone wanting to extend or customize BBDB should not call the low-level functions that do the real work inside bbdb-record-set-field, because the low-level implementation might change at some point for whatever reason. How could EIEIO possibly provide a better solution (better in what sense)? Apart from that, I also believe that currently there are more important issues. First of all, I hope that with the OK from RMS, we can now integrate the core of BBDB into GNU Emacs (which still requires some work to make it happen). Roland ------------------------------------------------------------------------------ _______________________________________________ bbdb-info@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bbdb-info BBDB Home Page: http://bbdb.sourceforge.net/