Joshua Spiewak writes: > Please enter the details of your bug report here > > Hi Paul, > > Just updated to 2.3.0 and had an issue with a prj.el that I had been > using for a while. When I opened a java file in the project, I would > get an error loading the prj.el: "List nesting exceeds > max-list-eval-depth". I isolated the issue to the setting of the > jde-build-function to jde-ant-build in the prl.el. If I remove that > line, everything works fine. I further isolated the issue to > jde-ant.el where it calls jde-update-autoloaded-symbols. If I comment > that line out, everything works just fine. Obviously there is an > unintended recursion happening. The jde-log attached is from an emacs > session where I only opened the java source file and submitted this > report. Notice that the log begins to repeat at the setting of the > jde-build-function. There are many more variables to be set after > that. Hope this is enough information to figure out what to do, but > let me know if I can be of more assistance figuring this out. >
This problem occurs because jde-build-function executes a (require 'jde-ant) everytime it is set to jde-ant-build. I don't know why it does this. Perhaps because at one time jde-ant was an optional package that the JDE did not require. Anyway the superfluous (?) require causes an infinite loop because it loads jde-ant which executes jde-update-autoloaded-symbols which loads the project file which then sets jde-build-function which then requires jde-ant which causes Emacs to reload jde-ant because the (provide 'jde-ant) form is at the end of the file and hence has not been executed which causes jde-update-autoloaded-symbols to be executed, etc., until the Emacs max-list-eval-depth kicks in to halt the recursion. The simplest fix is to remove the superfluous (I believe) require form from the definition of jde-build-function in jde.el. I've tested this and it solves the problem on my system. I'll make the fix and make another release this evening. Paul
