I am using BBDB 2.2 with emacs 20.7.1 and gnus on Linux. I have a problem
searching the database with M-x bbdb (with or without gnus): 

first time it works fine.  But if I try to use it a second time I have to
close the .bbdb buffer first. Otherwise I get an "bbdb: cannot access the name
field this way" and no entries are shown.

I installed bbdb in my local .elisp directory with a ./configure and make gnus.

Here is the initialisation in my .emacs:

;; BBDB rolodex
(if (not (eq 'windows-nt system-type))
    (progn
      (setq load-path  (cons (expand-file-name "~/.elisp/bbdb/lisp") load-path))
      (setq Info-default-directory-list
            (cons "~/.elisp/bbdb/texi" Info-default-directory-list))

      (require 'bbdb)
      (bbdb-initialize 'gnus 'message)
      (add-hook 'gnus-startup-hook 'bbdb-insinuate-gnus)
      )
  )


Following an advice from Alexander Schroeder I temporarily moved the bbdb elc
files out of the way to get a more meaningful backtrace:

Signaling: (error "bbdb: cannot access the name field this way")
  signal(error ("bbdb: cannot access the name field this way"))
  error("bbdb: cannot access the %s field this way" name)
  (if (memq property (quote ...)) (error "bbdb: cannot access the %s field this way" 
property))
  bbdb-record-getprop(["Christina" "Burchardt" nil "TonArt" nil nil 
("[EMAIL PROTECTED]") ((creation-date . "2000-08-23") (timestamp . "2000-10-24")) 
["Christina Burchardt" nil #<marker at 231 in .bbdb> nil]] name)
  (setq tmp (bbdb-record-getprop record (car fields)) done (and tmp (string-match ... 
tmp)) fields (cdr fields))
  (while (and (not done) fields) (setq tmp (bbdb-record-getprop record ...) done (and 
tmp ...) fields (cdr fields)))
  (if (bbdb-record-raw-notes record) (while (and ... fields) (setq tmp ... done ... 
fields ...)) (setq done (string-match ... "")))
  (let ((fields all-fields) done tmp) (if (bbdb-record-raw-notes record) (while ... 
...) (setq done ...)) done)
  (if (eq (car notes) (quote *)) (let (... done tmp) (if ... ... ...) done) 
(string-match (cdr notes) (or ... "")))
  (if (stringp notes) (string-match notes (or ... "")) (if (eq ... ...) (let ... ... 
done) (string-match ... ...)))
  (or (string-match string (or ... "")) (let (... ...) (if rest-of-nets ... ...) done) 
(string-match string (or ... "")) (let (... ...) (while ... ...) done) (if (stringp 
notes) (string-match notes ...) (if ... ... ...)))
  (if (or (string-match string ...) (let ... ... done) (string-match string ...) (let 
... ... done) (if ... ... ...)) (setq matches (cons record matches)))
  (while records (setq record (car records)) (if (or ... ... ... ... ...) (setq 
matches ...)) (setq records (cdr records)))
  (let ((matches ...) (all-fields ...) (case-fold-search bbdb-case-fold-search) 
(records ...) record) (while records (setq record ...) (if ... ...) (setq records 
...)) (nreverse matches))
  (bbdb-search (bbdb-records) string string string notes nil)
  (bbdb-display-records (bbdb-search (bbdb-records) string string string notes nil))
  (let ((bbdb-elided-display ...) (notes ...)) (bbdb-display-records (bbdb-search ... 
string string string notes nil)))
  bbdb("and" nil)
* call-interactively(bbdb)
  execute-extended-command(nil)
* call-interactively(execute-extended-command)


Which specific record bbdb 'complains' about depends on the pattern of the
first search. 


This problem already occurred with an older bbdb version (2.00.06). So,
probably it's something related to my setup. Here is my load-path:

load-path's value is 
("/home/ekg/.elisp/xae/psgml" "/home/ekg/.elisp/xae/lisp"
"~/.elisp/jde/lisp" "~/.elisp/docbookide" "~/.elisp/auctex/"
"~/.elisp/pcl-cvs" "/home/ekg/.elisp/speedbar" "/home/ekg/.elisp/bbdb/lisp"
"~/.elisp/semantic" "~/.elisp/elib" "~/.elisp/speedbar"
"/home/ekg/.elisp/eieio" "/home/ekg/.elisp/gnus/lisp" "~/.elisp/elib"
"~/.elisp" "/usr/share/emacs/20.7/site-lisp" "/usr/share/emacs/site-lisp"
"/usr/share/emacs/site-lisp/etc" "/usr/share/emacs/20.7/leim"
"/usr/share/emacs/20.7/lisp" "/usr/share/emacs/20.7/lisp/textmodes"
"/usr/share/emacs/20.7/lisp/progmodes" "/usr/share/emacs/20.7/lisp/play"
"/usr/share/emacs/20.7/lisp/mail" "/usr/share/emacs/20.7/lisp/language"
"/usr/share/emacs/20.7/lisp/international" "/usr/share/emacs/20.7/lisp/gnus"
"/usr/share/emacs/20.7/lisp/emulation" "/usr/share/emacs/20.7/lisp/emacs-lisp"
"/usr/share/emacs/20.7/lisp/calendar")

Hmmm... is there a way to check whether the .bbdb file is sane ?

Any help appreciated, 
Ekkehard



-- 
Ekkehard Görlach                    Tumringerstrasse 287
[EMAIL PROTECTED]             D-79539 Lörrach

_______________________________________________
bbdb-info mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/bbdb-info

Reply via email to