Subject: ANN: JDE 2.2.7 available at ...
From: Paul Kinnucan <[email-masked]>
To: [email-masked]
Cc: [email-masked], [email-masked], [email-masked], [email-masked]
Date: Wed, 23 May 2001 01:57:09 -0400

http://jde.sunsite.dk/

JDE 2.2.7

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

* Updated the JDE to use the latest version of the semantic 
  package (semantic 1.4beta5), which significantly speeds
  parsing of Java source buffers.

  Thanks to David Ponce for the extensive changes to
  the Classes and Javadoc generator code required to
  permit this update.

* Changed jde-run mode into a full-fledged mode,with its own
  keymap, derived from  comint mode. This avoids polluting
  other comint modes with jde-run specific keybindings and
  fontification.

* JDEbug now reinitializes various variables whenever you start
  a debug session. Previously restarting JDEbug after certain
  errors, for example, failure to launch a process, would require
  restarting Emacs.

* Force the native Windows version of XEmacs to use forward
  slashes as the directory separator (see directory-sep-char)
  when generating paths for use in JDE functions.

* The implement interface wizard now accepts unqualified 
  interface names. If the wizard finds more than one interface
  of the same name on jde-global-classpath, it prompts you to
  select one of the interfaces to implement.

* The class buffer and inner class buffer templates now 
  generate skeletal implementations of intefaces that a class
  implements.
  
  Thanks to <[email-masked]>.

* Adds JDE->Find (M-x jde-find, C-c C-v C-f) command. This
  function recursively searches through your source directories
  looking for matches to a regular expression that you
  specify. The command requires that the Unix grep and find
  utilities exist in the Emacs command path. The Cygwin Unix
  emulation package provides Windows versions of these utilities.

  Thanks to "Guillaume Berche" <[email-masked]>

JDE 2.2.7beta11

* The Override Method wizard no longer requires that the class
  overriding the method be compiled first. The only 
  requirement is that the parent of the class overriding
  the method be compiled and exist on the classpath.

* Adds a new command, JDE->Project->Auto Switch 
  (M-x jde-toggle-project-switching), that toggles project
  context switching on or off.
  
  This command enables you to turn off project switching 
  temporarily, for example, when you want to diff or copy 
  code from one project to  another.

* jde-lib-directory-name can now be a regular expression
  that matches the name of directories that contain zip
  or jar files.

* JDEbug now updates the local variables display and stack 
  navigation menu when the debuggee process stops at a watchpoint.

* The JDEBug watchpoint command now defaults to the field at point 
  and to "all" as the program suspension policy when a field 
  is accessed or modified.

* Note: the following change never made it into the previous
  release because of a typo.

  JDEbug no longer sets the priority of the thread that 
  reads debuggee standard input from Emacs. Previously
  JDEbug set the priority of this thread to the highest
  allowed. There is no input from Emacs on app launch so
  the read operation performed by this thread blocks.
  Perhaps setting it to top priority leads
  to a deadlock on some systems.

* This release incorporates the following improvements to
  jde-import-kill-extra-imports:

  - jde-import-kill-extra-imports now refreshes the buffer's 
    parse cache. This fixes a bug where successive calls to the 
    function would incorrectly remove imports. 

  - jde-import-kill-extra-imports now removes fully qualified 
    imports that are not referenced in the code.

    Thanks to "Javier Lopez" <[email-masked]> for
    these improvements.

JDE 2.2.7beta10

* Bug fix: JDE no longer overwrites local version of 
  after-change-functions. Thanks to David Ponce.

* The following changes are stabs in the dark at trying
  to solve the JDEbug application launch hangup problem that
  some users experience.

  - This release sets a limit (15 seconds) to the time that 
    JDEbug waits for  Emacs to connect to the socket used to 
    interface Emacs to the standard I/O of the debuggee process.

    Some users find that JDEbug hangs when trying to launch
    a debuggee application. The hang appears to occur in the
    process of setting up the debuggee I/O interface. If the
    hangup is caused by Emacs being unable to connect to the
    SIO socket, this should at least allow the debug session
    to continue, though without the standard I/O interface.

  - JDEbug no longer sets the priority of the thread that 
    reads debuggee standard input from Emacs. Previously
    JDEbug set the priority of this thread to the highest
    allowed. There is no input from Emacs on app launch so
    the read operation performed by this thread blocks.
    Perhaps setting it to top priority leads
    to a deadlock on some systems.

* Bug fixes to project file facility contributed by Nick 
  Sieger:

  - Project files no longer quote variable values twice.

  - Save project command no longer incorrectly attempts to
    use path of a file in the project root directory for 
    the path of the directory.

