JDE 2.3.3beta6 *************************************************************** * 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. * * * *************************************************************** * 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. * 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.