At 01:19 PM 1/3/01 +0800, Peter Woo wrote:
>I guess this problem had been discussed some time ago. However, it didn't
>quite occur to me until my recent upgrade to JDE 2.2.6.
>(Or perhaps I overlooked in the past... sorry if so).
>
>My case happens whenever a new (empty) .java file is open, diregarding
>whether or not a prj.el exists in the parent directory, and whether or not
>it's on my local drive
>or network drive. Unlike the previous report, this problem doesn't happen
>to me when opening large file.
>
>I hope that I didn't miss any important parts in the mail arhive and report
>an outdated problem.
In the current release of the JDE (2.2.6), an infinite loop occurs in the
jde-parse-update-after-parse function when the buffer is empty. The next
release of the JDE should fix the problem. Meanwhile, you can cure the
problem by replacing the JDE 2.2.6 version of jde-parse.el with the
attached patched version.
- Paul
p.s. Eric, my fix is somewhat different from the one we discussed this
afternoon. I found that simply calling semantic-bovinate-toplevel-cache
still resulted in an infinite recursion which was destroying the Emacs
menus. Checking for a nil value of the bovinator cache, though, seems to
work just fine. Even the Classes menu now works in an empty buffer, albeit
it is empty. Here is my patched version of jde-parse-update-after-parse.
(defun jde-parse-update-after-parse ()
(when (jde-parse-should-auto-parse-buffer-p)
(setq jde-parse-buffer-needs-reparse-p nil)
(if jde-auto-parse-buffer-timer
(cancel-timer jde-auto-parse-buffer-timer))
(setq jde-auto-parse-buffer-timer nil))
(when (and
(boundp 'semantic-toplevel-bovine-cache)
(car semantic-toplevel-bovine-cache))
(setq jde-parse-buffer-contains-multiple-classes-p
(jde-parse-buffer-contains-multiple-classes-p))
(setq jde-parse-the-method-map (jde-parse-method-map "Method map"))))