:BIRTHDAY: without any date is an invalid date for the sexp.

org-contacts-anniversaries loops through all valid contacts (headlines with an :EMAIL: property) for any that contain the :BIRTHDAY: property (by default, this can be customized).

When there is no date associated the value is nil.

(calendar-gregorian-from-absolute
  (org-time-string-to-absolute anniv))

Where anniv is the date retrieved from :BIRTHDAY:. nil is not a valid date, so the expression fails, giving you a bad sexp.

On Tue, Nov 8, 2011 at 6:25 PM, Marius Hofert <marius.hofert@math.ethz.ch> wrote:
>>> (load-library "diary")
>>>
>>> This calls the function load-library with the string argument "diary".
>>> This form can be added to .emacs. Alternatively, you can use the
>>> require form that I posted:
>>>
>>> (require 'diary)
>>
>> I obtain (also for (load-library "diary") ):
>> File error: Cannot open load file, diary
>>
>> I assume I'm missing some diary.el (?).
>>
>
> Nope, I'm wrong: diary-anniversary is in diary-lib, so the
> correct form is
>
> (load-library "diary-lib")
>
> or
>
> (require 'diary-lib)


okay, that's also what I tried and it worked. However, I still see the "Bad sexp..." error when there is a BIRTHDAY tag *without* date, so just a line containing ":BIRTHDAY:" But that's of course not a big issue.