PageRenderTime 138ms CodeModel.GetById 81ms app.highlight 8ms RepoModel.GetById 32ms app.codeStats 0ms

/www/tags/NOV_07_2009/htdocs/CHANGES40.txt

#
Plain Text | 1333 lines | 1194 code | 139 blank | 0 comment | 0 complexity | cf8b63eab91ec843a60b6162e8f48237 MD5 | raw file

Large files files are truncated, but you can click here to view the full file

   1JEDIT 4.0 VERSION HISTORY
   2
   3* Version 4.0.3
   4
   5+ Bug Fixes
   6
   7- Added missing check for control key being down in text area mouse
   8  handler.
   9
  10+ API Changes
  11
  12- Buffer.getRuleSetAtOffset() method is now public.
  13
  14* Version 4.0.2
  15
  16Note that jEdit 4.0.1 was never released.
  17
  18+ Enhancements
  19
  20- Documentation is now generated with DocBook-XSL 1.51.1 stylesheets.
  21
  22+ Bug Fixes
  23
  24- Fixed silly windows backup saving bug.
  25
  26- Fixed minor problem when Control-clicking characters in the text area.
  27
  28- Fixed print output spacing problem.
  29
  30* Version 4.0.1
  31
  32+ Bug Fixes
  33
  34- A single invalid file system browser coloring regular expression no
  35  longer stops the remaining expressions from being loaded.
  36
  37- Fixed a bug in the undo request merging code that would occur
  38  sometimes when multiple consecutive pieces of text were removed one
  39  after the other.
  40
  41- Fixed a bug in the undo request merging code that would occur when
  42  a selection was replaced with some text.
  43
  44- If the splash screen was disabled, running jEdit with the -nogui and
  45  -nobackground command line arguments didn't work, because the AWT
  46  event thread was never started, because no GUI calls were made, and as
  47  a result jEdit exited immediately after starting up instead of
  48  entering the event loop.
  49
  50- Fixed erronous assignment in VFS browser code that would cause
  51  NullPointerExceptions after opening a file in a new view.
  52
  53- Triple-clicking on the last line of a file printed an
  54  ArrayIndexOutOfBoundsException.
  55
  56- One of the tips of the day referred to an invalid URL.
  57
  58- Previously, the filesystem browser opens the clicked directory if
  59  clickCount == 2. This doesn't work if you double click once and then
  60  immediate double click again on a directory (or a file) at the same
  61  physical location, because the 2nd double click is reported with a
  62  click count of 3 and 4. (Alexander Maryanovsky)
  63
  64- A few printing bugs fixed, including the notorious print output
  65  spacing problem.
  66
  67- The help viewer should no longer open behind the view when jEdit is
  68  run for the first time on some Java implementations.
  69
  70- StatusBar.MemoryIndicator.removeNotify() was missing a
  71  super.removeNotify() call. This could cause 'InputContext' errors when
  72  exiting jEdit. (Alexander Maryanovsky)
  73
  74- The plugin manager did not delete downloaded files from the
  75  'PluginManager.download' directory on some operating systems, due to a
  76  missing close() call.
  77
  78- JEditTextArea.goToEndOfLine() (bound to END if 'smart home/end' is
  79  off, or END END if its on) followed by goToNextLine() would move the
  80  cursor to the first column.
  81
  82- Preview_Javadoc_of_Buffer.bsh macro used the deprecated
  83  DockableWindowManager.getDockableWindow() method.
  84
  85- Text area would not automatically scroll to the caret location when
  86  working with multiple views under certain circumstances.
  87
  88* Version 4.0final
  89
  90+ Enhancements
  91
  92- Updated POV-Ray syntax highlighting (Jan Schäfer)
  93- Hidden files are no longer listed in the 'Macros' menu
  94- Minor improvements to RPM Spec syntax highlighting
  95- Updated Python mode (Ollie Rutherfurd)
  96- Documentation updates
  97
  98+ Bug Fixes
  99
 100- roots: filesystem tweak didn't work (Carmine Lucarelli)
 101- After doing a HyperSearch in a selection, the HyperSearch Results
 102  window would always say 'found 0 occurrences in 0 files'
 103- Using 'Save As' and entering a file name ending with .gz did not GZip
 104  the resulting file
 105- Fixed minor boo-boo when buffer sorting was on and several files with
 106  the same name were open
 107- Browser view didn't check key events for modifiers so if the browser
 108  had focus and a shortcut key was pressed a semi-random item would be
 109  selected in the file list
 110- Added workaround for JDistro desktop
 111- Fixed possible ArrayIndexOutOfBoundsException if a line is
 112  soft-wrapped to more screen lines than can be displayed at once. Note
 113  that this case still won't be handled very well, but at least jEdit
 114  will no longer throw a fit when it occurs
 115- When opening a floating dockable, the default component will be given
 116  focus. Previously this was only done for docked windows
 117- Fixed typo in General option pane
 118- Fixed race condition in work thread pool that could result in blank
 119  files on startup
 120- Fixed typo in css.xml
 121- Fixed minor problem in HTML version of user's guide
 122- Fixed possible "Unbalanced begin/endCompoundEdit()" if BeanShell
 123  replace fails
 124- Fixed an off-by-one error that would cause Control-clicks beyond the
 125  end of a line to fail
 126
 127* Version 4.0pre9 (a.k.a 4.0 release candidate 2)
 128
 129+ Enhancements
 130
 131- The plugin manager now downloads the plugin list in GZipped format
 132  from the server. This should especially be noticable for dial-up users
 133- Minor search bar layout tweak
 134- The roots: filesystem should now show extra information when running
 135  on Windows with JDK 1.4 (eg, you should able to see the UNC paths of
 136  network drive mappings)
 137- Documentation updates
 138
 139+ Bug Fixes
 140
 141- Fixed QuickNotepad build.xml
 142- Explicit folding did not behave correctly if a line contained both the
 143  start and end strings ({{{ and }}}) (Ollie Rutherfurd)
 144- If a plugin depended on a plugin whose jEdit version requirement was
 145  higher than the installed jEdit version, the 'Update Plugins' command
 146  would throw a NullPointerException
 147- Fixed stylesheet problem in the PDF output
 148- Changing the 'print tab size' setting had no effect
 149- Changed tip of the day that mentioned an obsolete version of
 150  WheelMouse
 151- Fixed possible ArrayIndexOutOfBoundsException in findMatchingBracket()
 152- Fixed some bugs in HyperSearch when searching for .*, .*$ and $
 153  regular expressions
 154- Removed custom quicksort implementation from MiscUtilities (the
 155  methods are still there, but they just call
 156  java.util.Collections.sort())
 157- Fixed a few more possible ClassCastExceptions due to use of
 158  non-typesafe buffer property accessors
 159- If a search matcher cannot be created (eg, invalid regexp) the
 160  HyperSearch results window will no longer be stuck with a
 161  'Searching...' message
 162- Fixed gutter autoscroll
 163
 164* Version 4.0pre8 (a.k.a 4.0 release candidate 1)
 165
 166+ New Features
 167
 168- Added syntax highlighting for output of Hex plugin (Andre Kaplan)
 169- IBM Informix 4GL syntax highlighting (Vicente Salvador)
 170
 171+ Enhancements
 172
 173- Documentation updates
 174- 'Quick HyperSearch' with a selection, and 'Quick HyperSearch for Word'
 175  commands will now work even if the search bar is disabled
 176- BeanShell 1.2b5 included
 177- jEditLauncher 4.0.4 (John Gellene)
 178  - jedidiff.exe: new command line utility for displaying graphical
 179    comparison of two files using jEdit and the JDiff plugin
 180  - jedit.exe: new /1 command line switch that reads the remainder of
 181    the command line as a single file path, regardless of whitespace
 182    (required for Internet Explorer integration)
 183  - jEdit_IE.reg.txt: new, optional Windows registry information file
 184    for integrating jEdit with Internet Explorer (version 5 or later) as
 185    an HTML editor
 186
 187+ Bug Fixes
 188
 189- Fixed tip of the day that referred to the old S+BACK_SPACE/S+DELETE
 190  bindings
 191- Due to a typo in 4.0pre7, text areas that didn't have focus would also
 192  scroll to the caret location on a buffer change. This was not supposed
 193  to happen
 194- The text area will no longer scroll up and then down again on input if
 195  it is smaller than about six lines vertically
 196- Added workaround for search dialog box losing focus after 'keep
 197  searching' message shown
 198- If an error occurs while evaluating a BeanShell snippet during a
 199  'Replace All', the replace operation is aborted. This saves you from
 200  having to click through an endless stream of "BeanShell error" dialog
 201  boxes
 202- Status bar message shown while mouse was hovering over a macro menu
 203  item wasn't hidden after the menu item was selected
 204- Fixed another soft wrap bug with syntax highlighting
 205- Middle-mouse-drag (quick copy) failed if the selected region ended or
 206  began at the caret position
 207- Changed behavior of numeric keypad keys once again. Since some Java
 208  versions have a broken Toolkit.getLockingKeyState() (hence there is
 209  no reliable way to know of NumLock is on), they now work as follows:
 210  - If an action is bound to a key, the action is executed when the key
 211    is pressed.
 212  - If no action is bound, the character is inserted when the key is
 213    pressed.
 214- Cleaned up handling of changing fold handlers and 'collapsedFolds'
 215  property. This should fix a few obscure bugs
 216- Consecutive backspaces of characters would not be merged into one undo
 217- Updated to a gnu.regexp 1.1.5 CVS snapshot. This fixes the bug where
 218  replacing the regular expression $ with a string did not change the
 219  last line of the buffer
 220- The file system browser's divider position would not be remembered if
 221  it was collapsed all the way
 222- Layout of 'Install Plugins' dialog box was a bit broken
 223- Added a workaround for bug on Windows where a few Alt-key sequences
 224  (Alt-Left, Alt-Right, Alt-Up, Alt-Down, Alt-PageUp, Alt-PageDown)
 225  inserted garbage in the text area
 226- Firewall code would throw a NullPointerException on startup if the
 227  user name was non-null, but the password was empty
 228- When doing a BeanShell replace, the last subexpression would not be
 229  stored in a variable
 230- 'Write HyperSearch Results' macro did not work
 231- Caret event would not be fired if inside a compound edit, a portion of
 232  text was changed after the caret, then a change was made before the
 233  caret
 234- 'Run Other Macro' command would silently ignore files whose names did
 235  not match a registered macro handler
 236
 237+ API Additions
 238
 239- Added new method: MiscUtilities.getFileNameNoExtension(String path)
 240
 241+ API Changes
 242
 243- The 'rethrowBshErrors' parameter of the eval() and runScript() methods
 244  in the BeanShell class never did anything, so methods with that
 245  parameter have been deprecated:
 246
 247  - BeanShell.eval(View,NameSpace,String) replaces
 248    BeanShell.eval(View,String,boolean) and
 249    BeanShell.eval(View,NameSpace,String,boolean)
 250
 251  - You should pass BeanShell.getNameSpace() as the value of the
 252    namespace parameter to mimic the behavior of the old form which did
 253    not accept a namespace.
 254
 255  - BeanShell.runScript(View,String,Reader,boolean) replaces
 256    BeanShell.runScript(View,String,boolean,boolean) and
 257    BeanShell.runScript(View,String,Reader,boolean,boolean)
 258
 259  - You can pass 'null' as a Reader now, to mimic the behavior of the
 260    old Reader-less form.
 261
 262  - Some new methods were added that throw exceptions instead of showing
 263    error dialog boxes:
 264
 265    BeanShell._eval(View,NameSpace,String)
 266    BeanShell._runScript(View,String,Reader,boolean)
 267
 268  - I have also made error reporting to the user more consistent in the
 269    process.
 270
 271* Version 4.0pre7
 272
 273+ Enhancements
 274
 275- Yet-another-optimization to file loading. Directory search should be
 276  even faster
 277- Added a hack to prevent the WheelMouse plugin version 0.5 from being
 278  loaded under JDK 1.4
 279- It should now be possible to bind shortcuts to the numeric keypad,
 280  although this might not work perfectly on all Java implementations due
 281  to implementation bugs
 282- MacOS plugin version 1.1 (Kris Kopicki)
 283- 'Expand Folds With Level' and 'Expand All Folds' commands now scroll
 284  the text area to the caret position if necessary
 285- Documentation is now generated using DocBook-XSL 1.49, DocBook-DSSSL
 286  1.76
 287- Some people found it confusing that 'Delete to Start of Line' and
 288  'Delete to End of Line' were bound to S+BACK_SPACE and S+DELETE,
 289  respectively, because it was easy to accidentally invoke them when
 290  you meant to press just BACK_SPACE or DELETE if you were typing some
 291  capitalized text. Now the shortcuts of these commands has been changed
 292  to CS+BACK_SPACE and CS+DELETE, respectively.
 293- BeanShell 1.2b41 included
 294- Documentation updates
 295- Moved 'more accurate syntax highlighting' option from 'Loading and
 296  Saving' option pane to 'Text Area' option pane
 297
 298+ Bug Fixes
 299
 300- First time jEdit was run, the file system's divider position would be
 301  such that the parent directories list would be invisible
 302- 'End' key didn't work properly
 303- Due to the changes in buffer property handling caused by the
 304  transition to the new document model, new files would always have the
 305  system default line separator and encoding, instead of the defaults
 306  that were specified in the 'Loading and Saving' option pane
 307- Changing the fold mode by clicking in the status bar did not expand
 308  currently collapsed folds, which could result in portions of the
 309  buffer becoming inaccessable
 310- Fixed ugly memory usage indicator on MacOS X
 311- Even when 'quick copy' was disabled in the text area option pane, the
 312  middle-drag feature would still be active
 313- Fixed ArrayIndexOutOfBoundsException when triple-clicking on the only
 314  line of a blank new file
 315- Fixed repaint slowdown that would happen when switching menus on some
 316  JDKs
 317- If the file system browser was set to show hidden files by default,
 318  the state of the 'show hidden files' menu item in the browser's
 319  "Commands" menu would be reversed
 320- Fixed dockable panel layout problem if there were more buttons than
 321  can fit
 322- Fixed a problem when dockable panels were larger than the size of the
 323  view
 324- 'Select All' button in close dialog box didn't work
 325- Shortcuts assigned to CA+x where x was a letter didn't work. I hope
 326  the fix for this didn't break AltGR sequences; let me know if it did
 327- 'Run Last Macro' and 'Run Other Macro' commands assumed the macro was
 328  written in BeanShell (Mike Dillon)
 329- 'Toggle Line Comment' macro was broken
 330- Hard wrap didn't work properly if space was pressed at the end of a
 331  line whose length was exactly that of the wrap margin
 332- Searching for .*, ^ by itself and $ by itself should now work
 333- Fixed another problem with soft wrapping syntax highlighted buffers
 334- Soft wrap would break if a line ended with enough whitespace to be
 335  longer than the wrap margin
 336- When using 'save as' to save over an already opened buffer, the
 337  already opened buffer is closed first. This prevents having two open
 338  buffers with the same path (and possibly different contents)
 339- Changed shortcut of 'go to next/previous bracket' to C+e C+[/C+] since
 340  shortcuts such as C+e [ are tricky to handle
 341- Fixed possible NullPointerException in search and replace code
 342- Replace All in selection now works with rectangular selections
 343- Selection.Rect.getEnd(Buffer,int) returned incorrect values
 344- 'Range Comment' command didn't work properly with a rectangular
 345  selection
 346- Control-Shift clicks in the text area didn't work
 347- Rectangular selections are now drawn correctly when soft wrap is
 348  active. Note they are still rather non-intuitive when used with soft
 349  wrap, as they rely on character offsets within physical lines, not
 350  screen positions in screen lines.
 351- If a save operation fails, the buffer's modified flag is no longer
 352  cleared, and if it was a 'save as' the buffer is not renamed either
 353- Path names of the form "X:foo" (with no \ after the drive letter), and
 354  UNC paths (\\servername\directory\file) will no longer cause problems
 355  on Windows
 356
 357+ API Additions
 358
 359- View.addToolBar(int group, int layer, Component comp) method
 360  (Mike Dillon)
 361  - group: one of View.TOP or View.BOTTOM
 362  - layer: any integer, some predefined constants are in View.java. This
 363    lets you define the approximate position, from the top or bottom of
 364    the view, of the tool bar
 365
 366+ API Changes
 367
 368- The current line highlight and collapsed fold highlight is painted as
 369  a text area extension now, so plugin extensions can now paint stuff
 370  below this highlight
 371
 372* Version 4.0pre6
 373
 374+ New Features
 375
 376- Enhanced quick copy feature:
 377  - Dragging with the middle mouse button now creates a selection
 378    without moving the caret, when the mouse button is released the
 379    selected text is inserted at the caret position and the selection is
 380    deactivated
 381  - A status bar message is shown while middle-dragging to avoid
 382    confusion
 383  - This is disabled by default -- enable in Text Area option pane
 384- Modula-3 syntax highlighting (Marcio Marchini)
 385- Smalltalk syntax highlighting (Marcio Marchini)
 386
 387+ Enhancements
 388
 389- Minor tweaks to VFS path code, that should make things a bit smoother
 390  for the FTP plugin
 391- Updated Prolog syntax highlighting (Giulio Piancastelli)
 392- Hard wrapping is now performed if there is only whitespace between the
 393  caret and the end of the line
 394- Pressing the Up or Down arrow when the caret is the first or last line
 395  of the buffer moves the caret to the beginning and end of the buffer,
 396  respectively
 397- Only one 'Search and Replace' dialog can be opened per view. Note that
 398  due to bugs in the Linux (and probably other Unix) Java
 399  implementation, the dialog has to be mometarily hidden and shown again
 400  for this to work
 401- Favorites menu in file system browser is now sorted using a
 402  case-insensitive sort
 403- Improved behavior of 'Plugins' menu when lots of plugins are installed
 404- Slightly faster scrolling
 405- Added 'Close' command to file dialog's right-click menu
 406- Removed funky background token's "paint to end of line" behavior
 407- Saving a file no longer causes cached token information to be flushed
 408  (doing this on a save was kind of pointless)
 409- Entering a new path in a file dialog box and clicking 'Open' now sets
 410  the browser's location to that path
 411- Home/end commands, up/down arrows are now soft-wrap-aware
 412- Documentation is now built using DocBook-XSL stylesheets 1.48
 413- Optimized text area's buffer event handler -- this should result in
 414  faster 'Replace All'
 415- Addition to jEdit's glob syntax: "{!glob}" is converted to the
 416  regular expression "(?!glob).*"
 417- You can double-click abbrevs in the 'Abbreviations' option pane to
 418  edit them
 419- If the block caret is enabled, the overwrite caret is now 1/3 the
 420  height of a character
 421- Documentation updates (me and John Gellene)
 422- Changes to build.xml; documentation on compiling from source now part
 423  of the source distribution (README.SRC.txt)
 424- Restored word command behavior to how it was in jEdit 3.2
 425
 426+ Bug Fixes
 427
 428- Malformed URL errors were not being reported correctly
 429- Fixed exception when double- or triple-click dragging (this was meant
 430  to be fixed in pre5 but I didn't get the fix quite right)
 431- Fixed NullPointerException when opening a new view
 432- Out of memory errors were not always reported
 433- Fixed minor inconsistency in handling of words -vs- keywords in
 434  'Complete Word' command
 435- Properly fixed 'unprintable characters in table of contents' bug
 436- Replace in selection would preserve the current selection, but not
 437  the caret position, so if there was a match at the start of the
 438  selection, the caret would move inside the selected range
 439- On Windows, double-clicking on a drive letter in the drives list of
 440  the file system browser would open the wrong location
 441- Focus manager under JDK 1.4 used the wrong traversal policy, this
 442  caused a few problems
 443- The status bar message shown when a bracket is out of bounds was not
 444  always being displayed if soft wrap was in use
 445- Fixed silly behavior in 'Install Plugins' dialog box
 446- Fixed possible NPE when loading tool bar with buttons for which
 447  actions do not exist
 448- Fold level changed events were not fired; this caused problems with
 449  indent folding
 450- Changing the fold mode using the 'Buffer Options' dialog box in a
 451  buffer that defined the 'collapseFolds' property could have slightly
 452  bizzarre results, because the folds were collapsed before the fold
 453  handler was changed
 454- Creating rectangular selections on MacOS was not possible since both
 455  the context menu and the rectangular selection was bound to
 456  Control-click. Now, you can Command-drag to create rectangular
 457  selections on MacOS
 458- Since the 'apply text area colors to all components' setting only
 459  fully took effect after a restart, jEdit.propertiesChanged() no longer
 460  performs the initialization for this setting, instead it has been
 461  moved to the startup sequence
 462- Fixed problem with markers returning to their original locations on
 463  save
 464- Removed obsolete option from 'Docking' option pane
 465- Fixed possible ArrayIndexOutOfBoundsException when expanding and
 466  collapsing folds near the end of the buffer
 467- 'Add Explicit Fold' command did not work properly with multiple
 468  selections
 469- Scrolling would not be performed when text was inserted sometimes, due
 470  to the last physical line index not being updated properly
 471- If tokens had background colors defined, scrolling horizontally would
 472  draw the backgrounds as if no scrolling had taken place
 473- When closing the last buffer, the edit pane would retain a reference
 474  to it in the 'recent buffer' field, and using the 'Go to Recent
 475  Buffer' command would result in weird things happening
 476- Setting the lineSeparator buffer property to override the line
 477  separator for a specific file did not work
 478- Fixed (harmless) missing resource exception when starting jEdit for
 479  the first time
 480- Fixed possible ArrayIndexOutOfBoundsException when using the
 481  'Collapse Fold' command (clicking fold triangles in the gutter still
 482  worked though)
 483- Removing text from the middle of a line with soft wrap on might not
 484  repaint the text area properly
 485- Added missing 'read error' and 'write error' I/O error strings
 486- Workaround for Graphics2D.setPaintMode() bug on Windows placed in
 487  background token painting code as well
 488- Memory indicator in status bar looked stupid on Windows L&F and other
 489  look and feels where the text color and progress bar foreground was
 490  the same
 491- Possible fix for 'timeout' error when opening a large number of files
 492  with jEditLauncher on Windows
 493- Autosave would stall the editor because it grabbed a read lock for the
 494  entire operation
 495- 'New File' command no longer creates read only buffers if the current
 496  buffer is located on a read-only filesystem
 497- jEditLauncher 4.0.2 fixes several bugs in the installer module
 498  (John Gellene)
 499
 500+ API Additions
 501
 502- Support for macros written in other languages (Mike Dillon)
 503  - Macros.registerHandler(Macros.Handler handler) method
 504  - Macros.Handler class has these methods:
 505
 506    public abstract Macro createMacro(String macroName, String path);
 507    public abstract void runMacro(View view, Macro macro);
 508    protected Handler(String name)
 509
 510  - 'name' is used to key "macro-handler.<name>.label" and
 511    "macro-handler.<name>.glob" properties.
 512  - One minor UI addition is that the language a macro is written in,
 513    along with the full path to the macro file is shown in the status
 514    bar when the mouse is over a macro's menu item or tool bar button.
 515
 516- Support for pluggable fold handlers (Mike Dillon)
 517  - FoldHandler.registerFoldHandler(FoldHandler handler) method
 518  - FoldHandler class has these methods:
 519
 520    public abstract int getFoldLevel(Buffer buffer, int line, Segment seg);
 521    protected FoldHandler(String name)
 522
 523* Version 4.0pre5
 524
 525+ New Features
 526
 527- ObjectRexx syntax highlighting (George Hovey)
 528
 529+ Enhancements
 530
 531- If jEdit runs out of memory while loading a file, it now reports the
 532  error using the standard I/O error reporting method, instead of just
 533  dumping an exception in the activity log
 534- If indent folding is enabled, lines consisting of white space only no
 535  longer inherit the fold level of the previous line
 536- QuickNotepad plugin compiled by default
 537- FAQ updates (John Gellene)
 538- The "Open in New View" command has been re-added to the file system
 539  browser right-click menu
 540- Pressing ENTER in the file system browser no longer closes the
 541  selected file if 'double click close' is enabled; now, only double-
 542  and middle-clicks can close open files
 543- NEWS.txt written
 544- Updated Pascal syntax highlighting (Barry Carr)
 545- 'Spaces to Tabs' and 'Tabs to Spaces' now operate on the entire buffer
 546  if there is no selection (Ollie Rutherfurd)
 547- 'More accurate syntax highlighting' option is now even more accurate;
 548  when editing PHP files with very long embedded scripts, you should
 549  never see the highlighting mess up
 550- Documentation updates
 551- Tweaked word and line selection behavior
 552- Previously, jEdit would only parse the first 10 lines of a buffer for
 553  buffer-local properties; now the last 10 lines are parsed as well
 554  (Ollie Rutherfurd)
 555- jEditLauncher 4.0.1 (John Gellene)
 556
 557+ Bug Fixes
 558
 559- Removed unnecessary menu bar hack on MacOS X
 560- Tab width would be wrong on some JVMs
 561- Tighter layout in the file system browser's parent directory list
 562- The Commands->Root Directory command in the file system browser opened
 563  the 'roots:' VFS even on systems where it is not used (ie, Unix)
 564- Tool bar buttons had incorrect tool tips
 565- In the total size tally, the plugin manager didn't add the sizes of
 566  plugins that would be implicitly installed due to dependencies
 567- Plugin manager displayed the wrong message when installing plugins
 568- 'Print' command threw a NullPointerException if 'print header' was
 569  disabled
 570- Selection wasn't cleared when switching buffers sometimes. This caused
 571  problems
 572- If the block caret was enabled, mouse clicks would position the caret
 573  in the wrong location
 574- Files would not be saved properly if two stage saving was disabled and
 575  backups were enabled
 576- Workaround for Graphics2D.setPaintMode() bug on Windows (John Gellene)
 577- Docked windows can no longer be made larger than the width or height
 578  of the view
 579- If the first narrowed line was not a fold start, newly inserted lines
 580  within the narrowed region would become invisible
 581- Making changes to the last line in the buffer that would result in the
 582  line being wrapped would result in incorrect repaints
 583- Double-click and triple-click drags would throw exceptions if the
 584  mouse was moved outside the text area
 585- Fixed several bugs when painting tokens with a background color
 586- File system browser would throw NullPointerExceptions when loading
 587  directories under some circumstances
 588- Fixed ArrayIndexOutOfBoundsException when loading a file with saved
 589  markers
 590- Running "jedit -usage" and "jedit -version" produced no output
 591- Floating window positions were not saved
 592- Fixed arrow keys in HyperSearch Results window (again...)
 593- Fixed Java, C, C++, and similar mode's auto indent bug
 594- Fixed minor problem when indenting a line containing "{{{"
 595- When I overhauled the action system in jEdit 4.0pre1, I tried to
 596  preserve compatibility with macro shortcuts set in previous versions,
 597  but I did it incorrectly. This has been fixed; if you set macro
 598  shortcuts with 4.0pre1-pre4, you will need to set them again, but
 599  shortcuts set in 3.2.2 should work without any trouble.
 600- If the 'BeanShell replace' radio button was selected, the search and
 601  replace dialog box would open with the replace field's history set up
 602  incorrectly.
 603- Sometimes the scroll bar would not be updated correctly when opening a
 604  file
 605- Disabling anti-aliasing might work now on MacOS X
 606- Macros that switch buffers should no longer result in an error being
 607  printed to the activity log when they finish executing
 608- Fixed long-standing docked window button layout bug
 609- Triple-click drag didn't support selective selection of the trailing
 610  line feed due to some changes in pre4
 611- If a very long string is selected, the Search and Replace dialog will
 612  not be unacceptably wide when 'Find' is invoked
 613- Fixed broken soft wrap in syntax highlighted files
 614- Made sure that all XML mode files now validate against the xmode.dtd
 615- Print jobs would be named 'true' (or 'false' if you were lucky)
 616- Fixed unprintable characters in the help table of contents
 617- Added minor hack to jEdit.initMisc() so that plugins wishing to use
 618  the JAXP API to access the XML plugin's Xerces parser can work
 619- Fixed some focus problems with 'Complete Word' command
 620- 'Center caret on screen' command threw an exception if the buffer was
 621  shorter than the number of visible lines divided in half
 622- "Scroll to caret" code is now soft wrap-aware
 623
 624* Version 4.0pre4
 625
 626Note that jEdit now has a source file, Java14.java, that only compiles
 627under Java 2 version 1.4. If you're using Java 2 version 1.3 and wish to
 628compile jEdit from source, you should comment out the "jdk14" property
 629in build.xml.
 630
 631+ New Features
 632
 633- Soft wrap.
 634  - Three wrapping modes are available:
 635    "none" - no wrapping is performed
 636    "soft" - soft wrap
 637    "hard" - this is the old hard wrap feature that has been available
 638    since jEdit 3.0.
 639  - Change the wrap mode in Global Options or Buffer Options
 640  - When soft wrap is enabled, you can set the 'Wrap margin' setting to
 641    zero to wrap to the width of the text area.
 642  - Some plugins will need to be updated; see below
 643- Two JDK 1.4-specific options added to 'Appearance' option pane:
 644  'Draw window borders using Swing look & feel', 'Draw dialog box
 645  borders using Swing look & feel'. Both are disabled by default.
 646- New 'Keyboard Tester' command in Utilities->Troubleshooting menu; it
 647  displays a 'grab key' dialog and dumps key events into a new buffer
 648- Option to split file dialogs vertically (Ollie Rutherfurd)
 649- Plugin manager's install plugins dialog box now shows plugin download
 650  sizes, and has a slightly improved look
 651- jEdit Frequently Asked Questions is now included in the online help
 652  (John Gellene)
 653- Prolog syntax highlighting (Giulio Piancastelli)
 654
 655+ Enhancements
 656
 657- Firewall plugin integrated into editor core
 658- Global Options dialog box now has an 'Overview' page
 659- Better GZIP file auto-detection; previously, jEdit would check for a
 660  filename extension of .gz, now it checks for the GZIP magic number at
 661  the start of the file
 662- Unicode files are now automatically detected as being such, and opened
 663  with the Unicode encoding
 664- 'Narrow to Fold' on a collapsed fold now automatically expands the
 665  fold
 666- The complete word changes started in 4.0pre3 are now complete.
 667  - UP/DOWN arrow keys wrap selection around in complete word list
 668  - Keywords are now completed (and shown in the list in a bold font)
 669  - The popup is updated on the fly if you type or press BACKSPACE while
 670    it is showing
 671- In the file system browser, trying to add a file to the favorites now
 672  adds that file's directory to the favorites, instead of showing an
 673  error message
 674- The edit server now un-iconifies the view, if necessary
 675- Updated ML mode (Ingmar Stein)
 676- Printing code rewritten to use Java 2 print API. The only user-visible
 677  change is that the printed output is now word-wrapped.
 678- The file system browser now preserves expansion state when reloading
 679  directories
 680- On Unix operating systems, the roots: VFS is no longer available,
 681  since it is not necessary (Unix systems have a single file system
 682  root, /)
 683- Changed file system browser to underline open files, not show a black
 684  chunk next to their names
 685- Closed three possible holes in the edit server:
 686  - Opening a socket and leaving it open no longer stops other clients
 687    from connecting; there is now a 1 second timeout
 688  - Opening a socket and sending a whole load of crap, all on one line,
 689    no longer causes the edit server to read it in; the protocol has
 690    been changed to send the authorization key in binary as four octets,
 691    as opposed to in a line of text
 692  - On some braindamaged Unix systems, users can read files in each
 693    other's home directories. jEdit now explicitly sets the server
 694    file's permissions to 0600 to work around this brain damage
 695- Improved JSP syntax highlighting (Daiji Takamori)
 696- Quick-copy (middle mouse button pasting most recent selection) is now
 697  disabled by default, since people seem to get confused by it to no end
 698  when they accidentally click the middle mouse button while using a
 699  wheel mouse to scroll
 700- Shift-double click and shift-middle mouse button clicks in the file
 701  system browser now open files in a new view
 702- Minor search and replace dialog box usability improvements:
 703  - Keep dialog on by default
 704  - Somewhat confusing 'Replace' button removed
 705- Faster HyperSearch
 706- Updated Foxpro mode (Matthew J. Price)
 707- jEditLauncher version 4.0 (John Gellene)
 708  - Revised installer module
 709  - Logging feature for easier troubleshooting of installation problems
 710  - Updated for 4.0pre4 EditServer changes (but backwards compatible
 711    with older jEdit versions)
 712
 713+ Neutral
 714
 715- Tips moved to doc/tips directory; documentation is no longer inside
 716  the JAR
 717
 718+ Bug Fixes
 719
 720- Next-fold command was slightly broken
 721- Fixed possible plugin manager NPE when installing incompatible plugins
 722- On some Java versions, the plugin manager's progress windows would
 723  hang until explicitly given focus
 724- Minor fix for S+HOME/S+END behavior
 725- Fixed for weird caret position after control-clicking a closing
 726  bracket
 727- The position of the wrap guide is now determined using the Java2D API,
 728  so it should be correct now. Previously, it could be drawn in the
 729  wrong place if anti-aliasing was enabled
 730- The tab width is also determined using the correct APIs
 731- Fixed possible NullPointerException in VFS file dialog box
 732- Fixed minor bug in 'Select Fold' command
 733- Fixed some JDK 1.4-specific bugs:
 734  - The 'select text on focus' feature of some text fields fixed
 735  - File system browser's type select fixed
 736  - Keyboard shortcuts only worked in the text area
 737  - Sometimes keyboard focus would jump to the search bar
 738  - Unfortunately, fixing the last two required the use of Java
 739    1.4-specific APIs. As a result, the Java14.java source file will not
 740    compile under a 1.3 JDK.
 741- Embedded tabs in lines would show up as boxes in bracket matching
 742  status bar messages
 743- Sometimes hard tabs would be inserted into the buffer, even if soft
 744  tabs were enabled
 745- Trying to reload a read only file would fail
 746- Fixed possible NullPointerException in 'Styles' option pane
 747- I removed the feature that automatically folds newly inserted text as
 748  necessary, because it had too many problems
 749- Changed some tree cell renderers to work around problems experienced
 750  on MacOS X
 751- Fixed possible ArrayIndexOutOfBoundsException when closing a view
 752- File name and first line globs were not shown in the 'Mode specific'
 753  option pane
 754- Fixed ArrayIndexOutOfBoundsException when scrolling a one-line buffer
 755  with the WheelMouse plugin
 756- "Insert File" was broken since 4.0pre1
 757- Text area syntax highlighting would not always be updated properly
 758  when switching modes
 759- Display_Shortcuts macro didn't work
 760- jEdit would hang if 'Find Previous' was invoked while regular
 761  expressions were enabled
 762- "Narrow to Fold" would never include the last line of the buffer in
 763  the narrow, even if it was part of the fold in question
 764
 765+ API Additions
 766
 767- BufferUpdate.SAVED message type added. Previously, DIRTY_CHANGED could
 768  be used for this purpose, but since jEdit now clears the dirty flag
 769  when all changes up to a save are undone, doing on-save actions when a
 770  DIRTY_CHANGED is received can have unexpected consequences.
 771- New method: MiscUtilities.quicksort(List a, Compare a)
 772- MiscUtilities.Compare now extends java.util.Comparator (which has the
 773  same API)
 774- MiscUtilities.quicksort(Object[],Compare) now calls
 775  java.util.Arrays.sort()
 776- MiscUtilities.quicksort(Object[],Comparator),
 777  MiscUtilities.quicksort(List,Comparator) methods added
 778- The above changes are completely binary compatible, and they make
 779  jEdit's sorting API more consistent with the Java collections API.
 780- New OperatingSystem class, with the following methods:
 781
 782  isDOSDerived(), isWindows(), isWindows9x(), isWindowsNT(), isOS2()
 783  isMacOS()
 784  isUnix()
 785  hasJava14()
 786
 787+ API Changes
 788
 789- Offset conversion API changes. Old methods (xToOffset(), offsetToX(),
 790  yToLine(), lineToY()) deprecated; you must now use xyToOffset() and
 791  offsetToXY() instead. Also note that xyToOffset() will return -1 if
 792  the y co-ordinate is not visible in the text area.
 793- The BufferChangeListener API was inconsistent. foldLevelChanged() was
 794  called with the last two parameters being a start and end line,
 795  respectively, but the documentation claimed that the first parameter
 796  was a single line index, and the second was a fold level. This was an
 797  error on the part of the documentation, and has since been fixed.
 798- TextAreaExtension API replaces TextAreaHighlights. It now supports the
 799  concept of 'layers', so you can for example add an extension that will
 800  be painted below the selection (the JDiff plugin wants to do this).
 801
 802* Version 4.0pre3
 803
 804jEdit now requires Java 2 version 1.3 or later! Java 2 version 1.2 and
 805Java 1.1 can no longer be used to run jEdit.
 806
 807+ New Features
 808
 809- Two-stage save (where a file is first saved to #filename#save#, then
 810  renamed to the actual file name) can be disabled in the 'Loading and
 811  Saving' option pane
 812- -noplugins command line switch added
 813- Added option to have backups created on every save (default is to only
 814  create one backup for each file, until it is closed)
 815  (Ollie Rutherfurd)
 816- 'Extra word characters' setting added to Editing option pane
 817- 'Range Comment' and 'Line Comment' commands now behave correctly when,
 818  for example, inserting comments in inline JavaScript in an HTML file.
 819  - The new Buffer.getContextSensitiveProperty() method first checks the
 820    properties of the parser rule set at the specified offset; then the
 821    edit mode that contains that rule set; and finally, the edit mode of
 822    the buffer itself.
 823  - In mode files, you can now place a PROPS element inside a RULES
 824    element to define ruleset-specific properties. Currently, only the
 825    'commentStart', 'commentEnd' and 'lineComment' properties can be
 826    ruleset-specific.
 827- 'Search->Incremental Search for Word' command puts the word under the
 828  caret in the search bar
 829- 'Search->HyperSearch for Word' performs a HyperSearch for the word
 830  under the caret
 831- View->Folding submenu is now a top-level Folding menu. A few commands
 832  have been added:
 833  - Add Explicit Fold (C+e a): surrounds the selection with explicit
 834    fold markers ({{{ and }}})
 835  - Go to Previous/Next Fold (A+UP, A+DOWN): self-explanatory. Go to
 836    Previous/Next Marker, which were formely bound to A+UP/DOWN, are now
 837    bound to C+e , and C+e ..
 838  - Go to Parent Fold (C+e u): moves caret to fold with a higher level
 839    than the one containing the caret
 840  - Narrow to Fold (C+e n n): equivalent to invoking 'Select Fold', then
 841    'Narrow to Selection'
 842  - Narrow to Selection (C+e n s): this command is the same as before,
 843    but has a new shortcut
 844- ActionScript syntax highlighting (Ben Glazer)
 845
 846+ Enhancements
 847
 848- C+LEFT/C+RIGHT are now more intelligent. Tell me if you like the new
 849  behavior.
 850- If there are more buttons in a docking area than can fit, a popup menu
 851  button is shown; clicking it shows a popup listing all dockables in
 852  that area
 853- Added option to disable file system browser's tool bar
 854- I/O errors are now batched into a single dialog box
 855- New, smaller icons in file system browser (Dirk Moebius)
 856- New jEdit window icon (Phillip Richdale)
 857- First item in File->Current Directory menu (the directory path itself)
 858  is no longer a grayed out label; you can invoke it to view the
 859  directory in the file system browser
 860- First item in 'Paste Previous' dialog pre-selected when dialog shown
 861- Focus is returned to file list in 'Close All' dialog box after one of
 862  the buttons are clicked
 863- Recent Directories menu, Browse System/User Macros commands, and other
 864  commands that open directories in the file system browser now work a
 865  little better
 866- The list of open files is now saved by the autosave task
 867- Smoother incremental search
 868- When HOME is pressed while there is a selection, the caret is moved to
 869  the beginning of the first selected line. END moves the caret to the
 870  end of the last selected line.
 871- Search bar automatically selects its contents as soon as it gets focus
 872- The file system browser's 'Search in Directory' command no longer
 873  hangs the event dispatch thread until the directory hierarchy has been
 874  listed
 875- If an error occurs while loading one of the files involved in a
 876  multi-file search, the search will continue; previously it would have
 877  been aborted. Any errors will be listed in a dialog box after the
 878  search is complete.
 879- Commands in View->Splitting menu moved to top level of View menu
 880- Updated PL-SQL mode (Steve Snider)
 881- Updated MS-DOS batch mode (Mirco Bova)
 882- Files on read-only filesystems (such as the URL filesystem) now have
 883  the read-only flag set. Previously, only local files would have the
 884  read only flag set automatically.
 885
 886+ Neutral
 887
 888- Syntax highlighting can no longer be disabled -- too many features
 889  (bracket matching, commenting commands) rely on syntax info now
 890
 891+ Bug Fixes
 892
 893- JEditTextArea now uses type-safe buffer property accessors, so there
 894  shouldn't be any more ClassCastExceptions
 895- Fixed stack overflow if attempting to use URL filesystem (to open an
 896  http:// URL, for instance)
 897- Fixed stupid bug in installer that affected MacOS X installation
 898- File system browser's parent directory view could not be completely
 899  hidden by dragging the split pane
 900- Pressing the left arrow key in the file system browser didn't always
 901  work
 902- Bracket matching would sometimes show a status bar message even if the
 903  bracket was visible
 904- Fixed another minor bracket repaint problem that would occur if the
 905  matched bracket was not visible and the text area lost focus
 906- Select Line, Select Word, Select Paragraph actions were slightly
 907  broken
 908- Fixed minor undo modified flag clearing bug
 909- Pressing the tab key with a one-line selection would insert a hard tab
 910  even if soft tabs were enabled
 911- Deprecated MiscUtilities.compareVersions() method was an instance
 912  method, which made plugins that used it throw VerifyErrors on startup.
 913  These plugins will now work again (but should eventually be updated to
 914  call non-deprecated methods).
 915- Fixed another search and replace bug triggered by the Tags plugin
 916- When searching in multiple selections, HyperSearch would create one
 917  tree node for each selection
 918- InputHandler.readNextChar() didn't work with all characters
 919- Floating positions would sometimes be updated incorrectly when text
 920  was inserted
 921- Fixed another file system browser 'Search in Directory'
 922  NullPointerException
 923- Buffer-local property parsing code was broken
 924- Sometimes multi-line tokens would not be repainted correctly
 925- Opening files whose path began with ~ (which was supposed to be
 926  expanded to your home directory path) didn't work
 927- Trying to do a directory search inside a directory which contained a
 928  symlink loop would hang jEdit
 929- The 'Auto Wrap' search option did not take effect in macros
 930- Bug fix in MacOS plugin (Kris Kopicki)
 931- Fixed problem with default position of table of contents in help, and
 932  dockable window dividers
 933- Default filename filter in file system browser skipped files with
 934  single-character names. Now the default filter is *[^~#], which should
 935  work properly
 936- On JDK 1.4, closing a docking area didn't deselect the currently
 937  selected button
 938
 939+ API Changes
 940
 941- VFS.reloadDirectory() method added; it is called before a directory is
 942  reloaded by the file system browser
 943- MiscUtilities.charsToXMLEscapes() method added
 944- To take advantage of the new I/O error dialog box, virtual filesystem
 945  implementations should call:
 946
 947  VFSManager.error(Component comp, String path, String messageProp,
 948    Object[] args)
 949
 950  instead of
 951
 952  VFSManager.error(Component comp, String message, Object[] args)
 953
 954  The message is obtained from the property 'messageProp' (nothing is
 955  prepended or appended to the property name).
 956
 957- New method: VFSBrowser.browseDirectory(View view, String path)
 958- New method: MiscUtilities.listDirectory(String directory, String glob,
 959    boolean recurse)
 960
 961* Version 4.0pre2
 962
 963+ New Features
 964
 965- MacOS plugin bundled (Kris Kopicki)
 966  - jEdit exits cleanly when Command+Q is pressed
 967  - Files created or associated with jEdit can now be opened from the
 968    Finder by double-clicking on them, or dragging them to the jEdit
 969    icon
 970  - jEdit is assigned as the creator of new files
 971- A few Alt-key shortcuts added for commonly-used commands so that you
 972  don't have to move your fingers all over the keyboard:
 973  - A+i, A+k: prev, next line
 974  - A+j, A+l: prev, next character
 975  - A+q, A+a: page up, page down
 976  - A+z, A+x: home, end
 977  - A+d: delete next character
 978- A new View->Docking menu; contains commands for closing the left, top,
 979  right and bottom docking areas (shortcuts: C+e 1,2,3,4)
 980- Narrowing re-implemented. This feature was present in jEdit 3.2 but
 981  was missing from 4.0pre1.
 982
 983+ Enhancements
 984
 985- Bracket matching improvements:
 986  - If the highlighted bracket is off screen, the text of the matching
 987    line is shown in the status bar. And here's the best part: if the
 988    matching line cosists of only a bracket and whitespace, the
 989    *previous* line is shown in the status bar instead
 990  - Clicking the scope indicator in the gutter moves the caret between
 991    the two matching brackets
 992  - Control-clicking the scope indicator or a bracket in the text area
 993    selects all text between the two matching brackets
 994- File system browser improvements:
 995  - Parent directories are now listed in a widget at the top of the
 996    file system browser
 997  - File->Recent Directories menu lists directories that were recently
 998    visted in the file system browser
 999  - File selection dialog boxes now have a status bar that shows the
1000    number of pending I/O requests
1001  - Middle mouse button click in file system browser now has the same
1002    effect as double-clicking
1003  - You can now enter relative paths in the file system browser's path
1004    field
1005  - 'More' menu split into 'Commands' and 'Plugins' menus
1006  - 'Commands' menu and tool bar now have the same set of commands
1007  - 'Favorites' menu added for quicker access to favorites
1008  - If invoked while a file is selected, the 'Search in Directory'
1009    command now sets the search file name filter to that file's
1010    extension
1011- Icons added to 'BeanShell Error' and 'Close All' dialog boxes
1012- Updated PV-WAVE mode (Ed Stewart)
1013- Updated Transact-SQL mode (Ollie Rutherfurd)
1014- Updated Omnimark mode (Lionel Fiol)
1015- Closing a docked window now returns focus to the text area
1016- Memory indicator tooltip now shows used and total Java heap memory in
1017  kilobytes
1018- Option for search and replace to beep on auto wrap (Kenrick Drew)
1019- Faster (in theory anyway) file loading as a side effect of some bug
1020  fixes
1021- Improved help viewer welcome screen
1022- Updated QuickNotepad sample plugin for jEdit 4.0 API changes (John
1023  Gellene)
1024- 'Delete Line' now leaves the caret in the same column
1025- '~' in buffer and directory path names is now automatically expanded
1026  to the home directory
1027- Improved undo
1028- Pressing Tab while there is a selection will now only shift the line's
1029  leading indent if the selection spans more than one line
1030- If indent on tab is enabled, a line will only be indented if Tab is
1031  pressed inside the leading whitespace of that line. Indent on tab is
1032  now enabled by default
1033- Bundled set of macros slimmed down somewhat. You can find more macros
1034  at http://community.jedit.org (John Gellene)
1035- Text selection commands (Select Word, Select Line, and so on) are now
1036  multiple selection aware
1037
1038+ Bug Fixes
1039
1040- Fixed a memory leak with the search and replace dialog box
1041- Undo would be broken after a file was reloaded
1042- Fixed exception thrown if a buffer contained definitions for integer
1043  properties (tab size, maximum line length, ...)
1044- Changing the gutter font didn't update the gutter width
1045- Fixed broken scrolling behavior
1046- Some files would open with only one line visible
1047- MiscUtilities.compareStrings() would throw exceptions with strings
1048  that contained embedded numbers larger than 2^31
1049- Creating a new view or splitting the view didn't work
1050- Tool bar tooltips were broken
1051- With the Windows look and feel, file names were invisible in the file
1052  system browser
1053- In the help viewer, the top-level user's guide link was broken
1054- BufferChangeAdapter didn't properly implement BufferChangeListener
1055  interface (Maik Schreiber)
1056- GUIUtilities.loadToolButton() no longer throws an exception with
1057  invalid tool bar buttons
1058- It was not possible to bind an action to a non-alphanumeric key
1059  without any modifiers
1060- The file system browser's notion of the current directory is not
1061  changed until the directory is actually loaded successfully
1062- Some directories could not be deleted from the favorites
1063- It is no longer possible to add the same directory to the favorites
1064  twice
1065- File->Current Directory menu now shows 'No Files' if there are no
1066  files in the current directory
1067- Fixed a few bugs in the File System Browser->Colors option pane
1068- Compound edits were rather buggy
1069- 'Trailing EOL' setting did not work
1070- Fixed possible MacOS X keyboard problems (again...)
1071- Fixed a buffer corruption bug
1072- 'Select Fold' command threw an exception of there were no folds in the
1073  buffer
1074- Fixed a few bracket matching bugs
1075- Fixed cosmetic bug in search and replace code that was triggered by
1076  the Tags plugin
1077- Fixed minor repaint bug with multiple selections
1078
1079+ API Changes
1080
1081- New method in VFS class: _canonPath().
1082- VFS.DirectoryEntry co…

Large files files are truncated, but you can click here to view the full file