[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#19678: [PATCH] EUDC does not support BBDB 3.x
From: |
Thomas Fitzsimmons |
Subject: |
bug#19678: [PATCH] EUDC does not support BBDB 3.x |
Date: |
Mon, 26 Jan 2015 17:21:22 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) |
Sergio Durigan Junior <sergiodj@sergiodj.net> writes:
> On Sunday, January 25 2015, Thomas Fitzsimmons wrote:
>
>> Can you see if the attached patch works for you? It works for me,
>> introduces minimal changes and allows for upgrading BBDB 2 to BBDB 3
>> without restarting Emacs. The defvar change in your patch concerns me
>> because it will miss if the BBDB version changes after the variable is
>> first assigned.
>
> Almost there... The patch doesn't work as-is because
> 'eudc-bbdb-current-return-attributes' is set to '(firstname lastname
> mail) for me when eudc-bbdb-format-record-as-result is called. It means
> that, in the while loop, it will try to call eq/memq against 'mail, and
> it fails.
Hmm, I thought those get converted; in any case, I wasn't seeing that
problem. Do you have any customizations of the relevant variables? Do
you have my latest EUDC/LDAP changes from master tip?
Can we step back a bit and make sure we're doing the same tests? BBDB
2.x is tricky because it is provided by the distro, in my case Fedora.
Let's focus on testing BBDB 3.x so that I can replicate the exact same
issue that you're seeing.
Can you revert our patch, then:
1) Checkout and build Emacs revision
03a20dc9519616359bfa1b77fd4b31e1963c8bd4 from
git://git.savannah.gnu.org/emacs.git
This revision has a bunch of my EUDC/LDAP updates in it.
2) Download
http://download.savannah.gnu.org/releases/bbdb/bbdb-3.1.2.tar.gz
3) Untar and build the ELPA package:
export EMACS=<your-emacs-build-dir>/src/emacs
./configure && make elpa
unset EMACS
4) In the emacs src directory:
mkdir test-home
5) HOME=`pwd`/test-home ./emacs -Q
6) M-x package-install-file
bbdb-3.1.2.tar (the one built in step 3)
7) M-x bbdb-create
Name: Test User
Network Address: test@gnu.org
8) C-x s
to save .bbdb
9) M-: (eval-after-load "message"
'(define-key message-mode-map (kbd "TAB") 'eudc-expand-inline))
10) M-: (setq debug-on-error 't)
11) C-x m
12) Tes[TAB]
(no server, bbdb protocol)
Without my patch, I get:
Debugger entered--Lisp error: (void-function bbdb-record-net)
(bbdb-record-net record)
eval((bbdb-record-net record))
eudc-bbdb-format-record-as-result(["Test" "User" nil nil nil nil nil
("test@gnu.org") ((creation-date . "2015-01-26 21:56:26 +0000")
(timestamp . "2015-01-26 21:56:26 +0000")) ["Test User" "User, Test"
nil ("test@gnu.org") nil #<marker at 64 in bbdb>]])
mapcar(eudc-bbdb-format-record-as-result (["Test" "User" nil nil nil
nil nil ("test@gnu.org") ((creation-date . "2015-01-26 21:56:26
+0000") (timestamp . "2015-01-26 21:56:26 +0000")) ["Test User" "User,
Test" nil ("test@gnu.org") nil #<marker at 64 in bbdb>]]))
eudc-bbdb-query-internal(((firstname . "Tes")) (firstname lastname
net))
eudc-query(((firstname . "Tes")) (firstname lastname net))
eudc-expand-inline()
funcall-interactively(eudc-expand-inline)
call-interactively(eudc-expand-inline nil nil)
command-execute(eudc-expand-inline)
With my patch (0001-EUDC-Support-BBDB-3.patch), it works. eudc-query
gets called with 'net, not 'mail.
If that works for you, can you try to replicate the other error you're
seeing when my patch is applied, in this same minimal environment, and
paste the testing steps and the backtrace you get?
Thanks,
Thomas