JDE 2.2.7beta9

* Fixed regression bug in context-sensitive class help function
  that caused the help not to work for docsets specified by URLs.

* Bug fix: JDEbug. The JDE now correctly parses messages from
  JDEbug that contained backslashes. This eliminates hanging
  in some cases.

  Note: it's possible, though improbable, that this bug
  causes the JDEbug startup problems that some users are 
  experiencing. If you have experienced the hang on startup
  problem, please let me know whether the new release makes
  any difference.

* Bug fix: JDEbug. The local variables buffer is now able 
  to display a char variable whose value is a backslash.

JDE 2.2.7beta8

* Improvements to syntax coloring contributed by David Ponce:

  - All extra fontification added by jde-java-font-lock has a specific
    face.  So there is less font-lock implementation dependencies,
    greater flexibility to setup a color theme, and fontification can
    be kept consistent across Emacs flavors. Notice that this change
    may require to redo some face customization.

  - For convenience all specific jde-java-font-lock faces are in the
    customization group `jde-java-font-lock-faces' which is a sub group
    of `font-lock-highlighting-faces' (Emacs) or `font-lock-faces'
    (XEmacs).

  - Better fontification of numbers and imported package names.

  - When used interactively the command
    `jde-java-font-lock-setup-keywords' automatically update
    fontification of all Java buffers.  This is very useful when you
    change your API file for example!

  - The `jde-setup-syntax-coloring' is greatly enhanced.  On Emacs, it
    takes care of the current `global-font-lock-mode' setting.  Also, it
    no more use `font-lock-defaults-alist' (which is an obsolete
    variable on Emacs 21) but the preferred `font-lock-defaults' way to
    setup fontification.

  - Finally, jde-java-font-lock works in java-mode too and it can be
    used standalone if needed.

* Extended support for relative path, environment variable substitution, 
  etc., to all JDE paths. 
 
  Thanks to Nick Sieger for this enhancement.

* XEmacs compatibility fix: pass nil third argument to local-variable-if-set-p.
  Thanks to Nick Sieger.

JDE 2.2.7beta7

* jde-help-find-javadoc now uses url-file-exists (from the w3
  package) if it is in your load-path. Otherwise, it uses
  wget.

  Thanks to Knut Wannheden <[email-masked]> and 
  [email-masked] for this fix.

* jdb interface has been fixed to work around JDK 1.3 bug
  that causes the jdb command prompt to sometimes appear in
  the wrong place in jdb output.

  Thanks to Andy Bennett <[email-masked]> 
  for this fix.

* Fixed bug in jde-package-get-directories-in-classpath 
  that caused it to return t instead of a list when the 
  classpath contained ".".

* If'ed out fontifying exception stack trace in run buffer
  when running in XEmacs. This is temporary until I can code 
  an alternative to font-lock-add-keywords, which XEmacs does 
  not support.

* The JDE now replaces occurrences of lib directories in 
  classpaths with the jar and zip files that those directories
  contain. This means that you no longer have to include
  jar and zip files explicitly in classpaths. See 
  jde-expand-classpath-p and jde-lib-directory-name for details.

* This release enhances the JDE project file system to support
  hierarchical project files. The enhanced code remembers which
  project files set options and will save them back to the appropriate
  project file when the project is saved.

  When the values of variables are newly customized, the new value is
  saved in the deepest project file found relative to the buffer where
  `jde-save-project' is invoked.  Thus, the buffer where you save the
  project controls in whic project file newly customized values are
  saved.

  A side-effect of the changes is where do relative paths resolve to
  now that path-related options can be set by multiple project files?
  The project system solves that problem by resolving relative paths
  relative to the project file that defines the option.

  Thanks to "Nick Sieger" <[email-masked]> for contributing this
  enhancement.

JDE 2.2.7beta6

* Implements hierarchical project files. 

  The JDE now saves only variables that have been customized for the
  current session in project files. The JDE now loads project files in
  the following manner. It first sets all the JDE variables to their
  Emacs startup values (i.e., the default value or the value saved in
  your .emacs file). It then loads all the project files in the
  directory tree containing the current source buffer, starting with
  the topmost file.

  What this means is that you can now use project files to
  extend and/or override the settings in your .emacs file and
  in other project files. For example, your .emacs file can
  specify settings that are common to all your projects.
  You can put settings common to a group of projects at the
  top of the directory tree containing the projects, settings
  common to each project at the top of the directory containing
  each projects, and so on.

  Thanks to Nick Sieger for contributing to this enhancement.

* Includes minor improvements to the JDE's package statement
  generation facility contributed by David Ponce.

JDE 2.2.7beta5

