Hi Thomas, Please find attached a new version and a sql file. Thomas Fitzsimmons writes: > Danie Roux writes: >> I've updated eudcb-mab.el to directly query the contacts database, >> instead of using an external application. > > It looks like you're still relying on an external application, sqlite3, > instead of "contacts", right? Yes, thank you for picking that up. By external I meant "no additional software". > It probably makes sense to change eudcb-mab in the way you're > suggesting rather than providing a new backend eudcb-mab-sqlite, > right? Yes. > Is this patch backward compatible with the "contacts" format? If not, > do you have a sense for how common the "contacts" format is these > days? Would it make sense to obsolete the contacts format and support > only the sqlite3 format in Emacs 25? That would be my suggestion. I have no feel for how many people use the "contacts" external application. This should be a seamless change because it was never possible to set the location or the format to the "contacts" application >> Please find the changed version attached. > > Are you able to provide a test database file with example data and a > test procedure for using it for completion? That would be a useful > addition. I haven't been able to test the MAB backend myself because I > don't have access to a Mac OS or GNUstep system. Please find attached an anonymized and stripped contacts.sql file to be used: $ sqlite3 /tmp/test-contacts.db < contacts.sql And: (setq eudc-contacts-file "/tmp/test-contacts.db") (eudc-set-server "dummy" 'mab t) In a scratch buffer: (eudc-mab-sqlite3-dump-mac-addressbook) Searching for "Richard" or "Anton" should be interesting: (eudc-query-form) > Do you have a copyright assignment on file? No. I'm not in the US. Do I just email copyright-clerk@ ? -- Danie Roux