I've made a couple of changes to bbdb-1.50.  The easiest relate to the
way "zip codes" are read, stored and displayed.  In Australia we use 4
digit "zip codes", which were not being accepted by bbdb...  Once I
got them to be accepted they were displayed with a leading "0" (and
stored that way too, I think...?)...  Here's come some patch-like
things...

(Tips (and a suggestion for a bug fix?) for displaying bbdb in its own
frame follow.)

bbdb-com.el:
--------8<---------8<-------- CUT HERE --------8<---------8<--------
*** 1.1 1994/10/11 05:24:24
--- 1.4 1994/12/02 02:39:33
***************
*** 322,327 ****
--- 322,330 ----
          string)
         (list (substring string (match-beginning 1) (match-end 1))
               (substring string (match-beginning 2) (match-end 2))))
+       ((and (not bbdb-north-american-phone-numbers-p)
+             (string-match "[0-9][0-9][0-9][0-9]" string))
+         (string-to-int string))
        ((string-match "-[^-]-" string)
         (error "too many dashes in zip code."))
--------8<---------8<-------- CUT HERE --------8<---------8<--------
bbdb.el:
--------8<---------8<-------- CUT HERE --------8<---------8<--------
*** 1.1 1994/06/29 05:28:35
--- 1.3 1994/10/11 06:13:01
***************
*** 501,507 ****
      (if (or (eq 0 (bbdb-address-zip addr))
            (null (bbdb-address-zip addr)))
        ""
!       (format "%05d" (bbdb-address-zip addr)))))
  
  (defmacro bbdb-record-lessp (record1 record2)
    (list 'string< (list 'bbdb-record-sortkey record1)
--- 501,509 ----
      (if (or (eq 0 (bbdb-address-zip addr))
            (null (bbdb-address-zip addr)))
        ""
!       (if bbdb-north-american-phone-numbers-p
!         (format "%05d" (bbdb-address-zip addr))
!       (format "%d" (bbdb-address-zip addr))))))
  
  (defmacro bbdb-record-lessp (record1 record2)
    (list 'string< (list 'bbdb-record-sortkey record1)
--------8<---------8<-------- CUT HERE --------8<---------8<--------

The other thing I've done is set-up bbdb to use a separate frame under
GNU emacs-19.27 (some of you may remember some of my related rants on
this mailing list... a bug in emacs-19.25 was getting in my way...).
The obvious thing to do is to add bbdb-buffer-name to
special-display-buffer-names.  The only problem is that bbdb's calls
to "get-buffer-window" do not tell it to check all frames for the
buffer, so the split window still appears...

I've put some advice around "get-buffer-window" so that when it is
looking for the bbdb buffer a second argument of "t" added to the
call.  A better solution is to explicitly add the 2nd argument of "t"
to all calls of "get-buffer-window" in the bbdb code.  For the moment
I've chosen not to modify the code so other patches can be easily
applied.  I guess if someone considers it important they will make the
change :-)

peace & happiness,
martin
-- 
 _--_|\          Peace &             Department of Computer Science
/      \        Happiness          The Australian National University
\_.--._/<-------------------------------------------------------------------
      v      Martin Schwenke             [EMAIL PROTECTED]

Reply via email to