[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] [BUG?] subtle sequencing error when setting org-bbdb-old in org-
From: |
David Maus |
Subject: |
Re: [O] [BUG?] subtle sequencing error when setting org-bbdb-old in org-bbdb.el |
Date: |
Mon, 27 Feb 2012 21:26:29 +0100 |
User-agent: |
Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (Gojō) APEL/10.8 Emacs/24.0.93 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) |
Hi Nick,
At Sat, 25 Feb 2012 04:20:10 -0500,
Nick Dokos wrote:
>
> I was bitten by this and it took me a while to figure out what was going
> on, so maybe I can save somebody some time by recording the problem here.
>
> I'm using bbdb 2.36devo (i.e. an old bbdb version - see below for my
> 3.0 troubles), and although org-bbdb-anniversaries was working fine,
> bbdb links did not: C-c l on a bbdb entry would raise an error about
> void function bbdb-record-get-field. Now org-bbdb-store-link contains
> the following code
>
> (if org-bbdb-old
> (bbdb-record-getprop rec 'company)
> (car (bbdb-record-get-field rec 'organization))
>
> so clearly org-bbdb-old was nil - but why? It seemed to me that it should
> be t since my bbdb was old.
>
> It turns out that org-bbdb.el contains a line that sets org-bbdb-old
> thus:
>
> (defvar org-bbdb-old (fboundp 'bbdb-record-get-field-internal))
>
> Check whether an "old" bbdb function is present and if so, set
> org-bbdb-old to t. Basically, the variable tells the rest of org-bbdb.el
> whether one's bbdb is old (< 3.0) or not, so that it can use the proper
> compatibility layer. This was not working in my case : the variable
> resolutely held the value nil, no matter what requires/load-library/ etc
> tricks I threw at it.
>
> The problem was that org-bbdb is part of org-modules by default and that
> was loading org-bbdb way too early, certainly before bbdb itself was
> loaded. That would set the value to nil and nothing I would do could
> change it (short of whacking it with a setq).
I pushed a patch that should fix this problem. I wrapped a
`eval-after-load' around the `defvar', this should make sure that the
variable is set after bbdb was loaded.
>
> Re: the bbdb 3.0 troubles. I have tried switching to bbdb 3.0
> (specifically "BBDB version 3.02 ($Date: 2012/01/02 10:08:06 $)") but
> I've been stymied so far with org-bbdb-anniversaries blowing up (a far
> worse scenario than the link problem above - that's why I'm still using
> 2.36devo and went after the link fix first).
>
> The error I get is "Debugger entered--Lisp error: (void-function
> bbdb-record-getprop)" in org-bbdb-anniv-hash (see backtrace below),
> but I haven't chased down that problem yet. But it seems there are
> people using bbdb 3.0 so I'm wondering what's wrong with my setup.
Can't comment on this.
Best,
-- David
--
OpenPGP... 0x99ADB83B5A4478E6
Jabber.... address@hidden
Email..... address@hidden
pgp_oGpCth5nP.pgp
Description: PGP signature