Martin Schwamberger writes:
 > Hi Eric,
 > 
 > you don't need to restart beanshell.
 > It is sufficient to call jde-wiz-update-class-list.
 > You can use C-c C-v C-q to call it.
 > 
 > This works quite well. But I think it would be even more convenient
 > to have a compile-finish-hook which calls jde-wiz-update-class-list.
 > 
 > There is also menu entry which calls this function:
 > JDE->Code Generation->Wizards->Update Class List
 > Since jde-wiz-update-class-list is necessary for jde-import,
 > submenu JDE->Interpreter (or even a new submenu)
 > might be a better place for "Update Class List".
 > 

I'd forgotten about this function. Thanks, Martin, for reminding me.
I will update the JDEE to invoke this function in the compile-finish-hook.

Paul

 > Regards,
 > 
 > Martin
 > 
 > Erik Curiel wrote:
 > > I also notice that the jde-import suffers the same problem, that it won't
 > > be able to find newly created classes unless bsh is restarted.
 > > 
 > > Thanks!!!
 > > 
 > > Erik Curiel
 > > 
 > > 
 > > On Thu, 5 Aug 2004, Paul Kinnucan wrote:
 > > 
 > > 
 > >>Robert Mecklenburg writes:
 > >> > It often occurs that jde-complete says no completion at point when it
 > >> > should not.  In these cases, exiting and restarting the bean shell
 > >> > cures the problem.  One of the most common cases is when a new class
 > >> > has been defined (after the bean shell has started).  It seems to me
 > >> > that a refresh-classes command for the bean shell would be useful
 > >> > here.  Does one exist?
 > >> >
 > >>
 > >>Hi Robert,
 > >>
 > >>Completion for a new class will work only if the new class has been
 > >>compiled. That is because JDEE's implementation of completion uses
 > >>Java reflection to determine the names of a class's members.  The JDEE
 > >>provides a jde-compile-finish-hook function,
 > >>jde-compile-finish-flush-completion-class, that is supposed to update
 > >>the JDEE's completion subsystem after compilation of the class. What
 > >>this function does is flush the JDEE's completion cache. The JDEE's
 > >>completion cache is an Emacs Lisp variable that lists the members of
 > >>all classes that have be completed since the beginning of the session
 > >>or the cache has been flushed. Flushing the cache forces the JDEE to
 > >>regenerate the completion info for the class that has just been
 > >>recompiled. This may not work for new classes. The reason is that the
 > >>Java side of the JDEE's completion subsystem maintains its own cache
 > >>of all classes on the current project's classpath. This cache is
 > >>updated whenever you switch projects. However, it's possible the cache
 > >>is not being updated everytime you compile a class. Hence, the
 > >>completion subsystem would never see a new class. I will investigate
 > >>further this evening and if this is the case provide a fix in the next
 > >>beta release.
 > >>
 > >>Paul
 > >>
 > > 
 > > 
 > > 

Reply via email to