JDE 2.3.3

***************************************************************
*                         PLEASE READ                         *
***************************************************************
*                                                             *
* This release requires semantic 1.4beta13 (or later),        *
* speedbar 0.14beta2 (or later), and                          *
* eieio-0.17beta3 (or later). You can obtain all three        *
* packages at http://cedet.sourceforge.net                    *
*                                                             *
* This release requires version 1.2.2 (or later) of the       *
* JDK.                                                        *
*                                                             *
* This release also requires avltree.el, which is part of the *
* elib 1.0 package. You can obtain elib at the JDE web site   *
* in compressed tar (http://jdee.sunsite.dk/elib.tar.gz)      *
* or zip (http://sunsite.dk/jde/elib.zip) format.             *
*                                                             *
* JDEbug runs on Windows 2000 only if Service Pack 2 (or      *
* later) is installed.                                        *
*                                                             *
* If syntax-coloring does not work, download and install      *
* overlay-fix.el from the semantic web site.                  *
*                                                             *
***************************************************************

* In previous releases, if you typed a control flow 
  abbreviation in a comment or string, the JDEE would
  replace any upper case letters in the abbreviation
  with lower case letters, e.g., it would change "If" to
  "if" in a comment or string. This release fixes the
  problem.

* The import wizard now restores your original window 
  configuration after displaying an import candidate chooser buffer.

  Thanks to Jon Schewe for suggesting a fix for this problem.

* Change abbreviation for throws from throw to thro to avoid 
  inadvertent completion of throw to throws.

* Fix regression that was causing abbrev-mode to be enabled 
  for JDEE buffers even when jde-enable-abbrev-mode was set to
  nil. Also, enable abbrev-mode in all open JDEE buffers for the
  current project as a side effect of setting 
  jde-enable-abbrev-mode on.

* Fixes problem where jde-ant-program was being normalized unless 
  it was set to ant or ant.bat. Now it only gets normalized if 
  it contains '/' or a '\'.

* Revamps the JDEE's interface to the CheckStyle Java style
  checking package to reflect major changes introduced in
  version 3.1 of CheckStyle, in particular, the replacement
  of command-line switches with the use of configuration
  files to define coding styles. The changes to the JDEE
  interface includes replacing all the jde-checkstyle-option
  variables with two variables, jde-checkstyle-style and
  jde-checkstyle-expanded properties, for defining
  coding styles. This release also adds variables for
  defining new CheckStyle options, such as checking 
  entire directories of source files. Execute
  M-x jde-checkstyle-customize to display the revamped
  list of CheckStyle customization variables.

* Reduced time required to find all buffers belonging to a 
  given project. This should reduce the delay in project
  switching time that occurs because of the requirement to
  reinitialize the abbreviation table in each buffer belonging
  to a project.

* Fixes redisplay bug and error in jde-ant-filter.

* Speed improvements to jde-xref.

  Thanks to Suraj Acharya

* Fixes jde-wiz-extend-abstract-class to avoid generating skeleton
  for methods declared in interfaces or superclasses and a default
  implementation is already provided.

* Fixes several problems with jde-open-class-at-point. Including traversing
  base classes.

  Thanks to Jesse Byler

JDE 2.3.3beta6

* Now supports specification of project-relative paths in .emacs
  files.  Previously, if a relative path appeared in a variable, e.g.,
  jde-global-path, that was set for the current project by the user's
  .emacs file (as opposed to a project file), the JDEE would resolve
  the variable relative to the source buffer directory. Now the JDEE
  resolves it relative to the location of the nearest project file in
  the source buffer directory tree. If the directory tree does not
  contain a project file, the JDEE resolves the path relative to the
  source buffer directory. The bottom line is that you can
  now use project-relative paths as defaults for projects that
  do not specify classpaths or sourcepaths. For example,
  setting jde-global-classpath to ./classes in your .emacs
  file specifies that the default location of class files
  is in a subdirectory of the project file directory named classes.

* Fixed inefficiencies in jde-xref-get-callers, enabled grouping of
  callers by actual class.

  Thanks to Suraj Acharya

* Fix bug that was causing an extraneous space to be inserted 
  in the  condition clause of control flow expansions, such as
  if. 

  Thanks to Sandip Chitale.

* Added a command to cause JDEbug to break on the occurrence
  of a specified exception.

  Thanks to Andy Hyatt.

* Turned off messages used to debug JDEbug.

* Update jde-make command to issue a cd to the default directory 
  before invoking make and to restore the original cwd afterwards. 
  This fixes a bug in the implementation of the 
  jde-make-working-directory variable.

* Changed jde-run-option-debug to provide separate options for 
  shared memory name and socket host and port and to specify 
  defaults explicitly.

* Fix bug that causes the interface implementation and
  method delegation wizards to generate duplicate methods
  in some cases.

  Thanks to Martin Schwamberger.

* Extend jde-import-excluded-classes to exclude classes that
  belong to the same package as the importing class. Fix
  interface, abstract class, and method delegation wizards
  to observe jde-import-excluded-classes. 

  Thanks to Martin Schwamberger.

* The JDEE's jde-javadoc-autodoc-at-line command now launches
  the javadoc process directly instead of via a shell as in
  previous releases. This avoids the need to quote command-line
  arguments, a common source of bugs.

* Adds a customization variable, jde-gen-method-javadoc-comment,
  that enables you to specify the type of javadoc comment
  that the jde-gen-method-template generates for a 
  skeleton method. The JDEE's interface, abstract class,
  and method override wizards use the jde-gen-method-template
  to generate skeleton methods. The new customizationv variable
  thus allows you to control the type of javadoc comments
  that these wizards generate for the skeleton methods.
  Choices include the JDEE's javadoc template, a 
  comment that includes only javadoc's @inheritDoc tag,
  or no comment.

* Adds a Javadoc Reference item to the JDE->Documentation
  submenu. The new item displays Sun's documentation for the
  javadoc tool.

* Prefixing the jde-run command (e.g., C-u C-c C-v C-r) now 
  causes the command to  prompt you to enter application arguments. 
  Prefixing the command with a - (e.g., C-u - C-c C-v C-r)
  causes the command to prompt you to enter the name of
  the application's main class as well as application arguments.
  In previous releases, prefixing the command caused it only
  to prompt for the application main class.

  Thanks to Robert Mecklenburg for suggesting this 
  enhancement.

* Removed superfluous c-indent-function from control flow templates.

* Add more precise error and exception handling for JDEE's
  class loader, especially to catch LinkageErrors. Signal
  a Lisp error when these exceptions occur.

JDE 2.3.3beta5

* Adds a jde-jeval-cm function. This function
  is intended to be used by plugins to invoke Java development
  utilities, such as source code style checkers, that emit
  compiler-like error messages.  Displaying the output in a
  compilation-mode buffer enables the user to use compilation-mode's
  error message navigation and hyperlinking capabilities.

* As of version 5.30, cc-mode provides its own set of font lock 
  keywords and faces for Java: cc-fonts. The cc-fonts keywords
  and faces are not as complete as those defined by the JDEE.
  The JDEE now uses cc-fonts keywords and faces if defined while
  defining and using others not defined by cc-fonts. Thanks to 
  David Ponce.

* Adds help strings for items that appear on the Jdb menu. On Emacs,
  the help strings appear in the minibuffer when you select a menu
  item. (XEmacs does not support them).


JDE 2.3.3beta4

* Fixed jde-compile-jde and jde_root/lisp/makefile to compile
  jde-xemacs.el only for XEmacs.

  Thanks to Raul Acevedo for the makefile fix.

* Fixed bug that caused noncompleting prompting for Ant
  target to fail. Thanks to Christian Schmitt.

* Now requires jde-autoload for XEmacs installations that use
  the independently distributed version of the JDEE. The version that
  comes with XEmacs has its own autoloads file. This change fixes
  various problems caused by the failure of the independent
  version to define autoloaded functions and commands.

* Provides a workaround for a bug in file-exists-p in the cygwin 
  version of XEmacs that prevented the JDEE from finding project 
  files. The bug is that file-exists-p denies the existence of
  files whose native Windows paths (file-truename) end in a slash.

JDE 2.3.3beta3

* Fix "unreadable object" error that occurred when XEmacs tried
  to load beanshell.elc. The error occurred because of a bug
  in the XEmacs byte compiler. This fix works around the
  bug.

* Fixed bug that caused customization variables defined
  by an autoloaded package (e.g., jde-ant) to disappear from a 
  project file if the project file was  saved before 
  the package was loaded.

  Thanks to Martin Schamberger for reporting this bug and
  supplying a fix.

JDE 2.3.3beta2

* Fixed null pointer exception when importing classes from a 
  classpath that includes nonclass files.

  Thanks to Boyan Slavoff for reporting this problem.

* Fixed failure to highlight syntax on XEmacs.

JDE 2.3.3beta1

* Adds a jde-javadoc-make-buffer command to generate doc only 
  for the source file in the current buffer, regardless of
  the setting of the jde-javadoc-gen-packages variable.

* Change the menu item JDE->Documentation->Generate to
  Generate All to reflect the fact that the jde-javadoc-make
  command is intended to generate all the doc for a project.

* Add a JDE->Documentation->Generate Buffer menu item to
  trigger the new jde-javadoc-make-buffer command.

* The JDEE's javadoc generations commands (jde-javadoc-make
  and jde-javadoc-make-buffer) now uses jde-get-jdk-dir to 
  determine the location of the javadoc executable.
  Consequently, this release no longer defines the 
  jde-javadoc-command-path variable.
  

* Add more precise check for existence of destination directory
  defined by jde-javadoc-gen-destination-directory.

  Thanks to Dan Katz for bug report and fix.

* Update autoloaded customization variables defined by 
  jde-javdoc-gen.el to the values defined by the current
  project.

  Thanks to Dan Katz for bug report.

* Turn jde-run-option-debug variable off by default, i.e.,
  by default, the JDEE's run application command does not
  enable connecting a debugger to the application by default.


* This release introduces a cross-referencing tool that enables
  you to find all callers of a specified method in a specified
  classpath. This can be useful, for example, if you need to
  change the name of a method. See "Cross-Referencing Classes"
  in the JDEE User's Guide.

  Thanks to Andy Hyatt for contributing this tool to the JDEE.


* Fixes bug in method override wizard that prevented selection
  of one of a set of overloaded methods.

  Thanks to Joshua Spiewak for reporting this problem.

* Adds jde-compile-jump-to-first-error option. This option
  allows you to specify whether after compiling a source
  buffer that has errors, the JDEE should move point to
  the line that caused the first error.

  Thanks to Sean Wellington.

* Simplified data type of jde-run-option-debug and set it off 
  by default. Valid values are now either nil or a list
  of which the first item is the connect mode ("Server" or "Client"),
  the second is the transport type (socket or shared memory),
  the third is the connect address (nil = default connect
  address), and the fourth is whether to suspend the process
  until the debugger connects (t = suspend).

* Fixes defadvice bug that disables eldoc-print-current-symbol-info
  in all modes but emacs-lisp-mode and jde-mode. 

  Thanks to ABE Yasushi.

* Fix bug that causes jde-import-organize to insert the 
  first import group name  multiple times when called repeatedly. 

  Thanks to Joshua Spiewak.

* Adds a variable jde-checkstyle-configuration-file to 
  specify xml config file required by Checkstyle 3.0.

  Thanks to Joshua Spiewak.

* Adds two new commands: jde-gen-if-wrapper and jde-gen-if-else-wrapper.
  Given a selected region these two commands will surround the region
  with an if/else block.

* Adds support to jde-ant-complete-target to complete multiple targets
  i.e. clean,compile 

* Adds customization variable jde-compile-enable-kill-buffer. 
  If true the jde-compile-finish-kill-buffer hook will kill the
  compilation buffer.

* Refactors beanshell.el so that it supports but does not 
  require the JDEE. This allows beanshell.el to be used to 
  support other Emacs applications that want to use Java as an 
  extension language. See the package commentary for more information.

* Adds jde-compile-option-source to compile 1.4 code with
  the assert key word on it.

* Adds assert as a keyword to be fontified.

* Added check to ensure that the name argument to 
  jde-parse-class-exists is a string. This fixes bug where 
  jde-complete was passing a nil argument to 
  jde-parse-exists-class-exists when attempting to complete
  an expression in a narrowed buffer.

* Normalizes jde-ant-program. 

  Thanks to Ping Liang

* Adds jde-gen-change-listener-template. This provides a template to
  generates a change listener.

* Adds jde-browse-class-at-point command. This command displays
  the class at point in the BeanShell class browser.

* Replaces the JDE->Speedbar menu item with a JDE->Browse submenu 
  containing the items Browse->Source and
  Browse->Class at Point. The first displays the
  speedbar. The second invokes the 
  jde-browse-class-at-point command.

* EJB wizard updated to reflect EJB 2.x.

  Thanks to Yoon Kyung Koo.

* Fixed typo in binding for jde-jdb-menu-debug-applet.
  Thanks to Matt Watson.

* Fixed bug in jde-open-class-at-point method. The method was 
  unable to find method definitions in super classes, in some 
  instances.

* Fixed bug in creating beanshell classpath. The ant jar files were 
  not being added when the beanshell was started before jde-ant being loaded.

  Thanks to Martin Schwamberger for the patch.

* Fixed bug in jde-debug-step.*. When using jdb, a line number higher that 999
  prints out with a ',', causing the debugger to step to the number before the
  ','. i.e 1,023 it will step to line 1.

* Adds items for displaying and setting variables to the jdb menu. Each
  item takes the word at point and lets you edit it before sending it to
  jdb.

* Fix bug in jde-bug-set-breakpoint, causing unbound slot messages.

* Adds jde-bug-list-breakpoints. This command shows a list of all set
  breakpoints, allowing the user to jump to the source of a given breakpoint
  and to remove particular breakpoints from one screen.

* Import wizard changes:

  - Fix import wizard so that it does not create an import statement
    for a class whose package is already imported.

  - When multiple classes with the same name appear on the classpath,
    check whether import already exists AFTER the user selects the
    import. This is to prevent the JDE from importing a class that
    is already imported but from a different package.

  - Display message when the buffer already imports the specified class.

* XEmacs changes:

  - New efc support for XEmacs native widgets. This will be loaded
    automatically if the version of XEmacs you are using supports native
    widgets. The support is used for querying options via true dialogs
    in various wizards.

  - Support for the XEmacs debugging toolbar while using JDEbug. This
    will be loaded automatically when JDEbug is activated.

  - New mode jde-xemacs-bug-minor-mode which functions like gdbsrc in
    that debugger motion commands can be entered via single keystrokes
    while debugging. Source files are made readonly until the debugger
    exits.







