I'm attempted to subscribe to the list, but haven't seen any traffic
on it, so I may not be subbed yet.  As such, please CC me directly on
any responses.

Someone here at MIT ran into a bug in bbdb/mh-cache-key in
bbdb-mhe.el; the relevant info from describe-function file-attributes
is:

  10. inode number.  If inode number is larger than the Emacs integer,
    this is a cons cell containing two integers: first the high part,
    then the low 16 bits.

This field was being used in bbdb/mh-cache-key as if it was always an
int.  The following simple patch seems to have fixed the problem.  I'm
unsure whether or not `(cdr inode)' might be a better choice.

chad



 41,50c41,53
 <            (status-time (nth 6 attrs))
 <            (status-time-2 (cdr status-time)))
 <       (logxor (nth 10 attrs)
 <               (car status-time)
 <               ;; We need the following test because XEmacs returns the
 <               ;; status time as a dotted pair, whereas FSF and Epoch
 <               ;; return it as list.
 <               (if (integerp status-time-2)
 <                   status-time-2
 <                 (car status-time-2))))))
 ---
 >          (status-time (nth 6 attrs))
 >          (inode (nth 10 attrs))
 >          (status-time-2 (cdr status-time)))
 >       (logxor (if (integerp inode)  ;; if inode is larger than an emacs int,
 >                 inode               ;; it's returned as a dotted pair
 >               (car inode))
 >             (car status-time)
 >             ;; We need the following test because XEmacs returns the
 >             ;; status time as a dotted pair, whereas FSF and Epoch
 >             ;; return it as list.
 >             (if (integerp status-time-2)
 >                 status-time-2
 >               (car status-time-2))))))




_______________________________________________
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/bbdb-info
BBDB Home Page: http://bbdb.sourceforge.net/

Reply via email to