[BBDB] ChangeLog 2011-02-27

2011-02-27 Thread Roland Winkler
The new ChangeLog is attached below.  It turned out much bigger than
what I had planned to do.

-

I introduced a new variable bbdb-address-format-list for more
flexible address formatting and editing. Rules are based on country
names if this field is defined. Otherwise a customizable default is
used. I hope that the new code allows to handle in a fairly
convenient and flexible way the different formats used in different
countries. Hard-coded solutions such as
bbdb-format-address-continental and bbdb-address-edit-continental
should be obsolete now. I kept one set of such functions to have an
example if someone still wants to define his or her own functions
for this.

On Tue Feb 8 2011 Luca Capello wrote:
 On Thu, 03 Feb 2011 05:31:50 +0100, Roland Winkler wrote:
  On Wed Feb 2 2011 Johnny wrote:
  This is a good idea; the current BBDB handling seems very
  US-centered. For one, I think Postal code should replace the American
  term Zip code as default naming, as this seems to be the generic
  term.
 
  This becomes yet more complicated. I vaguely remember that some
  other english-speaking countries use yet different names instead of
  zip code and postal code, but I forgot where it was and what
  their alternative terminology was...
 
 Well, I would say that by default we should use the same term used by
 the UPU, which is Postcode [1], albeit quite surprisingly the main
 article on Wikipedia is referred as Postal Code:

Oh well... I do not want to discriminate anybody... postcode has
the wonderful advantage of being a bit shorter than postal code.
And maybe, it can treat all bbdb users the same by being a term that
is not used anywhere else but in some administrational guidelines
and in bbdb!

-

Previously, the labels for note fields were saved in between
sessions in the bbdb data file. Yet I thought there is no point in
saving those whereas bbdb-phone-label-list and bbdb-address-label-list
are always recalculated. So now the value of bbdb-notes-label-list is
recalculated, too. This means that now one can remove the header
line starting

  ;;; user-fields:

from bbdb-file. In a way, this is a change of the format of the data
base. But it should be completely backward compatible as it was
never a problem for bbdb if the user-fields were not saved in the
database.

-

Editing phone numbers now allows one to change the format of an
existing entry from North American numbering plan (NANP) to the
freestyle format and back.

-

On Fri Feb 4 2011 Antoine Levitt wrote:
 I've got an issue with the bbdb-complete-name function. When using
 another completion in message mode, such as 
 
 (setq message-tab-body-function (lambda () (interactive) (dabbrev-expand
 nil)))
 
 , a successful BBDB completion also triggers the dabbrev-expand
 completion.

 I'm not entirely sure what the return value should be in all
 circumstances, but in the one described above it should be t, so
 that message doesn't try to complete.

I have now given the command bbdb-complete-mail (formerly
bbdb-complete-name) a well-defined return value. It is non-nil only
if the string preceding point is a valid completion so that the
above problem should not exist anymore.

The old code of bbdb-complete-name also used expand-abbrev as a fall
back if bbdb-expand-mail-aliases was non-nil. Yet I thought this were
really too many concepts stuffed into the function bbdb-complete-name.
If one uses instead the new return of bbdb-complete-mail, one can
now simply use something like

(defun my-bbdb-complete-mail ()
  (interactive)
  (or (bbdb-complete-mail)
  (mail-abbrev-complete-alias)
  (expand-abbrev)))

and one can easily permute the order of these calls depending on
one's taste.

-

The function bbdb-mua-wrapper contained a bug as it did not work for
mail and message mode. This is fixed.

-

On Sun Feb 13 2011 Antoine Levitt wrote:
 13/02/11 15:31, Roland Winkler
  I think the let should be before the if in
  bbdb-mua-pop-up-bbdb-buffer. Or even better, bbdb-insinuate would hook a
  function to notice contacts, independently from pop-ups.
 
  I guess from your perspective bbdb-mua-pop-up-bbdb-buffer is, first
  of all, a misnomer. The main action is hidden in
  bbdb-mua-update-records. -- I'll look into this.
 
 Yes. Maybe there should be two separate functions added to the hook, one
 for noticing and the other for displaying the popup.

Two functions would duplicate things, which is something I'd like to
avoid.  Instead, I renamed bbdb-mua-pop-up-bbdb-buffer to
bbdb-mua-auto-update, which, I believe, gives a much clearer idea
what the main purpose of this function is.  And bbdb-mua-pop-up-bbdb-buffer
is tested after calling bbdb-mua-update-records.

In a similar spirit, I also renamed bbdb-mua-pop-up-init to
bbdb-mua-auto-update-init. Also, I extended the doc strings for
bbdb-mua-auto-update-init and bbdb-initialize, because at a first
glance, it is a bit confusing that 

Re: BBDB 3.02 bbdb/gnus-edit-notes not working

2011-02-27 Thread Roland Winkler
 On Wed Feb 16 2011 Johnny wrote:
 Ok, so I have reverted to bbdb 2.35 to test the ';'
 (bbdb/gnus-edit-notes) functionality, and using this function adds the
 sender to the database if not already present, as explained in the info 
 files. 
 
 This function is broken in bbdb 3.02 as the ';' does not add the sender
 to the database. 
 
 Cross-posting (let me know if this is wrong) to the gnus mailing list,
 if some experience Gus user has resolved this. 

Finally I got a rudimentary gnus running. When I invoke
bbdb-mua-edit-notes-sender (formerly bbdb/gnus-edit-notes) it allows
me to edit notes as expected. (I used the latest version of BBDB
that I submitted today. Yet I believe that none of the latest
changes should be relevant here.)

