[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: eudc fails with bbdb

From: Kevin Rodgers
Subject: Re: eudc fails with bbdb
Date: Thu, 14 Apr 2005 16:33:50 -0600
User-agent: Mozilla Thunderbird 0.9 (X11/20041105)

Sébastien Kirche wrote:
> Le 14 Apr 2005, Kevin Rodgers vraute :
>>The eudc-bbdb-extract-phones function was compiled without the
>>bbdb-record-phones macro defined, so it was assumed to be a function.
>>This problem would be prevented if the eudc-bbdb-extract-phones source
>>file had
>>        (eval-when-compile (require 'bbdb-foo))
>>assuming bbdb-record-phones is defined in bbdb-foo.el, which provides
>>the bbdb-foo feature.
> Many thanks for that explanation !
> Actually i had found with Google  that 4 years ago you already explained
> why such a call was failing :
> But I was not able to find out the solution.

M-x byte-compile-file RET eudc-bbdb.el RET

> BTW  : as  eudc is  part of  Emacs,  maybe i  should send  a request  to
> emacs-devel for adding  the eval-when-compile ? Or maybe  Stefan, if you
> are reading this... Or is it a normal case ?

But bbdb is not part of Emacs, and so the eudc-bbdb library which
depends on it is definitely abnormal.  eudc-bbdb.el does try to do the
right thing:

(require 'eudc)
(if (not (featurep 'bbdb))
    (load-library "bbdb"))
(if (not (featurep 'bbdb-com))
    (load-library "bbdb-com"))

but the Lisp files in the Emacs distribution are presumably compiled
without any add-on libraries available.  I think if those were changed
to the conventional usage:

(require 'eudc)
(require 'bbdb)
(require 'bbdb-com)

then eudc-bbdb.el would fail to compile in a bare Emacs, so a bogus
eudc-bbdb.elc would not be distributed.  As long as Emacs can be built
without every .el file being successfully compiled, that would be fine.

Kevin Rodgers

reply via email to

[Prev in Thread] Current Thread [Next in Thread]