* Replaced use of the which function, which is not in the Emacs
  or XEmacs distribution, with executable-find, which is in both
  distributions. The JDE now requires executable.el which defines
  executable-find. executable.el is in the sh-script package in 
  the XEmacs distribution.

* The JDE now supports use of relative paths wherever the JDE
  requires a path, for example, when setting jde-global-classpath.
  The JDE converts relative paths if jde-resolve-relative-paths is
  set to a non-nil value (the default). The JDE converts a relative 
  path to an absolute path by appending the relative path to the
  path of the project file for the current buffer or, if no such
  file exists, to the path of the current Java source buffer.

  You can use relative paths and environment variables to 
  construct portable project files. For example, suppose your
  project directory has the following structure:

    myprj
      classes
        pkg1
        pkg2
      src
        pkg1
        pkg2
      prj.el

  Further suppose that your project uses beans  from a 
  shared library specified by the environment variable
  BEANS. With this setup, you can specify jde-global-classpath as

      ./src
      ./classes
      $BEANS/lib/dials.jar

  and jde-compile-option-directory as

      ./classes

  This causes the JDE to store classes compiled from your src
  directory in the classes directory.  Note that you have not
  used any absolute paths in creating your project file. This
  means you can move your project anywhere without having to update
  the project file.

* jde-project-name is now a customizable variable that specifies
  the name of the current project.

* JDE->Options->Project File->Save (M-x jde-save-project) now prompts
  you to enter the name of the directory in which to save a new
  project file.

* This releases adds a new command, JDE->Options->Project File->Save In
  (M-x jde-save-project-in) that saves the current project in a 
  directory.

JDE 2.2.7beta4

* Now jde-which-method mode updates the method in the mode line 
  during idle times instead of after every keystroke. This
  eliminates the slowdown in keyboard navigation caused by this
  mode in earlier releases.

  Thanks to Steven Monnier for this improvement.

* Which-method-mode is once again enabled by default. To disable
  it, customize jde-which-method-mode to nil.

* Modified the way JDEbug launches a debuggee process. In 
  particular, JDEbug now sets up the process standard I/O on
  the standard I/O socket connection thread. Previously JDEbug
  waited for the socket connect thread to die before setting
  up the standard I/O threads. JDEbug now also writes a header
  line to the standard I/O socket on startup. I'm hoping that
  these changes will eliminate the startup hang problem that
  affects some users.

JDE 2.2.7beta3

* Disable jde-which-method-mode by default.

  This mode slows down scrolling, which is disconserting to
  new users, who assume that it is an unavoidable problem
  with using the JDE. Better to let users specifically enable
  this mode so that they are aware of its existance and its
  impact on scrolling performance.

* Fixed bug in compile and run commands that caused them to
  fail if a classpath is not specified.

* Now initializes jde-mode-abbrev-table to ensure 
  compatability with cc-mode 5.28. 

  Thanks to David Ponce for this fix.

* Fixed incorrect generation of javadoc index path in 
  jde-javadoc-make function.   

  Thanks to "William G. Griswold" <[email-masked]> for this fix.

* Updated Beanshell to latest production version: 1.01.

* Added customization variable, bsh-startup-directory.

* JDE->Run App (jde-run), if prefixed by C-u, now prompts
  you to enter the name of the main class to run.

* Changed the jde-help-get-doc function to invoke apply
  with a list as the last argument.

  Thanks to Adrian Robert <[email-masked]> for this
  fix.

* Enhanced jde-help-symbol (JDE->Help->Symbol at Point) command
  to permit accessing javadoc pages located at remote (http)
  as well as local URL addresses. Accessing remote pages 
  requires that the GNU utility, wget, be installed on your
  system in the Emacs exec-path. Native Windows and cygwin
  versions of this utility are available on the Internet.

  Thanks to Adrian Robert <[email-masked]> for providing
  the initial version of this enhancement.

* Fixed author line in jde-gen templates. 

  Thanks to [email-masked].

* Completion index menu now pops up at point in Emacs and at
  the current mouse postion in XEmacs. I'd like the menu to
  popup at point in XEmacs but I can't figure out how to do it.

  Thanks to [email-masked] for providing the initial 
  version of this enhancement.

* Fixed regular expression for finding package in 
  source buffer so that there must be a space between package 
  and the package name. This is to prevent false hits. 

  Thanks to Rory Molinari <[email-masked]>.

JDE 2.2.7beta2

* Add jde-java-font-lock.api to the JDE zip files.

* You can now use tilde (~) notation in paths.

* You can now use environment variables, tilde notation, and 
  cygwin syntax in jde-compile-option-directory path.