Actually, what do you mean more precisely by the following?

 the ';' does not add the sender to the database.

This is controlled by your setting of bbdb/gnus-update-records-p.
What is your value of this variable? The default is a query, which
is exactly what I got in my test.

Roland

--
Free Software Download: Index, Search  Analyze Logs and other IT data in 
Real-Time with Splunk. Collect, index and harness all the fast moving IT data 
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business 
insights. http://p.sf.net/sfu/splunk-dev2dev 
___
bbdb-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bbdb-info
BBDB Home Page: http://bbdb.sourceforge.net/


Re: bbdb-complete-name return value

2011-02-27 Thread Roland Winkler
On Wed Feb 23 2011 Ted Zlatanov wrote:
 SM Currently, the cycling code is fairly naive and it uses a fixed ordering
 SM based on string length (shorter first).  Patches to make it more
 SM customizable (by the completion table, not just by the end-user) would
 SM be very welcome (e.g. for file completion, it could first cycle through
 SM VCS-managed files).
 
 TZ Maybe accept the score as a property to the candidate strings and use
 TZ that property, if it exists, instead of the string length?
 
 TZ That would side-step the current completion mechanism nicely, requiring
 TZ little extra code except in the final sort of candidates.  If the
 TZ strings aren't mangled by the completion mechanism, of course--but I
 TZ don't think they are after a quick scan.
 
 Should I pursue this myself or are you guys (Stefan or Roland)
 interested in doing it?

It appears to me that any such things should be implemented as a
feature of the generic completion code of emacs. To the best of my
knowledge, this is something that Stefan has worked on a lot
(and done a great job!).

Yet I simply do not know his strategies. So I do not know how your
specific suggestion would relate to his plans.

Roland

--
Free Software Download: Index, Search  Analyze Logs and other IT data in 
Real-Time with Splunk. Collect, index and harness all the fast moving IT data 
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business 
insights. http://p.sf.net/sfu/splunk-dev2dev 
___
bbdb-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bbdb-info
BBDB Home Page: http://bbdb.sourceforge.net/


Re: BBDB ELPA-style packaging

2011-02-27 Thread Roland Winkler
On Wed Feb 23 2011 Ted Zlatanov wrote:
 On Sat, 22 Jan 2011 10:54:12 -0600 Roland Winkler wink...@gnu.org wrote: 
 
 RW On Thu Jan 20 2011 Ted Zlatanov wrote:
  Let me know when you've figured out what portions and authors need to be
  tracked down.  I'll work with Chong Yidong and you to do it.
 
 RW I'll try to make some kind of table that shows how the functionality
 RW in the current code (functions and variables) relates to the old
 RW BBDB code. Then hopefully it will become more clear to what extent
 RW which parts of BBDB still contain old code. Then we can go from there.
 
 Any updates?

Unfortunately, I need to say that my time for such things is
limited. I am doing my best, but it's hard to make more specific
predictions. All I can say is that right now my schedule is filled
yet more with other stuff.

 Could you consider moving to Git or Bazaar for development? CVS is
 very inconvenient. I can't use it from work, for instance (pserver
 is blocked, only http and https work).
 
 If you like Git, I can host the repository or you can use Github or your
 own server.  I personally don't like to depend on Github but many do.
 
 For Bazaar, I think you can use a Savannah repository but I don't know
 what setup is needed.

In principle, I am open here. I have used CVS for bbdb quite simply
because I know how I can do the few things that I want/need to do. I
haven't found the time to sit down and figure out how git and bzr
are working, though this is on my todo list, too.

 The BBDB web page is outdated and should probably at least mention
 version 3.

Which web page? The one on savannah? I started with a rather
rudimentary web page. As things progress, it might be good to update
it, too. (I cannot do anything about the old sourceforge page.)

Roland

--
Free Software Download: Index, Search  Analyze Logs and other IT data in 
Real-Time with Splunk. Collect, index and harness all the fast moving IT data 
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business 
insights. http://p.sf.net/sfu/splunk-dev2dev 
___
bbdb-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bbdb-info
BBDB Home Page: http://bbdb.sourceforge.net/


Re: bbdb-complete-name return value

2011-02-27 Thread Stefan Monnier
TZ Maybe accept the score as a property to the candidate strings and use
TZ that property, if it exists, instead of the string length?
TZ That would side-step the current completion mechanism nicely, requiring
TZ little extra code except in the final sort of candidates.  If the
TZ strings aren't mangled by the completion mechanism, of course--but I
TZ don't think they are after a quick scan.

That would work.  It's a quicksimple solution (i.e. generally a good
sign), but it has one drawback: the properties will be often added
without being used, since the list of completions is used not only to
build the *Completions* buffer or to cycle through completions but also
to do TAB completion (often just handled by try-completion, but with
substring completion it instead needs to get the all-completions list
and then weed it out).

So it has a performance downside (which means, it's not the last word in
this respect), but I'd probably accept a patch to add such a feature to
minibuffer.el since the performance impact is only incurred by
completion tables that really use the feature and it's unlikely to be
a serious maintenance problem in the future.


Stefan


--
Free Software Download: Index, Search  Analyze Logs and other IT data in 
Real-Time with Splunk. Collect, index and harness all the fast moving IT data 
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business 
insights. http://p.sf.net/sfu/splunk-dev2dev 
___
bbdb-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bbdb-info
BBDB Home Page: http://bbdb.sourceforge.net/