/www/branches/dev/nimbus/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
Large files files are truncated, but you can click here to view the full file
- 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 co…
Large files files are truncated, but you can click here to view the full file