At 11:07 AM 11/9/00 -0800, Maxime Levesque wrote:
>
> It seems that jde's 'post-command-hook' is doing some problematic recursive
>call when used with EFS :
>
>(51) (error/warning) Error in `post-command-hook' (setting hook to nil):
>(error Lisp nesting exceeds `max-lisp-eval-depth')
>

The JDE's post command hook invokes jde-find-project-file. 

(defun jde-find-project-file (dir)
  "Finds the project file for the Java source file in the current
buffer. Returns nil if it cannot find a project file in the
source file directory or an ascendant directory."
  (let ((file (find jde-project-file-name
                    (directory-files dir) :test 'string=)))
    (if file
        (concat dir file)
      (if (not (jde-root-dir-p dir))
          (jde-find-project-file (concat dir "../"))))))

This function  recursively searches up the current directory tree until it
finds a prj.el file or the root of the directory as defined by:

(defun jde-root-dir-p (dir)
  (let ((parent (concat dir "../")))
    (cond ((eq system-type 'windows-nt)
           (not (file-exists-p parent))
           )
          ((eq system-type 'cygwin32)
           (or (string= (file-truename dir) "/") 
               (not (file-exists-p (file-truename dir))))
           )
          (t
           (and 
            (string= (file-truename dir) "/")
            (string= (file-truename parent) "/"))))))


It's possible with efs that it never finds the root.

I believe others have encountered this problem before and that there is a
solution but I don't remember the solution. You could try searching the JDE
list archive.

- Paulk

Reply via email to