* Adds jde-package-update command.

  This command generates or updates the package statement at
  the head of the current Java source buffer based on the
  location of the buffer directory in the classpath.

  Thanks to David Ponce for providing this command.

* The class, console app, and Swing app templates now prompt
  you to enter a package name. The prompt includes a suggested
  package name based on the location of the current directory 
  in the classpath.

JDE 2.2.7beta1

* Completion now asks user whether to import a class that it
  cannot find. Thanks to Phillip Lord.

* Adds cflow expansions for try, catch, and finally. 

  Thanks to Venkatesh Prasad Ranganath <[email-masked]> for these expansions.

* Changed oref-engine to oref in jde-dbs-proc-set-find.

* Font-locking improvements from David Ponce

  - You can now fontify user-defined identifiers with the new
    jde-java-font-lock-api-face.  These identifiers are read in the
    file specified by the `jde-java-font-lock-api-file' option.

    The JDE provides a default file "jde-java-font-lock.api" to
    fontify class names of the core 'java' and 'javax' packages (JDK
    1.3) and servlet API (JSDK 2.0).  To enable this fontification
    just put this file on your home directory, maybe modify it to suit
    your needs and execute the command:

       M-x jde-java-font-lock-setup-keywords 

    (or restart Emacs).

    To improve reloading a cache file of regular expressions matching
    these names is created in the same directory (see the
    source for more details).

    - Because the 'const' and 'goto' keywords are reserved, but not
      currently used they are now fontified with `font-lock-warning-face'.

    - The 'default' keyword is now fontified with
      `font-lock-keyword-face'.  This was suggested by Stephane Nicolas
      [email-masked]>.

*  Changed the definition of formal_parameter_list in the Java grammar
   to improve performance (less backtracking) when parsing parameters 
   in method and constructor declarations. Thanks to David Ponce.

*  Adds jde-abbrev-mode and jde-show-abbrev commands. Thanks to
[email-masked].

*  Add "\." to the definition of class_type in jtags script so
   that methods whose return type included a period (e.g, Foo.Bar)
   are tagged:

	  class_type="\<\([$capital][a-zA-Z_$digit\.]*\)\>"

   Thanks to Charles Rich <[email-masked]>

* Fixed infinite recursion bug in jde-parse-update-after-parse when
creating a new file.

* Add jde-cygwin-path-converter variable. This variable allows you to
choose a function
  for converting cygwin paths to DOS paths. The default function implements
the current
  method for converting paths. Alternatives include a function that uses
cygwin's
  cygpath utility or a function that you supply.

* Adds support for environment variable substitution in
jde-global-classpath and
  jde-db-source-directories, e.g., "$JDK_HOME/src", is a valid entry in
  jde-db-source-directories.

* Updates all customization variable definitions to permit completion of
path names
  in customization buffers. To complete an entry in any path field, press
M, then Tab.
  Note, you must press the keys successively, not simultaneously.

* Makes the following changes to the jtags scripts.

	(1) Added "-l none" to the etags arguments (all four calls) to
	eliminate the additional spurious tags that were coming from etags'
	default java parsing:

	    ${etags_dir}etags -l none -a -o ${java_dir}/TAGS \

	(2) Added "\/" to the prohibited characters at the start of class2,
	method1 and method2 to prevent comment lines like

	// this is a nice interface for catching mice

	getting tagged:

class2="/^[^.*\/]*\($modifier$ws*\)*\<\(class\|interface\)\>$ws*$identifier/
\7/"

	Thanks to Charles Rich <[email-masked]>  for these improvements.

* Makes the following improvments to the javadoc facility:

  - Improved `jde-javadoc-start-tag-regexp' and
   `jde-javadoc-end-tag-regexp' regular expressions which fix little
    problems when parsing javadoc tags.  These regexps enforce the
    following rule (from JDK 1.3 documentation "javadoc - The Java API
    Documentation Generator" - Chapter "DOCUMENTATION COMMENTS" -
    "Standard and in-line tags":

    "[...] a standard tag must appear at the beginning of a line,
    ignoring leading asterisks, white space and comment separator
    (/**). This means you can use the @ character elsewhere in the text
    and it will not be interpreted as the start of a tag. If you want to
    start a line with the @ character and not have it be interpreted,
    use the HTML entity @. [...]"

  - `jde-javadoc-checker-report-mode' now turns on `font-lock-mode'.
    This is useful in XEmacs which don't have a `global-font-lock-mode'.

  - Filling of messages in `jde-javadoc-checker-show-report' now works
    with XEmacs too.

    Thanks to David Ponce for these improvements.

* Fixes bug that inserted -sourcepath argument twice in the javadoc command
line.

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple