JDE 2.2.8

***************************************************************
*                         PLEASE READ                         *
***************************************************************
*                                                             *
* This release requires semantic 1.4beta5 (or later),         *
* speedbar 0.13 (or later), and eieio-0.16 (or later,         *
* except eieio-0.17beta1). You can obtain all three           *
* packages at http://cedet.sourceforge.net                    *
*                                                             *
* Note: This release does not work with eieio-0.17beta1, but  *
* it does work with eieio-0.17beta2.                          *
*                                                             *
* 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://sunsite.dk/jde/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.                                        *
*                                                             *
***************************************************************

New Features
============

* The JDE's code generation wizards now observe the
  jde-gen-k&r indentation style preference.

* Adds JDE->Wizards->Generate Get/Set Methods 
  (M-x jde-wiz-get-set-methods) command. 

  This command generates get and set methods for all private fields 
  in the outer class and inner classes in the current buffer.

  Thanks to Javier Lopez and Sandip Chitale.

* Adds jde-import-collapse-imports command.

  Thanks to Max Rydahl Andersen.

* Adds JDE->Wizards->Extend Abstract Class (jde-wiz-extend-abstract-class)
  command.

  Thanks to Javier Lopez.

* New font-lock setup policy.

  - If `jde-use-font-lock' is non-nil the JDE completely handles font
    lock setup. It turns on font locking in `java-mode' if needed and
    installs the extra level of fontification in
    `java-font-lock-keywords-4'.

  - If `jde-use-font-lock' is nil the JDE  delegates
    syntax coloring setup to standard `java-mode'.

* Adds the JDE->Help->Class Member... (jde-help-class-member) command.

  This command displays help for a specified field or method of a class.

  Specifically, the command pops up a menu of the members of a specified class.
  It then searches jde-help-docsets for javadoc for the class. If found,
  it points the browser to the point in the javadoc file where doc for
  the selected class member should be located. Note that this command
  does not attempt to verify whether doc for the member actually exists
  in the file.

* Completion enhancements:

  - Supports completion of all constructors. 

  - Adds a customization variable, jde-complete-add-space-after-method,
    to allow you to choose among these  types of completions:
    v.get() and v.get ()

  - Adds a customization variable, jde-complete-unique-method-names, to allow
    the removal of methods with the same name from the completion list.

  - Adds a customization variable, jde-complete-insert-method-signature, to
    allow you to choose between the completions:
    v.get(int, int) or v.get()

  - After completions method signatures and returns types are shown in
    the minibuffer for 60 seconds or until the next completion,
    whichever occurs first.

  - Modifies jde-complete-at-point and jde-complete-at-point-menu to
    insert the methods the same way.

  - Dynamically loads classes, eliminating the need to update the class
    list after recompiles.

  - Minor changes to improve performance:

    - The classinfo is sorted and processed before being added to the cache.

    - Reduced the number of loops to process the completions list before being
      added to the cache.

    - Modifieds jde-complete-find-all-completion to take advantage of the fact 
      that the completion list is in alphabetical order.

    - The method find-completion-for-pair does not call jde-complete-find-all-
      completions if the user did not enter part of the completion.

  - Completion for <this> now includes private and protected 
    methods in the completion list. 

  Thanks to "Javier Lopez" <jlopez@cellexchange.com>.

* More completion enhancements:

  -- Completion list now includes private methods of the current class 
     and protected methods of the super class.

  -- Now sorts the possible completions in alphabetical order.

  -- Handles completion on instances returned by constructors, e.g.,
     new Vector(). and of arguments passed to constructors, e.g.,
     v.add(get.
               ^
  -- Fixes bug that prevented completion of  super class methods, i.e. super.ge...

     Thanks to Javier Lopez <jlopez@cellexchange.com>

  -- Completion now works for instances of inner classes in many cases. 
     The inner class must be declared before it is referenced for completion to work.
     Future releases will fix this and other deficiencies in inner class handling. 

     Thanks to "Evan Easton" <evan@eeaston.com>.

* Defines the new function jde-ant-projecthelp, which invokes 
  Ant with the "-projecthelp" switch to list all available targets
  for the current buildfile. 

  Thanks to Jason Stell"  jason.stell@globalone.net.

* Adds the customization variable, jde-build-function, which 
  allows selection of one a standard set of 
  functions (jde-java-build, jde-ant-build or jde-make) or 
  specification of a custom function.

  Removes the customization variable, jde-build-use-make.

  Thanks to Jason Stell jason.stell@globalone.net.

* Adds jde-gen-define-abbrev-template function.

  This function allows you to define abbreviations whose
  expansions are tempo templates. You can use this function,
  for example, to define your own control flow abbreviations.
  See the control flow section of the JDE User's Guide for
  information on how to use this function.

* Adds the customization variable, jde-launch-beanshell-on-demand.

  If this variable is non-nil (the default), the JDE launches
  the Beanshell only when it is needed. Otherwise, it launches
  the Beanshell whenever you open a Java source file and the
  Beanshell is not already running.

* Adds jde-enable-senator variable.

  If non-nil (the default), this variable causes the JDE to
  enable senator-minor-mode  in Java buffers.
  senator-minor-mode provides syntax-based searching and
  buffer navigation commands.

* User can now force the JDE to use either wget or url-file-exists 
  to verify existence of a remote file.

  Thanks to Luis Miguel Hernanz Iglesias 
  <luish@germinus.com> for suggesting this enhancement.

* Added jde-ant.el to distribution.

* Changes name of jde-show-class-source to jde-open-class-source
  and created jde-show-class-source as an alias.

* Adds jde-open-base-class-source command.

  This command was borrowed from the java-open library.

* Added else-if control flow template. 

  Thanks to "Javier Lopez" <jlopez@cellexchange.com>

* Adds a control flow template for a for iterator loop. 

  Thanks to Robert Mecklenburg <mecklen@cimsoft.com>.

* Now replaces the colon in the DOS drive prefix with a vertical bar 
  when forming URL's. This is done to accommodate Netscape.

* Enhanced jde-help-symbol so that it prompts you to enter the symbol. 
  Also, if more than once class of the same name exists, 
  prompts you to select the appropriate class.


Bug Fixes
=========

* XEmacs compatibility fix. Now accommodates the way XEmacs 
  specifies the temp directory. 

  Thanks to Dr. Volker Zell.

* Fixes bug that cause completion to return the wrong name when the class does not have
  a package, e.g., .Test for Test.java. 

  Thanks to Javier Lopez.

* Fixes JDE->Help->JDE User Guide JDEbug->Help commands so that 
  they work on XEmacs.

  Thanks to Dr. Volker Zell.

* Fixes jde-ant-build so that it does not invoke last-nonmenu-event 
  on XEmacs.

* Fixes bug that prevented completion of variables referenced
  in inner classes.

  Thanks to Javier Lopez.

* Fixed the JDE's project file loader to avoid an infinite recursion
  on Windows when the project file is on a virtual drive created with
  the DOS subst command.

  Thanks to Nat Goodspeed.

* Fixes javadoc checker error that occurs when the checker tries to match 
  an array name in javadoc comments and in argument lists.

  Thanks to David Ponce.

* XEmacs compatibility fix for error that occurs when the JDE attempts
  to clear the completion cache after compiling a file.

  Thanks to Javier Lopez.

* NT/XEmacs compatibility fix: jde-find-project-file now returns 
  paths with forward slashes as directory sep characters on NT/XEmacs.

* Fixed jde-wiz-update-classes so that it updates the classes list 
  to the CLASSPATH environment variable if jde-global-classpath 
  is not defined.

* Defines jde-ant-interactive-target-arg-history and 
  jde-ant-interactive-target-arg-history.

  Thanks to Dirk Husemann <hud@zurich.ibm.com>.

* The JDEbug Run menu item becomes Continue when the debugger
  halts at a breakpoint.

  Thanks to Alan Hadsell <ahadsell@MtDiablo.com> 

* Added compatibility fixes for NT/XEmacs use of backslash as the
  default directory sep character.

  Thanks to William Griswold <wgg@cs.ucsd.edu>.

* Fixes bug in jde-save-needs-saving-p that caused the JDE not 
  to save variables whose customized value is nil.

* Fixes import insertion point bug.

  Thanks to "Javier Lopez" <jlopez@cellexchange.com>

* Fixed NT/XEmacs incompatibility in jde-package.el caused by XEmacs' 
  use of back slash as the directory path separator.

  Thanks to David Ponce.

* The interface wizard now includes a valid return statement in methods that return
  a value. 
 
  Thanks to "Craig McGeachie" <craig@rhe.com.au>.





