Eric Abrahamsen <e...@ericabrahamsen.net> writes:

> "Roland Winkler" <wink...@gnu.org> writes:
>
>> On Tue Mar 10 2015 Eric Abrahamsen wrote:
>>> When `bbdb-record-set-field' is setting a phone or address field, it
>>> adds the new label to the list of existing labels like this:
>>> 
>>> (add-to-list 'bbdb-phone-label-list (bbdb-phone-label phone) nil 'eq)
>>> 
>>> The labels are strings, and 'eq comparison means they're never
>>> equal
>>
>> Thank you, that's a bug, though fortunately one that does not affect
>> daily usage of BBDB too much.  I guess I thought these labels were
>> symbols when I wrote this code.  The same problem exists with
>> bbdb-address-label-list.
>
> Yeah, I figured they were probably symbols at some point. And no, it
> certainly never became an issue -- I wouldn't have even noticed if I
> hadn't tried to upgrade helm-bbdb.
>
>> I have several (more or less minor) patches for BBDB waiting, where
>> lately I was too busy with other things to install them.  I hope
>> that soon I'll find the time to do that.
>
> Let us know if you want any help. I ought to have push access to the
> savannah repo, if it's just a matter of formatting some patches and
> throwing them up there.

For this issue, this patch ought to do it.

E

>From 0c5e9862df8cd3e8fd8a6844f34f7b3e614f06ac Mon Sep 17 00:00:00 2001
From: Eric Abrahamsen <e...@ericabrahamsen.net>
Date: Wed, 11 Mar 2015 18:03:29 +0800
Subject: [PATCH] Compare phone/address labels using equal

* lisp/bbdb.el (bbdb-record-set-field, bbdb-parse-records): When
  collecting labels for phone and address fields, add-to-list should
  compare with equal.
---
 lisp/bbdb.el | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/lisp/bbdb.el b/lisp/bbdb.el
index f32a74b..88725fc 100644
--- a/lisp/bbdb.el
+++ b/lisp/bbdb.el
@@ -2831,7 +2831,7 @@ See also `bbdb-record-field'."
                                                    value 'equal)))
            (if check (bbdb-check-type value (bbdb-record-phone record-type) t))
            (dolist (phone value)
-             (add-to-list 'bbdb-phone-label-list (bbdb-phone-label phone) nil 'eq))
+             (add-to-list 'bbdb-phone-label-list (bbdb-phone-label phone) nil 'equal))
            (bbdb-record-set-phone record value))
 
           ;; Address
@@ -2840,7 +2840,7 @@ See also `bbdb-record-field'."
                                                    value 'equal)))
            (if check (bbdb-check-type value (bbdb-record-address record-type) t))
            (dolist (address value)
-             (add-to-list 'bbdb-address-label-list (bbdb-address-label address) nil 'eq)
+             (add-to-list 'bbdb-address-label-list (bbdb-address-label address) nil 'equal)
              (mapc (lambda (street) (bbdb-add-to-list 'bbdb-street-list street))
                    (bbdb-address-streets address))
              (bbdb-add-to-list 'bbdb-city-list (bbdb-address-city address))
@@ -3263,9 +3263,9 @@ If `bbdb-file' uses an outdated format, it is migrated to `bbdb-file-format'."
 
           ;; Set the completion lists
           (dolist (phone (bbdb-record-phone record))
-            (add-to-list 'bbdb-phone-label-list (bbdb-phone-label phone) nil 'eq))
+            (add-to-list 'bbdb-phone-label-list (bbdb-phone-label phone) nil 'equal))
           (dolist (address (bbdb-record-address record))
-            (add-to-list 'bbdb-address-label-list (bbdb-address-label address) nil 'eq)
+            (add-to-list 'bbdb-address-label-list (bbdb-address-label address) nil 'equal)
             (mapc (lambda (street) (bbdb-add-to-list 'bbdb-street-list street))
                   (bbdb-address-streets address))
             (bbdb-add-to-list 'bbdb-city-list (bbdb-address-city address))
-- 
2.3.2

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
bbdb-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bbdb-info
BBDB Home Page: http://bbdb.sourceforge.net/

Reply via email to