/www/trunk/htdocs/CHANGES40.txt
Plain Text | 1333 lines | 1194 code | 139 blank | 0 comment | 0 complexity | cf8b63eab91ec843a60b6162e8f48237 MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
- JEDIT 4.0 VERSION HISTORY
-
- * Version 4.0.3
-
- + Bug Fixes
-
- - Added missing check for control key being down in text area mouse
- handler.
-
- + API Changes
-
- - Buffer.getRuleSetAtOffset() method is now public.
-
- * Version 4.0.2
-
- Note that jEdit 4.0.1 was never released.
-
- + Enhancements
-
- - Documentation is now generated with DocBook-XSL 1.51.1 stylesheets.
-
- + Bug Fixes
-
- - Fixed silly windows backup saving bug.
-
- - Fixed minor problem when Control-clicking characters in the text area.
-
- - Fixed print output spacing problem.
-
- * Version 4.0.1
-
- + Bug Fixes
-
- - A single invalid file system browser coloring regular expression no
- longer stops the remaining expressions from being loaded.
-
- - Fixed a bug in the undo request merging code that would occur
- sometimes when multiple consecutive pieces of text were removed one
- after the other.
-
- - Fixed a bug in the undo request merging code that would occur when
- a selection was replaced with some text.
-
- - If the splash screen was disabled, running jEdit with the -nogui and
- -nobackground command line arguments didn't work, because the AWT
- event thread was never started, because no GUI calls were made, and as
- a result jEdit exited immediately after starting up instead of
- entering the event loop.
-
- - Fixed erronous assignment in VFS browser code that would cause
- NullPointerExceptions after opening a file in a new view.
-
- - Triple-clicking on the last line of a file printed an
- ArrayIndexOutOfBoundsException.
-
- - One of the tips of the day referred to an invalid URL.
-
- - Previously, the filesystem browser opens the clicked directory if
- clickCount == 2. This doesn't work if you double click once and then
- immediate double click again on a directory (or a file) at the same
- physical location, because the 2nd double click is reported with a
- click count of 3 and 4. (Alexander Maryanovsky)
-
- - A few printing bugs fixed, including the notorious print output
- spacing problem.
-
- - The help viewer should no longer open behind the view when jEdit is
- run for the first time on some Java implementations.
-
- - StatusBar.MemoryIndicator.removeNotify() was missing a
- super.removeNotify() call. This could cause 'InputContext' errors when
- exiting jEdit. (Alexander Maryanovsky)
-
- - The plugin manager did not delete downloaded files from the
- 'PluginManager.download' directory on some operating systems, due to a
- missing close() call.
-
- - JEditTextArea.goToEndOfLine() (bound to END if 'smart home/end' is
- off, or END END if its on) followed by goToNextLine() would move the
- cursor to the first column.
-
- - Preview_Javadoc_of_Buffer.bsh macro used the deprecated
- DockableWindowManager.getDockableWindow() method.
-
- - Text area would not automatically scroll to the caret location when
- working with multiple views under certain circumstances.
-
- * Version 4.0final
-
- + Enhancements
-
- - Updated POV-Ray syntax highlighting (Jan Schäfer)
- - Hidden files are no longer listed in the 'Macros' menu
- - Minor improvements to RPM Spec syntax highlighting
- - Updated Python mode (Ollie Rutherfurd)
- - Documentation updates
-
- + Bug Fixes
-
- - roots: filesystem tweak didn't work (Carmine Lucarelli)
- - After doing a HyperSearch in a selection, the HyperSearch Results
- window would always say 'found 0 occurrences in 0 files'
- - Using 'Save As' and entering a file name ending with .gz did not GZip
- the resulting file
- - Fixed minor boo-boo when buffer sorting was on and several files with
- the same name were open
- - Browser view didn't check key events for modifiers so if the browser
- had focus and a shortcut key was pressed a semi-random item would be
- selected in the file list
- - Added workaround for JDistro desktop
- - Fixed possible ArrayIndexOutOfBoundsException if a line is
- soft-wrapped to more screen lines than can be displayed at once. Note
- that this case still won't be handled very well, but at least jEdit
- will no longer throw a fit when it occurs
- - When opening a floating dockable, the default component will be given
- focus. Previously this was only done for docked windows
- - Fixed typo in General option pane
- - Fixed race condition in work thread pool that could result in blank
- files on startup
- - Fixed typo in css.xml
- - Fixed minor problem in HTML version of user's guide
- - Fixed possible "Unbalanced begin/endCompoundEdit()" if BeanShell
- replace fails
- - Fixed an off-by-one error that would cause Control-clicks beyond the
- end of a line to fail
-
- * Version 4.0pre9 (a.k.a 4.0 release candidate 2)
-
- + Enhancements
-
- - The plugin manager now downloads the plugin list in GZipped format
- from the server. This should especially be noticable for dial-up users
- - Minor search bar layout tweak
- - The roots: filesystem should now show extra information when running
- on Windows with JDK 1.4 (eg, you should able to see the UNC paths of
- network drive mappings)
- - Documentation updates
-
- + Bug Fixes
-
- - Fixed QuickNotepad build.xml
- - Explicit folding did not behave correctly if a line contained both the
- start and end strings ({{{ and }}}) (Ollie Rutherfurd)
- - If a plugin depended on a plugin whose jEdit version requirement was
- higher than the installed jEdit version, the 'Update Plugins' command
- would throw a NullPointerException
- - Fixed stylesheet problem in the PDF output
- - Changing the 'print tab size' setting had no effect
- - Changed tip of the day that mentioned an obsolete version of
- WheelMouse
- - Fixed possible ArrayIndexOutOfBoundsException in findMatchingBracket()
- - Fixed some bugs in HyperSearch when searching for .*, .*$ and $
- regular expressions
- - Removed custom quicksort implementation from MiscUtilities (the
- methods are still there, but they just call
- java.util.Collections.sort())
- - Fixed a few more possible ClassCastExceptions due to use of
- non-typesafe buffer property accessors
- - If a search matcher cannot be created (eg, invalid regexp) the
- HyperSearch results window will no longer be stuck with a
- 'Searching...' message
- - Fixed gutter autoscroll
-
- * Version 4.0pre8 (a.k.a 4.0 release candidate 1)
-
- + New Features
-
- - Added syntax highlighting for output of Hex plugin (Andre Kaplan)
- - IBM Informix 4GL syntax highlighting (Vicente Salvador)
-
- + Enhancements
-
- - Documentation updates
- - 'Quick HyperSearch' with a selection, and 'Quick HyperSearch for Word'
- commands will now work even if the search bar is disabled
- - BeanShell 1.2b5 included
- - jEditLauncher 4.0.4 (John Gellene)
- - jedidiff.exe: new command line utility for displaying graphical
- comparison of two files using jEdit and the JDiff plugin
- - jedit.exe: new /1 command line switch that reads the remainder of
- the command line as a single file path, regardless of whitespace
- (required for Internet Explorer integration)
- - jEdit_IE.reg.txt: new, optional Windows registry information file
- for integrating jEdit with Internet Explorer (version 5 or later) as
- an HTML editor
-
- + Bug Fixes
-
- - Fixed tip of the day that referred to the old S+BACK_SPACE/S+DELETE
- bindings
- - Due to a typo in 4.0pre7, text areas that didn't have focus would also
- scroll to the caret location on a buffer change. This was not supposed
- to happen
- - The text area will no longer scroll up and then down again on input if
- it is smaller than about six lines vertically
- - Added workaround for search dialog box losing focus after 'keep
- searching' message shown
- - If an error occurs while evaluating a BeanShell snippet during a
- 'Replace All', the replace operation is aborted. This saves you from
- having to click through an endless stream of "BeanShell error" dialog
- boxes
- - Status bar message shown while mouse was hovering over a macro menu
- item wasn't hidden after the menu item was selected
- - Fixed another soft wrap bug with syntax highlighting
- - Middle-mouse-drag (quick copy) failed if the selected region ended or
- began at the caret position
- - Changed behavior of numeric keypad keys once again. Since some Java
- versions have a broken Toolkit.getLockingKeyState() (hence there is
- no reliable way to know of NumLock is on), they now work as follows:
- - If an action is bound to a key, the action is executed when the key
- is pressed.
- - If no action is bound, the character is inserted when the key is
- pressed.
- - Cleaned up handling of changing fold handlers and 'collapsedFolds'
- property. This should fix a few obscure bugs
- - Consecutive backspaces of characters would not be merged into one undo
- - Updated to a gnu.regexp 1.1.5 CVS snapshot. This fixes the bug where
- replacing the regular expression $ with a string did not change the
- last line of the buffer
- - The file system browser's divider position would not be remembered if
- it was collapsed all the way
- - Layout of 'Install Plugins' dialog box was a bit broken
- - Added a workaround for bug on Windows where a few Alt-key sequences
- (Alt-Left, Alt-Right, Alt-Up, Alt-Down, Alt-PageUp, Alt-PageDown)
- inserted garbage in the text area
- - Firewall code would throw a NullPointerException on startup if the
- user name was non-null, but the password was empty
- - When doing a BeanShell replace, the last subexpression would not be
- stored in a variable
- - 'Write HyperSearch Results' macro did not work
- - Caret event would not be fired if inside a compound edit, a portion of
- text was changed after the caret, then a change was made before the
- caret
- - 'Run Other Macro' command would silently ignore files whose names did
- not match a registered macro handler
-
- + API Additions
-
- - Added new method: MiscUtilities.getFileNameNoExtension(String path)
-
- + API Changes
-
- - The 'rethrowBshErrors' parameter of the eval() and runScript() methods
- in the BeanShell class never did anything, so methods with that
- parameter have been deprecated:
-
- - BeanShell.eval(View,NameSpace,String) replaces
- BeanShell.eval(View,String,boolean) and
- BeanShell.eval(View,NameSpace,String,boolean)
-
- - You should pass BeanShell.getNameSpace() as the value of the
- namespace parameter to mimic the behavior of the old form which did
- not accept a namespace.
-
- - BeanShell.runScript(View,String,Reader,boolean) replaces
- BeanShell.runScript(View,String,boolean,boolean) and
- BeanShell.runScript(View,String,Reader,boolean,boolean)
-
- - You can pass 'null' as a Reader now, to mimic the behavior of the
- old Reader-less form.
-
- - Some new methods were added that throw exceptions instead of showing
- error dialog boxes:
-
- BeanShell._eval(View,NameSpace,String)
- BeanShell._runScript(View,String,Reader,boolean)
-
- - I have also made error reporting to the user more consistent in the
- process.
-
- * Version 4.0pre7
-
- + Enhancements
-
- - Yet-another-optimization to file loading. Directory search should be
- even faster
- - Added a hack to prevent the WheelMouse plugin version 0.5 from being
- loaded under JDK 1.4
- - It should now be possible to bind shortcuts to the numeric keypad,
- although this might not work perfectly on all Java implementations due
- to implementation bugs
- - MacOS plugin version 1.1 (Kris Kopicki)
- - 'Expand Folds With Level' and 'Expand All Folds' commands now scroll
- the text area to the caret position if necessary
- - Documentation is now generated using DocBook-XSL 1.49, DocBook-DSSSL
- 1.76
- - Some people found it confusing that 'Delete to Start of Line' and
- 'Delete to End of Line' were bound to S+BACK_SPACE and S+DELETE,
- respectively, because it was easy to accidentally invoke them when
- you meant to press just BACK_SPACE or DELETE if you were typing some
- capitalized text. Now the shortcuts of these commands has been changed
- to CS+BACK_SPACE and CS+DELETE, respectively.
- - BeanShell 1.2b41 included
- - Documentation updates
- - Moved 'more accurate syntax highlighting' option from 'Loading and
- Saving' option pane to 'Text Area' option pane
-
- + Bug Fixes
-
- - First time jEdit was run, the file system's divider position would be
- such that the parent directories list would be invisible
- - 'End' key didn't work properly
- - Due to the changes in buffer property handling caused by the
- transition to the new document model, new files would always have the
- system default line separator and encoding, instead of the defaults
- that were specified in the 'Loading and Saving' option pane
- - Changing the fold mode by clicking in the status bar did not expand
- currently collapsed folds, which could result in portions of the
- buffer becoming inaccessable
- - Fixed ugly memory usage indicator on MacOS X
- - Even when 'quick copy' was disabled in the text area option pane, the
- middle-drag feature would still be active
- - Fixed ArrayIndexOutOfBoundsException when triple-clicking on the only
- line of a blank new file
- - Fixed repaint slowdown that would happen when switching menus on some
- JDKs
- - If the file system browser was set to show hidden files by default,
- the state of the 'show hidden files' menu item in the browser's
- "Commands" menu would be reversed
- - Fixed dockable panel layout problem if there were more buttons than
- can fit
- - Fixed a problem when dockable panels were larger than the size of the
- view
- - 'Select All' button in close dialog box didn't work
- - Shortcuts assigned to CA+x where x was a letter didn't work. I hope
- the fix for this didn't break AltGR sequences; let me know if it did
- - 'Run Last Macro' and 'Run Other Macro' commands assumed the macro was
- written in BeanShell (Mike Dillon)
- - 'Toggle Line Comment' macro was broken
- - Hard wrap didn't work properly if space was pressed at the end of a
- line whose length was exactly that of the wrap margin
- - Searching for .*, ^ by itself and $ by itself should now work
- - Fixed another problem with soft wrapping syntax highlighted buffers
- - Soft wrap would break if a line ended with enough whitespace to be
- longer than the wrap margin
- - When using 'save as' to save over an already opened buffer, the
- already opened buffer is closed first. This prevents having two open
- buffers with the same path (and possibly different contents)
- - Changed shortcut of 'go to next/previous bracket' to C+e C+[/C+] since
- shortcuts such as C+e [ are tricky to handle
- - Fixed possible NullPointerException in search and replace code
- - Replace All in selection now works with rectangular selections
- - Selection.Rect.getEnd(Buffer,int) returned incorrect values
- - 'Range Comment' command didn't work properly with a rectangular
- selection
- - Control-Shift clicks in the text area didn't work
- - Rectangular selections are now drawn correctly when soft wrap is
- active. Note they are still rather non-intuitive when used with soft
- wrap, as they rely on character offsets within physical lines, not
- screen positions in screen lines.
- - If a save operation fails, the buffer's modified flag is no longer
- cleared, and if it was a 'save as' the buffer is not renamed either
- - Path names of the form "X:foo" (with no \ after the drive letter), and
- UNC paths (\\servername\directory\file) will no longer cause problems
- on Windows
-
- + API Additions
-
- - View.addToolBar(int group, int layer, Component comp) method
- (Mike Dillon)
- - group: one of View.TOP or View.BOTTOM
- - layer: any integer, some predefined constants are in View.java. This
- lets you define the approximate position, from the top or bottom of
- the view, of the tool bar
-
- + API Changes
-
- - The current line highlight and collapsed fold highlight is painted as
- a text area extension now, so plugin extensions can now paint stuff
- below this highlight
-
- * Version 4.0pre6
-
- + New Features
-
- - Enhanced quick copy feature:
- - Dragging with the middle mouse button now creates a selection
- without moving the caret, when the mouse button is released the
- selected text is inserted at the caret position and the selection is
- deactivated
- - A status bar message is shown while middle-dragging to avoid
- confusion
- - This is disabled by default -- enable in Text Area option pane
- - Modula-3 syntax highlighting (Marcio Marchini)
- - Smalltalk syntax highlighting (Marcio Marchini)
-
- + Enhancements
-
- - Minor tweaks to VFS path code, that should make things a bit smoother
- for the FTP plugin
- - Updated Prolog syntax highlighting (Giulio Piancastelli)
- - Hard wrapping is now performed if there is only whitespace between the
- caret and the end of the line
- - Pressing the Up or Down arrow when the caret is the first or last line
- of the buffer moves the caret to the beginning and end of the buffer,
- respectively
- - Only one 'Search and Replace' dialog can be opened per view. Note that
- due to bugs in the Linux (and probably other Unix) Java
- implementation, the dialog has to be mometarily hidden and shown again
- for this to work
- - Favorites menu in file system browser is now sorted using a
- case-insensitive sort
- - Improved behavior of 'Plugins' menu when lots of plugins are installed
- - Slightly faster scrolling
- - Added 'Close' command to file dialog's right-click menu
- - Removed funky background token's "paint to end of line" behavior
- - Saving a file no longer causes cached token information to be flushed
- (doing this on a save was kind of pointless)
- - Entering a new path in a file dialog box and clicking 'Open' now sets
- the browser's location to that path
- - Home/end commands, up/down arrows are now soft-wrap-aware
- - Documentation is now built using DocBook-XSL stylesheets 1.48
- - Optimized text area's buffer event handler -- this should result in
- faster 'Replace All'
- - Addition to jEdit's glob syntax: "{!glob}" is converted to the
- regular expression "(?!glob).*"
- - You can double-click abbrevs in the 'Abbreviations' option pane to
- edit them
- - If the block caret is enabled, the overwrite caret is now 1/3 the
- height of a character
- - Documentation updates (me and John Gellene)
- - Changes to build.xml; documentation on compiling from source now part
- of the source distribution (README.SRC.txt)
- - Restored word command behavior to how it was in jEdit 3.2
-
- + Bug Fixes
-
- - Malformed URL errors were not being reported correctly
- - Fixed exception when double- or triple-click dragging (this was meant
- to be fixed in pre5 but I didn't get the fix quite right)
- - Fixed NullPointerException when opening a new view
- - Out of memory errors were not always reported
- - Fixed minor inconsistency in handling of words -vs- keywords in
- 'Complete Word' command
- - Properly fixed 'unprintable characters in table of contents' bug
- - Replace in selection would preserve the current selection, but not
- the caret position, so if there was a match at the start of the
- selection, the caret would move inside the selected range
- - On Windows, double-clicking on a drive letter in the drives list of
- the file system browser would open the wrong location
- - Focus manager under JDK 1.4 used the wrong traversal policy, this
- caused a few problems
- - The status bar message shown when a bracket is out of bounds was not
- always being displayed if soft wrap was in use
- - Fixed silly behavior in 'Install Plugins' dialog box
- - Fixed possible NPE when loading tool bar with buttons for which
- actions do not exist
- - Fold level changed events were not fired; this caused problems with
- indent folding
- - Changing the fold mode using the 'Buffer Options' dialog box in a
- buffer that defined the 'collapseFolds' property could have slightly
- bizzarre results, because the folds were collapsed before the fold
- handler was changed
- - Creating rectangular selections on MacOS was not possible since both
- the context menu and the rectangular selection was bound to
- Control-click. Now, you can Command-drag to create rectangular
- selections on MacOS
- - Since the 'apply text area colors to all components' setting only
- fully took effect after a restart, jEdit.propertiesChanged() no longer
- performs the initialization for this setting, instead it has been
- moved to the startup sequence
- - Fixed problem with markers returning to their original locations on
- save
- - Removed obsolete option from 'Docking' option pane
- - Fixed possible ArrayIndexOutOfBoundsException when expanding and
- collapsing folds near the end of the buffer
- - 'Add Explicit Fold' command did not work properly with multiple
- selections
- - Scrolling would not be performed when text was inserted sometimes, due
- to the last physical line index not being updated properly
- - If tokens had background colors defined, scrolling horizontally would
- draw the backgrounds as if no scrolling had taken place
- - When closing the last buffer, the edit pane would retain a reference
- to it in the 'recent buffer' field, and using the 'Go to Recent
- Buffer' command would result in weird things happening
- - Setting the lineSeparator buffer property to override the line
- separator for a specific file did not work
- - Fixed (harmless) missing resource exception when starting jEdit for
- the first time
- - Fixed possible ArrayIndexOutOfBoundsException when using the
- 'Collapse Fold' command (clicking fold triangles in the gutter still
- worked though)
- - Removing text from the middle of a line with soft wrap on might not
- repaint the text area properly
- - Added missing 'read error' and 'write error' I/O error strings
- - Workaround for Graphics2D.setPaintMode() bug on Windows placed in
- background token painting code as well
- - Memory indicator in status bar looked stupid on Windows L&F and other
- look and feels where the text color and progress bar foreground was
- the same
- - Possible fix for 'timeout' error when opening a large number of files
- with jEditLauncher on Windows
- - Autosave would stall the editor because it grabbed a read lock for the
- entire operation
- - 'New File' command no longer creates read only buffers if the current
- buffer is located on a read-only filesystem
- - jEditLauncher 4.0.2 fixes several bugs in the installer module
- (John Gellene)
-
- + API Additions
-
- - Support for macros written in other languages (Mike Dillon)
- - Macros.registerHandler(Macros.Handler handler) method
- - Macros.Handler class has these methods:
-
- public abstract Macro createMacro(String macroName, String path);
- public abstract void runMacro(View view, Macro macro);
- protected Handler(String name)
-
- - 'name' is used to key "macro-handler.<name>.label" and
- "macro-handler.<name>.glob" properties.
- - One minor UI addition is that the language a macro is written in,
- along with the full path to the macro file is shown in the status
- bar when the mouse is over a macro's menu item or tool bar button.
-
- - Support for pluggable fold handlers (Mike Dillon)
- - FoldHandler.registerFoldHandler(FoldHandler handler) method
- - FoldHandler class has these methods:
-
- public abstract int getFoldLevel(Buffer buffer, int line, Segment seg);
- protected FoldHandler(String name)
-
- * Version 4.0pre5
-
- + New Features
-
- - ObjectRexx syntax highlighting (George Hovey)
-
- + Enhancements
-
- - If jEdit runs out of memory while loading a file, it now reports the
- error using the standard I/O error reporting method, instead of just
- dumping an exception in the activity log
- - If indent folding is enabled, lines consisting of white space only no
- longer inherit the fold level of the previous line
- - QuickNotepad plugin compiled by default
- - FAQ updates (John Gellene)
- - The "Open in New View" command has been re-added to the file system
- browser right-click menu
- - Pressing ENTER in the file system browser no longer closes the
- selected file if 'double click close' is enabled; now, only double-
- and middle-clicks can close open files
- - NEWS.txt written
- - Updated Pascal syntax highlighting (Barry Carr)
- - 'Spaces to Tabs' and 'Tabs to Spaces' now operate on the entire buffer
- if there is no selection (Ollie Rutherfurd)
- - 'More accurate syntax highlighting' option is now even more accurate;
- when editing PHP files with very long embedded scripts, you should
- never see the highlighting mess up
- - Documentation updates
- - Tweaked word and line selection behavior
- - Previously, jEdit would only parse the first 10 lines of a buffer for
- buffer-local properties; now the last 10 lines are parsed as well
- (Ollie Rutherfurd)
- - jEditLauncher 4.0.1 (John Gellene)
-
- + Bug Fixes
-
- - Removed unnecessary menu bar hack on MacOS X
- - Tab width would be wrong on some JVMs
- - Tighter layout in the file system browser's parent directory list
- - The Commands->Root Directory command in the file system browser opened
- the 'roots:' VFS even on systems where it is not used (ie, Unix)
- - Tool bar buttons had incorrect tool tips
- - In the total size tally, the plugin manager didn't add the sizes of
- plugins that would be implicitly installed due to dependencies
- - Plugin manager displayed the wrong message when installing plugins
- - 'Print' command threw a NullPointerException if 'print header' was
- disabled
- - Selection wasn't cleared when switching buffers sometimes. This caused
- problems
- - If the block caret was enabled, mouse clicks would position the caret
- in the wrong location
- - Files would not be saved properly if two stage saving was disabled and
- backups were enabled
- - Workaround for Graphics2D.setPaintMode() bug on Windows (John Gellene)
- - Docked windows can no longer be made larger than the width or height
- of the view
- - If the first narrowed line was not a fold start, newly inserted lines
- within the narrowed region would become invisible
- - Making changes to the last line in the buffer that would result in the
- line being wrapped would result in incorrect repaints
- - Double-click and triple-click drags would throw exceptions if the
- mouse was moved outside the text area
- - Fixed several bugs when painting tokens with a background color
- - File system browser would throw NullPointerExceptions when loading
- directories under some circumstances
- - Fixed ArrayIndexOutOfBoundsException when loading a file with saved
- markers
- - Running "jedit -usage" and "jedit -version" produced no output
- - Floating window positions were not saved
- - Fixed arrow keys in HyperSearch Results window (again...)
- - Fixed Java, C, C++, and similar mode's auto indent bug
- - Fixed minor problem when indenting a line containing "{{{"
- - When I overhauled the action system in jEdit 4.0pre1, I tried to
- preserve compatibility with macro shortcuts set in previous versions,
- but I did it incorrectly. This has been fixed; if you set macro
- shortcuts with 4.0pre1-pre4, you will need to set them again, but
- shortcuts set in 3.2.2 should work without any trouble.
- - If the 'BeanShell replace' radio button was selected, the search and
- replace dialog box would open with the replace field's history set up
- incorrectly.
- - Sometimes the scroll bar would not be updated correctly when opening a
- file
- - Disabling anti-aliasing might work now on MacOS X
- - Macros that switch buffers should no longer result in an error being
- printed to the activity log when they finish executing
- - Fixed long-standing docked window button layout bug
- - Triple-click drag didn't support selective selection of the trailing
- line feed due to some changes in pre4
- - If a very long string is selected, the Search and Replace dialog will
- not be unacceptably wide when 'Find' is invoked
- - Fixed broken soft wrap in syntax highlighted files
- - Made sure that all XML mode files now validate against the xmode.dtd
- - Print jobs would be named 'true' (or 'false' if you were lucky)
- - Fixed unprintable characters in the help table of contents
- - Added minor hack to jEdit.initMisc() so that plugins wishing to use
- the JAXP API to access the XML plugin's Xerces parser can work
- - Fixed some focus problems with 'Complete Word' command
- - 'Center caret on screen' command threw an exception if the buffer was
- shorter than the number of visible lines divided in half
- - "Scroll to caret" code is now soft wrap-aware
-
- * Version 4.0pre4
-
- Note that jEdit now has a source file, Java14.java, that only compiles
- under Java 2 version 1.4. If you're using Java 2 version 1.3 and wish to
- compile jEdit from source, you should comment out the "jdk14" property
- in build.xml.
-
- + New Features
-
- - Soft wrap.
- - Three wrapping modes are available:
- "none" - no wrapping is performed
- "soft" - soft wrap
- "hard" - this is the old hard wrap feature that has been available
- since jEdit 3.0.
- - Change the wrap mode in Global Options or Buffer Options
- - When soft wrap is enabled, you can set the 'Wrap margin' setting to
- zero to wrap to the width of the text area.
- - Some plugins will need to be updated; see below
- - Two JDK 1.4-specific options added to 'Appearance' option pane:
- 'Draw window borders using Swing look & feel', 'Draw dialog box
- borders using Swing look & feel'. Both are disabled by default.
- - New 'Keyboard Tester' command in Utilities->Troubleshooting menu; it
- displays a 'grab key' dialog and dumps key events into a new buffer
- - Option to split file dialogs vertically (Ollie Rutherfurd)
- - Plugin manager's install plugins dialog box now shows plugin download
- sizes, and has a slightly improved look
- - jEdit Frequently Asked Questions is now included in the online help
- (John Gellene)
- - Prolog syntax highlighting (Giulio Piancastelli)
-
- + Enhancements
-
- - Firewall plugin integrated into editor core
- - Global Options dialog box now has an 'Overview' page
- - Better GZIP file auto-detection; previously, jEdit would check for a
- filename extension of .gz, now it checks for the GZIP magic number at
- the start of the file
- - Unicode files are now automatically detected as being such, and opened
- with the Unicode encoding
- - 'Narrow to Fold' on a collapsed fold now automatically expands the
- fold
- - The complete word changes started in 4.0pre3 are now complete.
- - UP/DOWN arrow keys wrap selection around in complete word list
- - Keywords are now completed (and shown in the list in a bold font)
- - The popup is updated on the fly if you type or press BACKSPACE while
- it is showing
- - In the file system browser, trying to add a file to the favorites now
- adds that file's directory to the favorites, instead of showing an
- error message
- - The edit server now un-iconifies the view, if necessary
- - Updated ML mode (Ingmar Stein)
- - Printing code rewritten to use Java 2 print API. The only user-visible
- change is that the printed output is now word-wrapped.
- - The file system browser now preserves expansion state when reloading
- directories
- - On Unix operating systems, the roots: VFS is no longer available,
- since it is not necessary (Unix systems have a single file system
- root, /)
- - Changed file system browser to underline open files, not show a black
- chunk next to their names
- - Closed three possible holes in the edit server:
- - Opening a socket and leaving it open no longer stops other clients
- from connecting; there is now a 1 second timeout
- - Opening a socket and sending a whole load of crap, all on one line,
- no longer causes the edit server to read it in; the protocol has
- been changed to send the authorization key in binary as four octets,
- as opposed to in a line of text
- - On some braindamaged Unix systems, users can read files in each
- other's home directories. jEdit now explicitly sets the server
- file's permissions to 0600 to work around this brain damage
- - Improved JSP syntax highlighting (Daiji Takamori)
- - Quick-copy (middle mouse button pasting most recent selection) is now
- disabled by default, since people seem to get confused by it to no end
- when they accidentally click the middle mouse button while using a
- wheel mouse to scroll
- - Shift-double click and shift-middle mouse button clicks in the file
- system browser now open files in a new view
- - Minor search and replace dialog box usability improvements:
- - Keep dialog on by default
- - Somewhat confusing 'Replace' button removed
- - Faster HyperSearch
- - Updated Foxpro mode (Matthew J. Price)
- - jEditLauncher version 4.0 (John Gellene)
- - Revised installer module
- - Logging feature for easier troubleshooting of installation problems
- - Updated for 4.0pre4 EditServer changes (but backwards compatible
- with older jEdit versions)
-
- + Neutral
-
- - Tips moved to doc/tips directory; documentation is no longer inside
- the JAR
-
- + Bug Fixes
-
- - Next-fold command was slightly broken
- - Fixed possible plugin manager NPE when installing incompatible plugins
- - On some Java versions, the plugin manager's progress windows would
- hang until explicitly given focus
- - Minor fix for S+HOME/S+END behavior
- - Fixed for weird caret position after control-clicking a closing
- bracket
- - The position of the wrap guide is now determined using the Java2D API,
- so it should be correct now. Previously, it could be drawn in the
- wrong place if anti-aliasing was enabled
- - The tab width is also determined using the correct APIs
- - Fixed possible NullPointerException in VFS file dialog box
- - Fixed minor bug in 'Select Fold' command
- - Fixed some JDK 1.4-specific bugs:
- - The 'select text on focus' feature of some text fields fixed
- - File system browser's type select fixed
- - Keyboard shortcuts only worked in the text area
- - Sometimes keyboard focus would jump to the search bar
- - Unfortunately, fixing the last two required the use of Java
- 1.4-specific APIs. As a result, the Java14.java source file will not
- compile under a 1.3 JDK.
- - Embedded tabs in lines would show up as boxes in bracket matching
- status bar messages
- - Sometimes hard tabs would be inserted into the buffer, even if soft
- tabs were enabled
- - Trying to reload a read only file would fail
- - Fixed possible NullPointerException in 'Styles' option pane
- - I removed the feature that automatically folds newly inserted text as
- necessary, because it had too many problems
- - Changed some tree cell renderers to work around problems experienced
- on MacOS X
- - Fixed possible ArrayIndexOutOfBoundsException when closing a view
- - File name and first line globs were not shown in the 'Mode specific'
- option pane
- - Fixed ArrayIndexOutOfBoundsException when scrolling a one-line buffer
- with the WheelMouse plugin
- - "Insert File" was broken since 4.0pre1
- - Text area syntax highlighting would not always be updated properly
- when switching modes
- - Display_Shortcuts macro didn't work
- - jEdit would hang if 'Find Previous' was invoked while regular
- expressions were enabled
- - "Narrow to Fold" would never include the last line of the buffer in
- the narrow, even if it was part of the fold in question
-
- + API Additions
-
- - BufferUpdate.SAVED message type added. Previously, DIRTY_CHANGED could
- be used for this purpose, but since jEdit now clears the dirty flag
- when all changes up to a save are undone, doing on-save actions when a
- DIRTY_CHANGED is received can have unexpected consequences.
- - New method: MiscUtilities.quicksort(List a, Compare a)
- - MiscUtilities.Compare now extends java.util.Comparator (which has the
- same API)
- - MiscUtilities.quicksort(Object[],Compare) now calls
- java.util.Arrays.sort()
- - MiscUtilities.quicksort(Object[],Comparator),
- MiscUtilities.quicksort(List,Comparator) methods added
- - The above changes are completely binary compatible, and they make
- jEdit's sorting API more consistent with the Java collections API.
- - New OperatingSystem class, with the following methods:
-
- isDOSDerived(), isWindows(), isWindows9x(), isWindowsNT(), isOS2()
- isMacOS()
- isUnix()
- hasJava14()
-
- + API Changes
-
- - Offset conversion API changes. Old methods (xToOffset(), offsetToX(),
- yToLine(), lineToY()) deprecated; you must now use xyToOffset() and
- offsetToXY() instead. Also note that xyToOffset() will return -1 if
- the y co-ordinate is not visible in the text area.
- - The BufferChangeListener API was inconsistent. foldLevelChanged() was
- called with the last two parameters being a start and end line,
- respectively, but the documentation claimed that the first parameter
- was a single line index, and the second was a fold level. This was an
- error on the part of the documentation, and has since been fixed.
- - TextAreaExtension API replaces TextAreaHighlights. It now supports the
- concept of 'layers', so you can for example add an extension that will
- be painted below the selection (the JDiff plugin wants to do this).
-
- * Version 4.0pre3
-
- jEdit now requires Java 2 version 1.3 or later! Java 2 version 1.2 and
- Java 1.1 can no longer be used to run jEdit.
-
- + New Features
-
- - Two-stage save (where a file is first saved to #filename#save#, then
- renamed to the actual file name) can be disabled in the 'Loading and
- Saving' option pane
- - -noplugins command line switch added
- - Added option to have backups created on every save (default is to only
- create one backup for each file, until it is closed)
- (Ollie Rutherfurd)
- - 'Extra word characters' setting added to Editing option pane
- - 'Range Comment' and 'Line Comment' commands now behave correctly when,
- for example, inserting comments in inline JavaScript in an HTML file.
- - The new Buffer.getContextSensitiveProperty() method first checks the
- properties of the parser rule set at the specified offset; then the
- edit mode that contains that rule set; and finally, the edit mode of
- the buffer itself.
- - In mode files, you can now place a PROPS element inside a RULES
- element to define ruleset-specific properties. Currently, only the
- 'commentStart', 'commentEnd' and 'lineComment' properties can be
- ruleset-specific.
- - 'Search->Incremental Search for Word' command puts the word under the
- caret in the search bar
- - 'Search->HyperSearch for Word' performs a HyperSearch for the word
- under the caret
- - View->Folding submenu is now a top-level Folding menu. A few commands
- have been added:
- - Add Explicit Fold (C+e a): surrounds the selection with explicit
- fold markers ({{{ and }}})
- - Go to Previous/Next Fold (A+UP, A+DOWN): self-explanatory. Go to
- Previous/Next Marker, which were formely bound to A+UP/DOWN, are now
- bound to C+e , and C+e ..
- - Go to Parent Fold (C+e u): moves caret to fold with a higher level
- than the one containing the caret
- - Narrow to Fold (C+e n n): equivalent to invoking 'Select Fold', then
- 'Narrow to Selection'
- - Narrow to Selection (C+e n s): this command is the same as before,
- but has a new shortcut
- - ActionScript syntax highlighting (Ben Glazer)
-
- + Enhancements
-
- - C+LEFT/C+RIGHT are now more intelligent. Tell me if you like the new
- behavior.
- - If there are more buttons in a docking area than can fit, a popup menu
- button is shown; clicking it shows a popup listing all dockables in
- that area
- - Added option to disable file system browser's tool bar
- - I/O errors are now batched into a single dialog box
- - New, smaller icons in file system browser (Dirk Moebius)
- - New jEdit window icon (Phillip Richdale)
- - First item in File->Current Directory menu (the directory path itself)
- is no longer a grayed out label; you can invoke it to view the
- directory in the file system browser
- - First item in 'Paste Previous' dialog pre-selected when dialog shown
- - Focus is returned to file list in 'Close All' dialog box after one of
- the buttons are clicked
- - Recent Directories menu, Browse System/User Macros commands, and other
- commands that open directories in the file system browser now work a
- little better
- - The list of open files is now saved by the autosave task
- - Smoother incremental search
- - When HOME is pressed while there is a selection, the caret is moved to
- the beginning of the first selected line. END moves the caret to the
- end of the last selected line.
- - Search bar automatically selects its contents as soon as it gets focus
- - The file system browser's 'Search in Directory' command no longer
- hangs the event dispatch thread until the directory hierarchy has been
- listed
- - If an error occurs while loading one of the files involved in a
- multi-file search, the search will continue; previously it would have
- been aborted. Any errors will be listed in a dialog box after the
- search is complete.
- - Commands in View->Splitting menu moved to top level of View menu
- - Updated PL-SQL mode (Steve Snider)
- - Updated MS-DOS batch mode (Mirco Bova)
- - Files on read-only filesystems (such as the URL filesystem) now have
- the read-only flag set. Previously, only local files would have the
- read only flag set automatically.
-
- + Neutral
-
- - Syntax highlighting can no longer be disabled -- too many features
- (bracket matching, commenting commands) rely on syntax info now
-
- + Bug Fixes
-
- - JEditTextArea now uses type-safe buffer property accessors, so there
- shouldn't be any more ClassCastExceptions
- - Fixed stack overflow if attempting to use URL filesystem (to open an
- http:// URL, for instance)
- - Fixed stupid bug in installer that affected MacOS X installation
- - File system browser's parent directory view could not be completely
- hidden by dragging the split pane
- - Pressing the left arrow key in the file system browser didn't always
- work
- - Bracket matching would sometimes show a status bar message even if the
- bracket was visible
- - Fixed another minor bracket repaint problem that would occur if the
- matched bracket was not visible and the text area lost focus
- - Select Line, Select Word, Select Paragraph actions were slightly
- broken
- - Fixed minor undo modified flag clearing bug
- - Pressing the tab key with a one-line selection would insert a hard tab
- even if soft tabs were enabled
- - Deprecated MiscUtilities.compareVersions() method was an instance
- method, which made plugins that used it throw VerifyErrors on startup.
- These plugins will now work again (but should eventually be updated to
- call non-deprecated methods).
- - Fixed another search and replace bug triggered by the Tags plugin
- - When searching in multiple selections, HyperSearch would create one
- tree node for each selection
- - InputHandler.readNextChar() didn't work with all characters
- - Floating positions would sometimes be updated incorrectly when text
- was inserted
- - Fixed another file system browser 'Search in Directory'
- NullPointerException
- - Buffer-local property parsing code was broken
- - Sometimes multi-line tokens would not be repainted correctly
- - Opening files whose path began with ~ (which was supposed to be
- expanded to your home directory path) didn't work
- - Trying to do a directory search inside a directory which contained a
- symlink loop would hang jEdit
- - The 'Auto Wrap' search option did not take effect in macros
- - Bug fix in MacOS plugin (Kris Kopicki)
- - Fixed problem with default position of table of contents in help, and
- dockable window dividers
- - Default filename filter in file system browser skipped files with
- single-character names. Now the default filter is *[^~#], which should
- work properly
- - On JDK 1.4, closing a docking area didn't deselect the currently
- selected button
-
- + API Changes
-
- - VFS.reloadDirectory() method added; it is called before a directory is
- reloaded by the file system browser
- - MiscUtilities.charsToXMLEscapes() method added
- - To take advantage of the new I/O error dialog box, virtual filesystem
- implementations should call:
-
- VFSManager.error(Component comp, String path, String messageProp,
- Object[] args)
-
- instead of
-
- VFSManager.error(Component comp, String message, Object[] args)
-
- The message is obtained from the property 'messageProp' (nothing is
- prepended or appended to the property name).
-
- - New method: VFSBrowser.browseDirectory(View view, String path)
- - New method: MiscUtilities.listDirectory(String directory, String glob,
- boolean recurse)
-
- * Version 4.0pre2
-
- + New Features
-
- - MacOS plugin bundled (Kris Kopicki)
- - jEdit exits cleanly when Command+Q is pressed
- - Files created or associated with jEdit can now be opened from the
- Finder by double-clicking on them, or dragging them to the jEdit
- icon
- - jEdit is assigned as the creator of new files
- - A few Alt-key shortcuts added for commonly-used commands so that you
- don't have to move your fingers all over the keyboard:
- - A+i, A+k: prev, next line
- - A+j, A+l: prev, next character
- - A+q, A+a: page up, page down
- - A+z, A+x: home, end
- - A+d: delete next character
- - A new View->Docking menu; contains commands for closing the left, top,
- right and bottom docking areas (shortcuts: C+e 1,2,3,4)
- - Narrowing re-implemented. This feature was present in jEdit 3.2 but
- was missing from 4.0pre1.
-
- + Enhancements
-
- - Bracket matching improvements:
- - If the highlighted bracket is off screen, the text of the matching
- line is shown in the status bar. And here's the best part: if the
- matching line cosists of only a bracket and whitespace, the
- *previous* line is shown in the status bar instead
- - Clicking the scope indicator in the gutter moves the caret between
- the two matching brackets
- - Control-clicking the scope indicator or a bracket in the text area
- selects all text between the two matching brackets
- - File system browser improvements:
- - Parent directories are now listed in a widget at the top of the
- file system browser
- - File->Recent Directories menu lists directories that were recently
- visted in the file system browser
- - File selection dialog boxes now have a status bar that shows the
- number of pending I/O requests
- - Middle mouse button click in file system browser now has the same
- effect as double-clicking
- - You can now enter relative paths in the file system browser's path
- field
- - 'More' menu split into 'Commands' and 'Plugins' menus
- - 'Commands' menu and tool bar now have the same set of commands
- - 'Favorites' menu added for quicker access to favorites
- - If invoked while a file is selected, the 'Search in Directory'
- command now sets the search file name filter to that file's
- extension
- - Icons added to 'BeanShell Error' and 'Close All' dialog boxes
- - Updated PV-WAVE mode (Ed Stewart)
- - Updated Transact-SQL mode (Ollie Rutherfurd)
- - Updated Omnimark mode (Lionel Fiol)
- - Closing a docked window now returns focus to the text area
- - Memory indicator tooltip now shows used and total Java heap memory in
- kilobytes
- - Option for search and replace to beep on auto wrap (Kenrick Drew)
- - Faster (in theory anyway) file loading as a side effect of some bug
- fixes
- - Improved help viewer welcome screen
- - Updated QuickNotepad sample plugin for jEdit 4.0 API changes (John
- Gellene)
- - 'Delete Line' now leaves the caret in the same column
- - '~' in buffer and directory path names is now automatically expanded
- to the home directory
- - Improved undo
- - Pressing Tab while there is a selection will now only shift the line's
- leading indent if the selection spans more than one line
- - If indent on tab is enabled, a line will only be indented if Tab is
- pressed inside the leading whitespace of that line. Indent on tab is
- now enabled by default
- - Bundled set of macros slimmed down somewhat. You can find more macros
- at http://community.jedit.org (John Gellene)
- - Text selection commands (Select Word, Select Line, and so on) are now
- multiple selection aware
-
- + Bug Fixes
-
- - Fixed a memory leak with the search and replace dialog box
- - Undo would be broken after a file was reloaded
- - Fixed exception thrown if a buffer contained definitions for integer
- properties (tab size, maximum line length, ...)
- - Changing the gutter font didn't update the gutter width
- - Fixed broken scrolling behavior
- - Some files would open with only one line visible
- - MiscUtilities.compareStrings() would throw exceptions with strings
- that contained embedded numbers larger than 2^31
- - Creating a new view or splitting the view didn't work
- - Tool bar tooltips were broken
- - With the Windows look and feel, file names were invisible in the file
- system browser
- - In the help viewer, the top-level user's guide link was broken
- - BufferChangeAdapter didn't properly implement BufferChangeListener
- interface (Maik Schreiber)
- - GUIUtilities.loadToolButton() no longer throws an exception with
- invalid tool bar buttons
- - It was not possible to bind an action to a non-alphanumeric key
- without any modifiers
- - The file system browser's notion of the current directory is not
- changed until the directory is actually loaded successfully
- - Some directories could not be deleted from the favorites
- - It is no longer possible to add the same directory to the favorites
- twice
- - File->Current Directory menu now shows 'No Files' if there are no
- files in the current directory
- - Fixed a few bugs in the File System Browser->Colors option pane
- - Compound edits were rather buggy
- - 'Trailing EOL' setting did not work
- - Fixed possible MacOS X keyboard problems (again...)
- - Fixed a buffer corruption bug
- - 'Select Fold' command threw an exception of there were no folds in the
- buffer
- - Fixed a few bracket matching bugs
- - Fixed cosmetic bug in search and replace code that was triggered by
- the Tags plugin
- - Fixed minor repaint bug with multiple selections
-
- + API Changes
-
- - New method in VFS class: _canonPath().
- - VFS.DirectoryEntry constructor accepting a 'color' parameter removed.
- Instead, write a VFS.DirectoryEntry subclass that overrides the
- getColor() method
- - MiscUtilities.constructPath(), .getFileName(), .getParentOfPath()
- methods are now VFS-aware
- - Note that the behavior of correspondingly-named methods in the VFS
- class has changed in a suttle manner, and they should no longer be
- called directly. Use the MiscUtilities methods for all path
- manipulation.
- - EditAction.getView() deprecated, call GUIUtilities.getView() instead
-
- * Version 4.0pre1
-
- + New Features
-
- - New document model uses less memory, loads files faster, and has a
- simpler API for developers. Also, finally, the file modification flag
- is cleared when all edits up to a save are undone
- - New folding features:
- - Three fold modes: none, indent, explicit. 'none' is the default now.
- 'indent' is the indent-based folding mode, that behaves the same as
- indent-based folding in jEdit 3.1 and 3.2. 'explicit' parses the
- buffer for {{{ and }}} and adds folds based on that.
- - Change the fold mode by clicking the fold mode widget in the status
- bar, or in the Buffer Options dialog box, or with the 'folding'
- buffer-local property, or in the Global Options dialog box.
- - Folds are now shown in the gutter as triangles, which is more
- intuitive than filled/not-filled boxes
- - View->Folding->Collapse All Folds command, equivalent to invoking
- 'Expand Folds With Level' and specifying a level of 1
- - Different text areas editing the same buffer can now have different
- folds collapsed and expanded. Previously, fold visibility was stored
- at the buffer level
- - Utilities->Memory Status command to replace 'Show Free Memory' macro
- - General look and feel settings moved to 'Appearance' option pane
- - If you are using the Metal or Kunststoff L&F, the UI control font can
- be changed in Utilities->Global Options->Appearance
- - 'Vertical Paste' macro (Andre Kaplan)
- - File listings in the file system browser are now colorized. Change the
- colors in Utilities->Global Options->File System Browser
- - When a file is loaded, jEdit now remembers if it contained a trailing
- newline, and if so, writes it out when saving the file. Previously, a
- trailing newline would always be written, regardless of it being
- present in the file on disk or not
- - The tab and enter key can now be used in shortcut assignments
- - Utilities->Evaluate for Selected Lines command evaluates specified
- BeanShell expression for each selected line, replacing the contents of
- that line with the return value of the expression
- - Macros.confirm() method added, for use in macros
- - BBj (Business Basic based on Java) syntax highlighting (Thomas Bock)
- - BibTeX syntax highlighting (Nils Krahnstoever)
- - Option added to sort recent file list by name
- - -nogui switch is back. If specified when jEdit is being run in
- background mode, the initial view will not be opened
- - Edit->Invert Selection command added
- - The gutter now displays a scope indicator when the caret and matching
- bracket are not on the same line
- - Ant is used instead of jmk to compile jEdit
-
- + Neutral
-
- - Word wrap is disabled by default
-
- + Enhancements
-
- - BeanShell 1.2b3 now included, instead of slightly patched 1.2b1
- - New splash screen and about box (Kris Kopicki)
- - HTML documentation is now generated using DocBook XSL 1.44 stylesheets
- - Option in activity log window to automatically scroll to bottom on
- output (Dirk Moebius)
- - Status bar improvements:
- - Tool tips for all controls
- - Double-click on caret status shows the 'go to line' dialog box
- - Instead of showing 'multi' in gray of multiple selection was
- disabled, and in black if it was enabled, the display now
- alternates between 'multi' and 'single'
- - Same for the overwrite status; it now shows 'ins' or 'ovr'
- - I/O progress display replaced with a Java heap memory indicator
- - I/O status is now shown in the message area of the status bar
- - New color scheme
- - Pressing Tab while a selection is active shifts it right by one level
- of indent
- - Pressing S+Tab shifts the selection right by one level of indent
- - If a selection ends at the beginning of a line, that line is no longer
- considered to be part of the selection by line manipulation commands
- - Improved window docking feature:
- - New, much simpler API for plugins
- - 'Auto open' setting in Docking option pane removed, now jEdit
- remembers which dockables were open automatically
- - Docked windows are shown inside a custom control, not a tabbed pane
- - ALL dockable windows set to dock in a certain area are shown in that
- area, not just those currently 'open'. When a dockable is requested
- for the first time, it is created and loaded
- - Changes made in the Docking option pane now take effect immediately
- - In the Shortcuts option pane, each plugin's actions are shown in a
- separate section. This solves the problem of plugin actions having
- ambiguous names (for example, "Edit Settings"). This change is the
- reason for the jEdit.addAction() method was dropped.
- - Macros.message(), Macros.error() and Macros.input() methods now accept
- an arbitriary java.awt.Component, instead of a View, as the component
- that will parent the dialog box. This will not break any macros since
- BeanShell resolves methods at run-time.
- - jEdit now makes an effort to display popup menus on-screen. If you
- want your plugin to do this, use the new GUIUtilities.showPopupMenu()
- method.
- - Editing and saving a mode file, or mode catalog file within jEdit will
- automatically reload that mode, or all edit modes
- - A few keyboard shortcuts added to file system browser:
- ~ - goes to home directory
- / - goes to file system roots list
- - - goes to current buffer's directory
- - Improved Abbreviations option pane
- - Improved Styles option pane
- - Improved search and replace:
- - It is now possible to do a HyperSearch in the current selection
- - When a match is clicked on in the HyperSearch results window, the
- match is now selected in the text area. Previously, the caret was
- only moved to the line containing the match.
- - Search in Selection radio button: when selected, the 'Replace All'
- button does the same thing as the 'Replace' button
- - If text is selected when the dialog box is being opened, this radio
- button is selected automatically, unless only one line of text is
- selected, in which case that text becomes the search string
- - Because of the above, the 'Find Selection' command is no longer
- necessary
- - 'All buffers' and 'Directory' radio buttons now pre-select the
- 'HyperSearch' check box (it is still possible to do a normal search
- over a set of buffers, by deselecting the check box)
- - When doing a case-insensitive search and replace, the substituted
- string's case is converted to the found match case, if the found
- match is all lower case, all upper case, or title case
- - gnu.regexp 1.1.4 now included
- - Multiple selections are now stored in the order they appear in the
- buffer, not the order they were added
- - New MiscUtilities.compareStrings() method compares two strings,
- treating numbers specially. So, for example, it will say that
- "my file 10" comes after "my file 2", and that "2.9" comes before
- "2.10"
- - MiscUtilities.StringCompare and StringICaseCompare classes use this
- method by default
- - The buffer-local noWordSep property now has a default value of "_".
- Previously, there was no default, but most modes specified a value of
- "_".
- - jEdit now backs up files it saves to the settings directory to
- $HOME/.jedit/settings-backups
- - Settings files are now saved to #filename#save#, then renamed to the
- actual file name. This prevents settings from being lost if jEdit
- crashes in the middle of saving them
- - PL/SQL mode updates (Steve Snider)
-
- + Bug Fixes
-
- - 'Recent Files' menu behaved in a strange manner if there were no
- recent files
- - Fixed a NullPointerException if the 'Narrow to Selection' command
- was invoked with no selection
- - JCheckBoxList typo prevented it from working in the XML plugin
- - On MacOS, the option key, which is reported as ALT, can be used to
- generate user input, but jEdit ignored Alt key strokes that were not
- bound to shortcuts.
- - More JDK 1.4 key event bug workarounds
- - History text field border wasn't repainted after the model was changed
- - If two shortcuts were assigned to a command, the second wasn't shown
- in the tool bar button tooltip
- - In syntax highlighting rule sets that enabled digit highlighting but
- didn't have SEQ rules for '-' and '.', these two characters would be
- highlighted with the digit syntax style, even if they were not part of
- a numeric expression.
- - Pressing Home three times put the caret at the end of the last visible
- line, not the start of the last visible line as intended
- - Entering a file name in the text field of the Open dialog box would
- open that file name relative to jEdit's current working directory, not
- the directory selected in the dialog box
- - 'Reload' command didn't preserve caret position very well if sections
- of the buffer were folded
- - When running on Java 2 version 1.3 (and possibly others), the default
- size of the help viewer was not set properly
- - Velocity mode had an incorrect file name glob
- - In the Search and Replace dialog box, 'Replace with:' and 'Auto wrap'
- had the same Alt-key mnemonic
- - Regular expression bug fixes:
- - Searching for a regular expression of $ or ^ by itself should work
- now
- - In regular expressions, ^ and $ not only matched newlines, but the
- start and end of the substring to search.
- - Fixed possible ArrayIndexOutOfBounds when searching for regular
- expressions that start with \<
- - The RESearchMatcher class converted \t to the tab character and \n
- to the newline character, even if the replace string was a BeanShell
- script, in which case a BeanShell execution error would occur.
- - In the help viewer, nodes in the tree were not selected as links were
- followed
- - On Windows, it is now possible to rename a file such that the new name
- only differs from the old in case
- - Sometimes, the most recently opened files would not be restored if the
- -background command line switch was used
- - Sometimes, Untitled buffers would not be replaced when another file
- was opened
- - Fixed slowdown when making changes to the last line of a buffer
-
- + API Changes
-
- - New methods in jEdit class for accessing properties:
- jEdit.getIntegerProperty(String name, int def);
- jEdit.setIntegerProperty(String name, int value);
- jEdit.getFontProperty(String name);
- jEdit.getFontProperty(String name, Font def);
- jEdit.setFontProperty(String name, Font value);
- jEdit.getColorProperty(String name);
- jEdit.getColorProperty(String name, Color def);
- jEdit.setColorProperty(String name, Color value);
- - VariableGridLayout is now used to lay out tool bars, instead of
- BoxLayout. This means it is no longer necessary to add a
- Box.createGlue() to the tool bar to prevent it from being centered.
- - Removed these APIs, which have been deprecated since jEdit 2.6:
- EditPlugin.createMenuItems(View,Vector,Vector) (override
- createMenuItems(Vector) instead)
- GUIUtilities.loadMenuItem(View,String) (use loadMenuItem(String)
- instead)
- GUIUtilities.loadToolBarIcon() (use loadIcon instead)
- GUIUtilities.showFileDialog() (use showVFSFileDialog() instead)
- - Removed these APIs, which have been deprecated since jEdit 3.0:
- jEdit.addAction()
- EditAction.actionPerformed()
- EditAction.isSelected(Component)
- EditAction.getView(EventObject)
- EditAction.getBuffer(EventObject)
- - CreateDockableWindow class deprecated. Write a dockables.xml file
- instead of listening for this message.
- - DockableWindow interface deprecated. No need to implement it any more.
- - EditBus named list stuff deprecated. It was only being used for
- dockables and ErrorList's error sources. To register dockables, use
- the new dockables.xml API. To register error sources, use the relevant
- APIs in the ErrorList plugin.
- - DockableWindowManager.getDockableWindow() method (that returns a
- DockableWindow instance) has been deprecated in favor of the new
- DockableWindowManager.getDockable() (which returns a JComponent
- instance)
- - TextAreaHighlight.init() method removed. If it exists, it will be
- called via reflection so that old plugins can continue to work, but
- new plugins should pass a text area instance to the constructor of the
- highlighter.
- - MiscUtilities.VersionCompare class and MiscUtilities.compareVersions()
- method removed. Use compareStrings() instead
- - Buffer.markTokens() now returns instance of Buffer.TokenList class
- - New BufferUpdate message type: FOLD_HANDLER_CHANGED
- - Buffer.insertString() deprecated; call Buffer.insert() instead
- - Buffer.remove(), Buffer.getText() and Buffer.createPosition() no longer
- throw BadLocationExceptions
- - Buffer.getDefaultRootElement() deprecated; call
- Buffer.getLineStartOffset(), Buffer.getLineEndOffset(),
- Buffer.getLineLength() and Buffer.getLineOfOffset() instead