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).
--
Slava Pestov
|