[BBDB] Kyle Jones writes:
>Francois Felix Ingrand writes:
> > In short, jka-compr19 seems to get confused by the fact that
> > vm loads .vm which load bbdb-vm which require vm.... There is
> > a loop here...
>
>There should be no loop.  (require 'vm) is satisfied before
>vm-load-init-file is called.

You are right... There is a loop, but it is not your fault. Here is what I get
if I step thru the code:

Entering:
* load("bbdb-vm" nil t nil)
  apply(load ("bbdb-vm" nil t nil))
  (if jka-op (apply jka-op args) (apply operation args)))
  (progn (setq file-name-handler-alist (delq jka-compr-file-name-handler-entry 
file-name-handler-alist)) (if jka-op (apply jka-op args) (apply operation args))))
....
* (unwind-protect (progn (setq file-name-handler-alist ...) (let ... ...)) (setq 
file-name-handler-alist (delq jka-compr-file-name-handler-entry 
file-name-handler-alist))))
* load("bbdb" nil t nil)
  apply(load ("bbdb" nil t nil))
  (if jka-op (apply jka-op args) (apply operation args)))
  (progn (setq file-name-handler-alist (delq jka-compr-file-name-handler-entry 
file-name-handler-alist)) (if jka-op (apply jka-op args) (apply operation args))))
....
* (unwind-protect (progn (setq file-name-handler-alist ...) (let ... ...)) (setq 
file-name-handler-alist (delq jka-compr-file-name-handler-entry 
file-name-handler-alist))))
* load("bbdb-vm" nil nil nil)
  apply(load ("bbdb-vm" nil nil nil))
  (if jka-op (apply jka-op args) (apply operation args)))
  (progn (setq file-name-handler-alist (delq jka-compr-file-name-handler-entry 
file-name-handler-alist)) (if jka-op (apply jka-op args) (apply operation args))))
  (unwind-protect (progn (setq file-name-handler-alist ...) (if jka-op ... ...)) (setq 
file-name-handler-alist (cons jka-compr-file-name-handler-entry 
file-name-handler-alist))))
  (let ((jka-op ...)) (unwind-protect (progn ... ...) (setq file-name-handler-alist 
...))))
  jka-compr-handler(load "bbdb-vm" nil nil nil)
  (bbdb-insinuate-vm))
  eval((bbdb-insinuate-vm))
  eval-expression((bbdb-insinuate-vm))
  call-interactively(eval-expression)

So we can see that the culprid is:... bbdb... well sort of. My guess is that
jka-compr19 should be robust to avoid this problem. But why does bbdb require
bbdb-vm, while bbdb-vm require bbdb too?

> > I am not sure what is the best way to fix this pb. Each of you is probably
> > going to say "not my fault"...
>
>Well, it certainly isn't my fault. :)  The problem seems to be
>in the guts of the file handler for `load' which points
>the finger of blame squarely at jka-compr19.

Well... it is not your fault for sure... I will let Jamie and Jay figure out
whose fault it is.

In any case, a fix is welcome...
--
                        Felix

Reply via email to