PageRenderTime 110ms CodeModel.GetById 93ms app.highlight 7ms RepoModel.GetById 2ms app.codeStats 0ms

/jEdit/tags/jedit-4-2-pre14/doc/CHANGES.txt

#
Plain Text | 1972 lines | 1304 code | 668 blank | 0 comment | 0 complexity | 0f277ebf89f1817309d3beb69abdb908 MD5 | raw file

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

   1JEDIT 4.2 VERSION HISTORY
   2
   3{{{ Version 4.2pre14
   4
   5Thanks to Gerd Knops, Ollie Rutherfurd, Paul Libbrecht and Rob Watson
   6for contributing to this release.
   7
   8{{{ Miscellaneous Changes
   9
  10- jEditLauncher no longer included due to a large number of bugs, and
  11  the fact that it is unmaintained.
  12
  13- Join Lines (C+j) now inserts a space between joined lines.
  14
  15- Added some global abbreviations for inserting Greek letters and
  16  various math symbols (Paul Libbrecht).
  17
  18}}}
  19{{{ Syntax Highlighting
  20
  21- PL/I syntax highlighting (Rob Watson).
  22
  23- Embperl syntax highlighting (Ollie Rutherfurd).
  24
  25- reStructuredText syntax highligting (Ollie Rutherfurd).
  26
  27}}}
  28{{{ Bug Fixes
  29
  30- Fix exceptions being thrown if the text area has a negative height.
  31
  32- "File Changed Since Save" warning on Reload now has the buffer name,
  33  to make it clear which buffer is being reloaded.
  34
  35- Abbreviations are now loaded/saved using the UTF8 encoding, making
  36  them more friendly towards international characters.
  37
  38- Fix a few problems (mainly not closing streams after exceptions, and
  39  unused fields/methods) found by the FindBugs tool.
  40
  41- Fix possible ArrayIndexOutOfBoundsException in
  42  DisplayManager.hideLineRange() when narrowing to folds in
  43  indent-folded buffers.
  44
  45- Fix for window geometry load/save on multiple monitor setups
  46  (Gerd Knops).
  47
  48- If a plugin creates an ActionSet with a null label (which would be a
  49  bug in the plugin), the Shortcuts option pane didn't work.
  50
  51- The folding triangles in the gutter were not always being repainted
  52  when using indent folding.
  53
  54}}}
  55
  56}}}
  57
  58{{{ Version 4.2pre13
  59
  60Thanks to Magnus Henriksson, Nicholas O'Leary, Ollie Rutherfurd and
  61Patrick Tingen for contributing to this release.
  62
  63{{{ Miscellaneous Changes
  64
  65- During auto-save, ~/.jedit/perspective.xml is only written if files
  66  were opened or closed or views were split or unsplit since the last
  67  time it was auto-saved.
  68
  69- Greedy_Backspace, _Left and _Right macros (Ollie Rutherfurd).
  70
  71}}}
  72{{{ Syntax Highlighting
  73
  74- Updated Progress syntax highlighting (Patrick Tingen).
  75
  76- Zope Page Template syntax highlighting (Ollie Rutherfurd).
  77
  78- Updated XSLT syntax highlighting (Magnus Henriksson).
  79
  80}}}
  81{{{ Bug Fixes
  82
  83- Fix ClassCastException when changing kill ring size.
  84
  85- QuickNotepad plugin didn't compile.
  86
  87- jEdit didn't compile with jikes due to overly pedantic inner class
  88  semantics.
  89
  90- Pressing "Reload" after "Select All" in the files changed dialog
  91  didn't work (Nicholas O'Leary).
  92
  93- Fix a problem where sometimes after loading, only the first line of a
  94  file would be visible.
  95
  96- PropertyManager.getProperties() did not include site properties.
  97
  98- When creating a new file, the horizontal scroll bar was not updated
  99  correctly.
 100
 101}}}
 102{{{ API Changes
 103
 104- A few methods added to JEditTextArea for Gestures plugin:
 105
 106  isRightClickPopupEnabled()
 107  setRightClickPopupEnabled(boolean)
 108  handlePopupTrigger(MouseEvent)
 109
 110}}}
 111
 112}}}
 113
 114{{{ Version 4.2pre12
 115
 116Thanks to Lionel Fiol, Nicholas O'Leary, Ollie Rutherfurd and
 117Thomas Alspaugh for contributing to this release.
 118
 119{{{ Miscellaneous Changes
 120
 121- The Buffer Options and Global Options->Editing panes no longer allow
 122  setting the wrap mode to 'soft' with a wrap margin of zero. Previously
 123  this was allowed, but did nothing since the feature was removed in
 124  4.2.
 125
 126- DELETE key works with the tall caret now.
 127
 128- Macros in the user macros directory now override macros in the system
 129  macro directory.
 130
 131- Added 'Next Dirty Buffer' and 'Insert Selection' macros
 132  (Ollie Rutherfurd).
 133
 134- Pressing A+DOWN in a history text field now shows the field's popup
 135  menu (Joerg Spieler).
 136
 137- Added "Mode Switcher" macro (Nicholas O'Leary).
 138
 139}}}
 140{{{ Syntax Highlighting
 141
 142- Updated BibTeX and LaTeX syntax highlighting (Thomas Alspaugh).
 143
 144- PHP mode now recognizes <script language="PHP">...</script>.
 145
 146- Updated Omnimark syntax highlighting (Lionel Fiol).
 147
 148- Added RTF syntax highlighting (Lionel Fiol).
 149
 150}}}
 151{{{ Bug Fixes
 152
 153- Fixed a possible deadlock on startup when loading the SQL plugin. In
 154  fact this would happen with any plugin that attempted to load icons
 155  from its class initializer.
 156
 157- Fixed NullPointerException when unloading a plugin which has at least
 158  one floating window that is not docked.
 159
 160- Fixed problems immediately after changing the font size due to a
 161  missing recalculateLastPhysicalLine() call.
 162
 163- Fixed NullPointerException in PluginJAR on startup if settings
 164  directory can not be written to.
 165
 166- File->Save All would ask for confirmation even if "Confirm Save All
 167  Buffers" was switched off.
 168
 169- Fixed off-by-one error in Edit->Word Count if the selection ended with
 170  whitespace.
 171
 172- Text area's horizontal scroll did not update when the text area was
 173  resized.
 174
 175- jEdit.getActiveView() would return null if the current view was
 176  closed, and another view was not focused. This would break the
 177  edit server if -reuseview was specified.
 178
 179- Fixed NullPointerException from syntax highlighting code when buffer
 180  switching APIs were called in a certain sequence.
 181
 182- Fixed exception when clicking in one-line-high text area.
 183
 184- Fixed problems with rectangular selections when changes were being
 185  made before the selection in the buffer.
 186
 187- Disabling the status bar in the Status Bar option pane did not disable
 188  the "Show clock" option.
 189
 190- Scrolling with the keyboard did not update the horizontal scroll bar.
 191
 192- Control-clicking in a read-only buffer would beep, even if the click
 193  location was not beyond the end of a line.
 194
 195- Fix possible deadlock when calling VFSManager.waitForRequests() from
 196  an EditBus message handler for BufferUpdate.CREATED or
 197  EditPaneUpdate.BUFFER_CHANGED.
 198
 199- The new PropertyManager in pre10 broke handling of site properties;
 200  they would be overriden by plugin properties, which is not intended
 201  behavior.
 202
 203- QuickNotepad was not saving files with the correct encoding.
 204
 205- Filename completion on backspace was not disabled in the "Save As"
 206  dialog box, as intended.
 207
 208- Minor fix to VHDL syntax highlighting.
 209
 210- Kill ring was not being loaded properly; the text entries were loaded
 211  but the count was never incremented, so the "Paste Deleted" dialog
 212  would always be blank after a jEdit restart.
 213
 214- Fixed a possible deadlock when unloading the ProjectViewer plugin.
 215
 216- Workaround for A+PAGE_UP/PAGE_DOWN inserting garbage in the text area
 217  on Windows.
 218
 219- Fix ClassCastException when changing edit mode in Buffer Options
 220  dialog box.
 221
 222- A zero-length file did not open with the default line separator, but
 223  rather the Unix line separator.
 224
 225- jEdit did not start if the font size was set to zero.
 226
 227- Changing the font size did not update the font in open activity log
 228  windows.
 229
 230}}}
 231
 232}}}
 233
 234{{{ Version 4.2pre11
 235
 236This release fixes a show-stopper bug in pre10. The JAR file included in
 237the installer was not completely up-to-date, and it had a property file
 238lossage bug.
 239
 240Note that if you compiled from source, you will not see this problem.
 241
 242}}}
 243
 244{{{ Version 4.2pre10
 245
 246Thanks to Barry Carr, Brad Mace, Ken Turner, Nahuel Foronda,
 247Ollie Rutherfurd, Trevor Harmon and Thomas Galvin for contributing to
 248this release.
 249
 250{{{ Miscellaneous
 251
 252- Added "Create Constructor" macro, updated "Make Get and Set Methods"
 253  and "Get Class Name" macros (Thomas Galvin).
 254
 255- It is now possible to customize the metal look and feel fonts under
 256  JDK 1.5.
 257
 258- Page Up/Page Down restored to jEdit 4.1 behavior: when they are
 259  invoked at the beginning/end of the buffer, the caret is moved to
 260  the beginning/end, instead of staying at its current position.
 261
 262- File system browser now uses locale's short date format, not a
 263  hard-coded DD/MM/YYYY hh:mm (Ollie Rutherfurd).
 264
 265- Many macros updated, new Keywords_to_Uppercase.bsh,
 266  Emacs_Next_Line.bsh, Emacs_Previous_Line.bsh, Buffer_Switcher.bsh,
 267  Delete_Current.bsh, Glob_Close.bsh, Reverse_Lines.bsh,
 268  Single_Space_Buffer.bsh macros added (Ollie Rutherfurd).
 269
 270- Documentation updates.
 271
 272- Status bar clock now uses locale's short time format, instead of a
 273  hardcoded format.
 274
 275}}}
 276{{{ Syntax Highlighting
 277
 278- Updated Pascal syntax highlighting (Barry Carr).
 279
 280- Updated ActionScript syntax highlighting (Nahuel Foronda).
 281
 282- Updated SDL/PR syntax highlighting (Ken Turner).
 283
 284- Added CVS and Subversion commit info syntax highlighting
 285  (Ollie Rutherfurd).
 286
 287- Added S# syntax highlighting (Barry Carr).
 288
 289}}}
 290{{{ Bug Fixes
 291
 292- Fixed another NullPointerException in the file system browser when
 293  using VFS's that do not set the VFS.DirectoryEntry.symlinkPath field.
 294
 295- Actually fix the MacOS plugin for the latest MRJ update.
 296
 297- Fix status bar problem with GTK look and feel if memory indicator is
 298  enabled.
 299
 300- Fixed exception with auto indent (Brad Mace).
 301
 302- jEdit didn't compile with Sun's JDK 1.5 beta (Trevor Harmon).
 303
 304- "Find Next" didn't work with directory searches where the paths
 305  contained symbolic links.
 306
 307- Fixed highlighting of verbatim environments in LaTeX files.
 308
 309- Fixed ArrayIndexOutOfBoundsException when invoking "Expand Fold"
 310  outside of a narrowed range.
 311
 312- Fixed problem where any dialogs boxes shown by the search and replace
 313  code would force the search and replace dialog to be shown on OS X.
 314
 315- Fixed a performance regression since 4.2pre7 on MacOS X.
 316
 317- More deep indent fixes (Brad Mace).
 318
 319- The JARClassLoader's loadClass() method was not synchronized -- this
 320  problem has been there for ages!
 321
 322- Fixed backspace key in file name field of file dialogs on Java 1.5.
 323
 324- Fixed exception when control-clicking beyond the end of a line in a
 325  read-only buffer.
 326
 327- Fixed key binding conflict on OS X; command-drag would both activate
 328  rectangular selection and quick copy. This has been resolved and now
 329  quick copy is activated with an option-drag.
 330
 331- The order of the elements in the recent file list was being reversed
 332  each time jEdit was restarted if 'sort recent files' was switched off.
 333
 334- PluginJAR.generateCache() didn't correctly handle the case where a
 335  plugin JAR file had an actions.xml but no core class.
 336
 337- Unloading a plugin did not remove the buttons for its docked windows.
 338
 339- The "Rescan Macros" command did not update the actions list in the
 340  action bar.
 341
 342}}}
 343{{{ API Changes
 344
 345- Added "optional dependencies". An optional dependency looks like this:
 346
 347  plugin.MyPlugin.depend.0=optional plugin AnotherPlugin 1.3.1
 348
 349  On startup, optional dependency are ignored; if AnotherPlugin does not
 350  exist, MyPlugin will still load. However, if AnotherPlugin is unloaded
 351  while jEdit is running, all plugins that depend on it, even ones with
 352  optional dependencies, will be reloaded.
 353
 354  If your plugin does a runtime check for the existence of another
 355  plugin, and uses its services if it exists, but can otherwise
 356  function fine, then you *MUST* add an optional dependency on that
 357  plugin, otherwise reloading plugins will leave stale classes in the
 358  active class loader.
 359
 360- jEdit.getProperties() now returns a new collection, not the internal
 361  insance.
 362
 363}}}
 364
 365}}}
 366
 367{{{ Version 4.2pre9
 368
 369Thanks to Brad Mace, David Hardin,  Matthew J. Price, Ollie Rutherfurd,
 370Patrick Tingen, Thomas Galvin and Wiktor Adamski for contributing to
 371this release.
 372
 373{{{ Miscellaneous
 374
 375- Includes new "Create Get/Set Methods" macro (Thomas Galvin).
 376
 377- Minor improvements to "Deep Indent" feature (Brad Mace).
 378
 379- "Reload All Buffers" command now only asks for confirmation if there
 380  are buffers with unsaved changes (Ollie Rutherfurd).
 381
 382}}}
 383{{{ Syntax Highlighting
 384
 385- Updated Visual FoxPro syntax highlighting (Matthew J. Price).
 386
 387- Updated Lisp syntax highlighting (David Hardin).
 388
 389- Updated Progress syntax highlighting (Patrick Tingen)
 390
 391}}}
 392{{{ Bug Fixes
 393
 394- Horizontal scroll bar was not updated sometimes.
 395
 396- The code that determines if a selection is being dragged is now much
 397  more accurate; for example, with rectangular selections is only
 398  registers a drag if the mouse is actually within the rectangular
 399  region, not just between the start and end locations in the buffer.
 400
 401- jEdit did not compile with Java 1.3.
 402
 403- Clicking "Select All" in the "Files Changed on Disk" dialog box did
 404  not enable the Reload button (Ollie Rutherfurd).
 405
 406- startup.bsh file was not included in installer bundle.
 407
 408- Fixed a performance problem with rollover buttons.
 409
 410- Pressing a shortcut that reads the next character from the keyboard
 411  while a control other than the text area is focused will now shift
 412  focus to the text area, and back again to the original control when
 413  the key is pressed. This allows you to use commands like "Go to
 414  marker" from the search bar, and so on.
 415
 416- Collapsing a folder node in the file system browser that is
 417  immediately followed by an expanded folder node would remove all
 418  columns from the view.
 419
 420- This change was advertised in the pre8 change log but didn't actually
 421  make it in:
 422
 423  - Fixed possible deadlock in VFSFileChooserDialog when changing the
 424    cursor.
 425
 426- Hard wrap would wrap one word too early when inserting beyond the wrap
 427  margin.
 428
 429- Fixed exception when tab size was set to 0.
 430
 431- Fixed caret being offset too far to the right when dropping text in
 432  the text area, due to the gutter's width not being taken into account
 433  (Wiktor Adamski).
 434
 435- Dismissing the buffer switcher popup now sends focus back to the text
 436  area.
 437
 438- Fix layout problem with tool bars at the bottom of the view.
 439
 440- Fix layout problem with tool bar obscuring the right docking area.
 441
 442- Docking area sizes would be determined before the button sizes were
 443  known, so it was possible to resize a docking area beyond the edge of
 444  the view.
 445
 446- ChunkCache.getScreenLineOfOffset() didn't return the correct value -1
 447  if the given offset was before the first visible line.
 448
 449- "Confirm 'Save All Buffers' command" option didn't work.
 450
 451- jEdit would throw an exception on startup if the GTK look and feel was
 452  in use.
 453
 454- The MacOS plugin didn't work with the latest MRJ release.
 455
 456- Commands in the right-click menu of the parent directories list
 457  operated on the files currently selected in the file listing table.
 458
 459- Fixed NullPointerException in GUIUtilities.getComponentParent().
 460
 461}}}
 462{{{ API Changes
 463
 464- BufferUpdate.SAVING is now sent before the IO flag is set to true.
 465
 466}}}
 467
 468}}}
 469
 470{{{ Version 4.2pre8
 471
 472Thanks to David Moss, Justin Dieters, Kris Kopicki, Ollie Rutherfurd,
 473Philipp Janda, and Scott Allen for contributing to this release.
 474
 475{{{ Miscellaneous
 476
 477- New splash screen (Kris Kopicki).
 478
 479- Clicking "Reload" in the "Files Changed on Disk" dialog box now
 480  selects the next buffer. This improves usability.
 481
 482- Added Alt-key mnemonics to "Files Changed" dialog box
 483  (Ollie Rutherfurd).
 484
 485- Alternative caret movement shortcuts (A+a,i,j,k,l,q,x,z) now work
 486  together with Shift to extend the selection.
 487
 488- "Using jEdit" section of the jEdit user's guide is now mostly up to
 489  date for jEdit 4.2.
 490
 491- Fixed various mistakes in the documentation (Justin Dieters).
 492
 493}}}
 494{{{ Scripting
 495
 496- BeanShell 2.0b1 imported. It has the following improvements over the
 497  previously-bundled release (1.3.1):
 498
 499  - Full support for scripted classes that behave exactly the same as
 500    compiled classes.
 501
 502  - Java 1.5-style static imports (this does not require Java 1.5). For
 503    example:
 504
 505    static import java.lang.Math.*;
 506    sqrt(4.0);
 507
 508  - Instance object imports (mix-ins) with the importObject() command.
 509    For example:
 510
 511    importObject( new HashMap() );
 512    put("foo", "bar");
 513    print( get("foo") ); // prints "bar"
 514
 515- The ASM bytecode generation library is now bundled with jEdit since it
 516  is required by BeanShell 2.0.
 517
 518}}}
 519{{{ Syntax Highlighting
 520
 521- Lua syntax highlighting (Philipp Janda)
 522
 523- SMI-MIB syntax highlighting (Scott Allen).
 524
 525- Updated Lisp syntax highlighting (Ollie Rutherfurd).
 526
 527- Added Swig and PSP syntax highlighting (Ollie Rutherfurd).
 528
 529- Added Poplog-11 syntax highlighting (David Moss).
 530
 531- Java mode now highlights the "enum" keyword, and annotation types that
 532  were added in Java 1.5.
 533
 534- BeanShell mode is now loaded from java.xml since now that BeanShell
 535  2.0 supports class declarations, the syntax is almost identical. The
 536  "beanshell" mode is still distinct from "java" mode though, to allow
 537  plugins to differentiate between the two file types.
 538
 539}}}
 540{{{ Bug Fixes
 541
 542- Fixed NullPointerException in FileCellRenderer if a VFS.DirectoryEntry
 543  had a null symlinkPath (which should not be the case anyway).
 544
 545- Fixed the roots: VFS to return non-null symlinkPaths.
 546
 547- "Go to Last Visible Line" went one line too far if the last visible
 548  line was only partially visible.
 549
 550- "Remove" button in Tool Bar pane of the Global Options dialog box now
 551  selects the next item after removing the currently selected item.
 552
 553- Changing the view layout in the View pane of the Global Options dialog
 554  box did not take effect for currently opened views.
 555
 556- Fixed a few dockable window layout problems.
 557
 558- Fix for numeric keypad not working after switching virtual desktops
 559  with various keyboard sequences on Linux.
 560
 561- Fixed a performance regression -- the entire text area was being
 562  repainted on every edit.
 563
 564- apacheconf.xml in 4.2pre7 distribution was corrupted.
 565
 566- New files no longer appear in the perspective if the autosave task
 567  runs while the "Close Files" dialog box is showing.
 568
 569- Delete perspective.xml before saving it so that past versions don't
 570  accumulate on OpenVMS.
 571
 572- Fixed MiscUtilities.isAbsolutePath() on OpenVMS.
 573
 574- It was not possible to bind an action to S+SPACE.
 575
 576- Key event workaround code now uses the time when an event was fired,
 577  not when it was received. This should fix the problem with stray keys
 578  getting inserted into the text area when an action takes a long time
 579  to execute.
 580
 581- Fixed possible deadlock in VFSFileChooserDialog when changing the
 582  cursor.
 583
 584- 0-byte files are now opened with the default line separator, not the
 585  Unix line separator.
 586
 587- Fixed some minor inconsistencies in the behavior of the directory
 588  chooser dialog box.
 589
 590- On some Windows systems, the last few lines of each page would not
 591  be printed. This was due to a Java bug; the incorrect
 592  FontRenderContext was being returned. There is now a workaround for
 593  this bug.
 594
 595- BeanShell 2.0b1 fixes a problem with variable scoping in macros.
 596
 597- Added a workaround for a Java bug where switching between windows
 598  using A+TAB would focus the menu bar.
 599
 600- Removed debugging message from VFSBrowser class ("request already in
 601  progress").
 602
 603- The backspace key now functions correctly with a tall caret.
 604
 605- Making changes in a buffer before the start of a rectangular selection
 606  would cause exceptions to be thrown.
 607
 608}}}
 609
 610}}}
 611
 612{{{ Version 4.2pre7
 613
 614Thanks to Aaron Bell, Alessandro Falappa, Ben Williams, Chris Petersen,
 615Kris Kopicki, Lee Turner, Ollie Rutherfurd, Mike Dillon, Randolf Mock,
 616and Randy Hudson for contributing to this release.
 617
 618{{{ Miscellaneous
 619
 620- The list of modes in various dialog boxes is now sorted (this does not
 621  affect the order that buffer names are matched against modes).
 622
 623- Bundled some macros from various sources (Ollie Rutherfurd).
 624
 625- The plugin manager no longer lists the JDK's "tools.jar" if it is
 626  loaded.
 627
 628- The "Search in Directory" command now always selects the most recently
 629  searched in directory. To search in the current directory with the
 630  filter based on the current buffer's file name, click the
 631  "Synchronize" button.
 632
 633- Updated "Preview Javadoc of Current Buffer" macro (Tom Gutwin).
 634
 635- Added option to file system browser's Commands->Encoding menu to
 636  disable encoding auto-detection.
 637
 638- Added support for UTF-8Y encoding, which is like UTF-8 except there
 639  is a three-byte signature (0xEFBBBF) at the beginning of the file.
 640  See http://oss.software.ibm.com/icu/docs/papers/forms_of_unicode/#t2.
 641  UTF-8Y files are automatically detected, just like UTF-16.
 642
 643- Removed File->Insert File command. As before, you can still invoke
 644  File->Open and select "Insert" from a file's right-click menu in the
 645  file system browser.
 646
 647- Added "Display Actions" macro (Lee Turner).
 648
 649- Wrote "What's new in jEdit 4.2" document.
 650
 651}}}
 652{{{ Syntax Highlighting
 653
 654- Added MoinMoin syntax highlighting (Ollie Rutherfurd).
 655
 656- Added Relax NG compact syntax highlighting (Randy Hudson).
 657
 658- Minor fix to Perl heredoc syntax highlighting (Chris Petersen).
 659
 660- Updated ADPL syntax highlighting (Randolf Mock)
 661
 662- Added Renderman-RIB syntax highlighting (Alessandro Falappa).
 663
 664- Added PowerDynamo syntax highlighting (Ben Williams).
 665
 666- Added WebSphere MQ scripting syntax highlighting (Aaron Bell).
 667
 668- Added squid.conf syntax highlighting (Kris Kopicki).
 669
 670}}}
 671{{{ Platform Specific
 672
 673- MacOS plugin now supports services (Kris Kopicki).
 674
 675}}}
 676{{{ Bug Fixes
 677
 678- Fixed NullPointerException on startup which prevented jEdit from
 679  loading if a corrupted JAR file was present in one of the jars
 680  directories.
 681
 682- Dropping a file onto the text area did not work if the text area was
 683  read-only.
 684
 685- On Windows, MiscUtilities.constructPath() would fail if the parent
 686  path was a URL and the child path started with a \.
 687
 688- On Windows, MiscUtilities.constructPath() would return a path with a
 689  double backslash if the parent used / as a separator, and ended with a
 690  /.
 691
 692- UTF16 files with a byte order mark were not being detected due to a
 693  regression in pre6.
 694
 695- The history code now tries very hard not to write a malformed
 696  ~/.jedit/history file.
 697
 698- Fixed a slowdown of 5-7 seconds on startup in some cases that results
 699  from calling GraphicsDevice.getConfigurations().
 700
 701- The list of words in the "Complete Word" window was not sorted.
 702
 703- Fixed a race condition where the text area would throw a
 704  NullPointerException if EditPane.setBuffer() was called twice in a row
 705  with buffers that were not yet loaded.
 706
 707- Loading and unloading plugins that added menu items to the file system
 708  browser did not update the file system browser's "Plugins" menu.
 709
 710- History lists were not being saved at all unless the history file
 711  existed in the first place!
 712
 713- The "Shortcuts" option pane will no longer refuse to display with
 714  various malformed plugins.
 715
 716- An entry for inform.xml was missing from the mode catalog file.
 717
 718- Removing from the before the first visible line to inside the visible
 719  region threw an exception.
 720
 721- Fixed NullPointerException when pressing PageUp/PageDown inside a
 722  collapsed fold.
 723
 724- Sometimes, multiple line insertions did not update the screen line
 725  count of newly inserted lines. This would result in the scroll bar
 726  value being incorrect until you went to the end of the buffer and back
 727  again.
 728
 729- Using the TextTools plugin's "Transpose Lines" command in the first
 730  line of a collapsed fold would cause the folding state to be
 731  incorrectly updated, resulting in exceptions and an unusable text
 732  area.
 733
 734- When performing a text removal that would put the first visible line
 735  inside an invisible region, the chunk cache would be updated
 736  prematurely so the invisible line would be visible, and trying to
 737  move the caret to it would throw exceptions.
 738
 739- GZipped files were not being loaded correctly.
 740
 741- Opening an XML file that specified an invalid encoding name in the
 742  <?xml?> processing instruction would throw an exception. Now, XML
 743  files that specify an invalid encoding are opened with the default
 744  encoding.
 745
 746- Changed default shortcut of "Find Previous" from C+h to C+e g since on
 747  Mac OS X, C+h is always captured by the OS.
 748
 749- Changing the wrap mode didn't invalidate screen line counts, this
 750  could result in scrolling getting messed up.
 751
 752- Fixed NullPointerException when right-clicking on a drive root in the
 753  file system browser on Windows.
 754
 755- Fixed floppy drive access when selecting a floppy drive in the drives
 756  list on Windows.
 757
 758- Fixed a problem on some Windows versions where going to the drives
 759  list would display an error message from the OS.
 760
 761- A display manager that is not associated with a visible buffer no
 762  longer tries to maintain state; instead everything is recalculated
 763  when it becomes visible. This fixes a whole class of bugs that would
 764  manifest usually as incorrect scrolling behavior after switching
 765  buffers.
 766
 767- The Utilities->Action Bar command would only work once.
 768
 769- Scrolling would jump if electric scrolling was off when moving the
 770  caret past the first or last visible line, if they were only partially
 771  visible due to soft wrapping.
 772
 773- Fixed scrolling inconsistencies after collapsing a fold with soft wrap
 774  switched on.
 775
 776}}}
 777{{{ API Changes
 778
 779- MiscUtilities.getFileExtension() now works with path names too.
 780
 781- Removed BufferListener.wrapModeChanged() method.
 782
 783}}}
 784
 785}}}
 786
 787{{{ Version 4.2pre6
 788
 789Thanks to Magnus Henriksson, Mirco Bova, Ollie Rutherfurd, and
 790Stephen Bartlett for contributing to this release.
 791
 792{{{ Syntax Highlighting
 793
 794- Added Apache httpd.conf syntax highlighting (Ollie Rutherfurd).
 795
 796- Improved Scheme syntax highlighting (Stephen Bartlett).
 797
 798- Improved MS-DOS batch file syntax highlighting (Mirco Bova).
 799
 800- Added MCS51 (8051) microcontroller assembly syntax highlighting
 801  (Mirco Bova).
 802
 803- Updated XSLT syntax highlighting (Magnus Henriksson).
 804
 805}}}
 806{{{ Miscellaneous
 807
 808- Pressing TAB with a rectangular selection now inserts a tab at the
 809  appropriate column, instead of shifting indent to the right.
 810
 811- Added Up/Down arrows to the file system browser's colors option pane.
 812  This lets you change the order that file names are matched against the
 813  patterns in the list.
 814
 815- Collapsed/expanded arrow icons in file system browser should now look
 816  good with a dark background as well (Kris Kopicki).
 817
 818- The option for what to do when files change on disk in the General
 819  pane of the Utilities->Global Options dialog box is now tri-state:
 820
 821  - Do nothing
 822  - Prompt
 823  - Automatically reload
 824
 825  The first and last options correspond to the previous setting in
 826  4.2pre5. The second option is similar to the behavior in jEdit 4.1,
 827  except all changed buffers are listed in one dialog box.
 828
 829- Edit->Complete Word now completes words in all visible buffers (ie,
 830  showing in at least one edit pane). So as a poor man's CodeAid, you
 831  can open a text file listing Java classes and methods in a zero-height
 832  split.
 833
 834- The plugin manager now has better handling of loading and unloading
 835  plugins with dependencies.
 836
 837- jEdit now attempts to auto-detect the encoding of XML files by looking
 838  for an <?xml ... encoding="..." ?> processing instruction on the first
 839  line of the file. Note that if this processing instruction is present,
 840  an encoding selected in the File->Open dialog box is ignored.
 841
 842- jEdit will now refuse to load a plugin if some of the JAR files listed
 843  in its 'jars' property are missing.
 844
 845- Added a few macros to the base distribution (Ollie Rutherfurd).
 846
 847}}}
 848{{{ Bug Fixes
 849
 850- Fixed problems with structure matching when soft wrap is on, if the
 851  structure spans more than one screen line (for example, this can
 852  happen with the tag matcher in the XML plugin).
 853
 854- If 'Complete Word' was bound to TAB, pressing TAB would show the popup
 855  and immediately hide it.
 856
 857- File drag and drop actually works now (so you should now remove the
 858  DragAndDrop plugin. Having it installed causes all dropped text to be
 859  copied, instead of moved.)
 860
 861- Fixed a problem highlighting C preprocessor directives containing <.
 862
 863- Batch mode didn't recognize @rem as a comment.
 864
 865- The multiple results toggle in the HyperSearch results window was not
 866  being saved.
 867
 868- International keys should once again work on JVMs that send AltGR
 869  sequences as Control+Alt (which is completely broken).
 870
 871- Buffer.getPriorNonEmptyLine() did not access segments properly. This
 872  caused obscure problems with auto-indent.
 873
 874- Fixed more problems with symbolic link handling in the file system
 875  browser.
 876
 877- Fixed long-standing race condition in file system browser that could
 878  prevent a directory listing from being updated after a file was
 879  created, removed or renamed.
 880
 881- Changes made in the Docking option pane only took effect after a
 882  restart.
 883
 884- Fixed minor problem with digit handling in the Complete Word popup.
 885
 886- Fixed problem with repeating user input in the action bar.
 887
 888- Made it so that site properties are loaded just before user
 889  properties. This allows the look and feel to be changed via the site
 890  properties.
 891
 892- Fixed a problem with Replace All over rectangular selections where
 893  only the first occurrence would be replaced.
 894
 895- If a duplicate copy of a plugin was installed, opening the Shortcuts
 896  option pane could throw an exception.
 897
 898- The Plugin Options dialog box can still be opened if initialization of
 899  an option pane fails.
 900
 901- The key event workaround would ignore a KEY_TYPED event with the AltGR
 902  modifier that followed a KEY_PRESSED with a keyCode of \0. This is
 903  incorrect, and broke international key handling.
 904
 905- Changing the buffer sorting options, or having untitled files would
 906  would cause the wrong buffers to be restored on startup.
 907
 908- Fixed a problem with inserting text at the beginning of a fold line.
 909
 910- The behaviour of shift-clicking inside an existing selection did not
 911  work in 4.2pre5.
 912
 913- Selecting the "Install" or "Update" tab in the plugin manager no
 914  longer shows a modal dialog, since on some systems this would cause a
 915  beep.
 916
 917- After opening a new file, the scroll bars would still reflect the
 918  previous buffer's state while the new file was being loaded.
 919
 920- If a Replace All failed (for example, because the regular expression
 921  was invalid) the wait cursor would linger in the search and replace
 922  dialog box.
 923
 924- If a buffer listed in the 'files on changed' dialog box was closed,
 925  clicking it in the list would cause problems.
 926
 927- When editing a buffer in more than one text area, changing the last
 928  token of a line (for example, by inserting the start of a comment on
 929  that line) would not update subsequent lines in some cases.
 930
 931}}}
 932
 933}}}
 934
 935{{{ Version 4.2pre5
 936
 937Thanks to Ollie Rutherfurd, Peter Lundqvist and Silas Smith for
 938contributing to this release.
 939
 940{{{ Syntax Highlighting
 941
 942- Updated Icon syntax highlighting (Silas Smith).
 943
 944- Updated Pike syntax highlighting (Peter Lundqvist).
 945
 946- The "if" in #include <net/if.h> is no longer highlighted in C and C++
 947  modes.
 948
 949- SCRIPT tags in HTML files no longer recognize <?php ... ?>.
 950
 951}}}
 952{{{ Miscellaneous Changes
 953
 954- Drag and drop in the text area. You can disable this in the Mouse pane
 955  of the Global Options dialog box. The functionality of the DragAndDrop
 956  plugin (handling files dropped from your operating system's file
 957  manager) has been incorporated too.
 958
 959- Files that don't exist on disk are no longer saved in the perspective
 960  (Ollie Rutherfurd).
 961
 962- The end of a fold is now indicated in the gutter.
 963
 964- Added "Plugin Options" button to plugin manager.
 965
 966- Pressing a non-alphanumeric character with the 'Complete Word' popup
 967  showing now inserts the currently selected entry first, instead of
 968  just closing the popup and then inserting the entered character.
 969
 970- If there are several search results in one line, clicking the line in
 971  the HyperSearch Results window now selects all occurrences, not just
 972  the first one.
 973
 974- If regular expressions are on, the search bar now shows an error
 975  message instead of silently failing if you attempt a reverse search
 976  with S+ENTER (reverse search with regular expressions is not
 977  supported).
 978
 979- Added an option for disabling the confirmation dialog box shown by the
 980  "Save All Buffers" command.
 981
 982- When running on Java 2 version 1.4, jEdit now uses NIO APIs to obtain
 983  a list of supported file encodings. On Java 2 version 1.3, the same
 984  hard-coded list of encodings is offered as before.
 985
 986- The Docking option pane has been reintroduced since a number of people
 987  preferred the old docking style (the new direct manipulation still
 988  works of course).
 989
 990}}}
 991{{{ Bug Fixes
 992
 993- Fixed international keys on MacOS X.
 994
 995- "Multiple results" button in the HyperSearch Results window did not
 996  work correctly.
 997
 998- Line number shown in status bar when matching brackets was off by one.
 999
1000- Fixed some usability issues with the "Search in selection" setting in
1001  the Find dialog box.
1002
1003- Directory search settings were being reset when a search flag was
1004  changed.
1005
1006- Fixed handling of space bar which could result in extra spaces being
1007  inserted when using dead keys.
1008
1009- Fixed NullPointerException sometimes thrown when scrolling to the line
1010  after the last visible line with electric scrolling switched off.
1011
1012- Fixed problems such as ArrayIndexOutOfBoundsExceptions or the
1013  beginning of the buffer becoming inaccessible when expanding the last
1014  fold in a buffer.
1015
1016- Pressing ENTER at the end of a collapsed fold line now properly
1017  expands the fold.
1018
1019- Setting indentOpenBrackets and indentCloseBrackets to ( and ) didn't
1020  work, this broke Lisp auto indent.
1021
1022- When text editing moves the caret out of the visible region, jEdit
1023  only scrolls the text area if its active, so that editing with a split
1024  view does not scroll the inactive text area's caret into the visible
1025  region. However the logic for handling this case in jEdit 4.2 was
1026  flawed and even selecting a command from a menu would not cause
1027  scrolling.
1028
1029- "Searching..." message in HyperSearch window did not go away if the
1030  file set contained no files.
1031
1032- jEdit will no longer fail to start if the user properties file could
1033  not be loaded.
1034
1035- Fixed a few cosmetic bugs in the Global Options dialog box.
1036
1037- In some cases changing between text and BeanShell replace mode would
1038  not take effect.
1039
1040- Clicking "Replace and Find" or "Replace All" in Search dialog will now
1041  beep if no search string is entered, instead of using the last search
1042  string.
1043
1044- Text insertion while overwrite mode is on is now recorded correctly in
1045  macros.
1046
1047- Collapsing or expading nodes in the file system browser would deselect
1048  the node. This was a usability problem since pressing LEFT or RIGHT
1049  should not deselect anything.
1050
1051- The labels of -toggle and -float actions for dockables were not being
1052  set correctly.
1053
1054- Triple clicking to select a line did not place the line in the %
1055  register.
1056
1057- Various combinations of insertions and removes could mess up floating
1058  positions.
1059
1060- "Run Temporary Macro" no longer runs the temporary macro file from
1061  disk if the buffer is not open.
1062
1063- Inserting text at the end of the buffer did not update the vertical
1064  scroll bar in other text areas viewing the same buffer.
1065
1066- Fixed an exception thrown when narrowing to a range where the first or
1067  last line was the first or last line of the buffer.
1068
1069- Various combinations of insertions and removes could mess up the fold
1070  visibility map.
1071
1072- The up/down arrow keys, delete line, expand/collapse fold and a few
1073  other commands might not have put the caret in the right place if
1074  horizontal scrolling was involved.
1075
1076- AElred (the XML parser used by jEdit) would bomb if an XML element
1077  contained more than twice the text of the current I/O buffer size.
1078  When it ran out of the room, the I/O buffer was always doubled even if
1079  the text to be inserted was more than this length.
1080
1081- Restored the jEdit 4.1 behavior of consuming key events that are bound
1082  to an action. So now you can bind A+f to a command, and pressing A+f
1083  will execute the command without popping up the File menu.
1084
1085- The text area's screen line cache was not invalidated on buffer
1086  changes. This caused rare and obscure problems like bracket matching
1087  and the caret showing up in the wrong place.
1088
1089- Incorporated BeanShell 1.3final, which fixes a bug with static field
1090  access.
1091
1092- _REGEXP syntax rules that matched strings containing whitespace did
1093  not display in some circumstances.
1094
1095- The file system browser would not refresh, and edit modes would not be
1096  reloaded, if the paths in question contained symbolic links.
1097
1098- "Join Lines" no longer prints an exception if the buffer is read only.
1099
1100- Fixed NullPointerException being thrown when clicking tool bar buttons
1101  in a file dialog box with no associated view.
1102
1103- Fixed NullPointerException when pressing RIGHT at the end of a line
1104  with rectangular selection mode on.
1105
1106- The "Save As" dialog box no longer completes file names on the fly.
1107  Press TAB to complete file names. This was done since previously it
1108  was impossible to save to a file named "jjj.sss" if there was a file
1109  "jjj.sss.xxx" already in the destination directory.
1110
1111}}}
1112{{{ API Additions
1113
1114- Icon theme support. Pass a URL to GUIUtilities.setIconPath() and all
1115  icons will be loaded from that URL prepended to the icon name.
1116
1117- Added BeanShell.runScript(View view, String path, Reader in,
1118  NameSpace namespace) method. Also added a corresponding _runScript()
1119  method.
1120
1121}}}
1122{{{ API Changes
1123
1124- Within an event listener, Buffer.isTransactionInProgress() always
1125  returns true, and transactionComplete() is now always called on each
1126  event listener after every buffer change. As far as I know, no plugins
1127  use the transaction API so this should not affect anyone.
1128
1129}}}
1130
1131}}}
1132
1133{{{ Version 4.2pre4
1134
1135Thanks to Chris Morris, Marcelo Vanzin, Ryan Fowler and Ryan Grove for
1136contributing to this release.
1137
1138{{{ Syntax Highlighting
1139
1140- Updated NSIS2 syntax highlighting (Ryan Grove).
1141
1142- Modes from the user catalog file are checked first for a matching
1143  first line or file name glob (Ryan Fowler).
1144
1145- Updated Ruby syntax highlighting (Chris Morris).
1146
1147- Updated Pike syntax highlighting (Peter Lundqvist).
1148
1149}}}
1150{{{ Scripting
1151
1152- BeanShell 1.3b2 is now included. Improvements since 1.3a1 (which was
1153  included with jEdit 4.2pre3) include:
1154
1155  - Properties style auto-allocation of variables.
1156
1157    // foo is initially undefined
1158    foo.bar.gee = 42; 
1159    print( foo.bar.gee ); // 42
1160
1161  - Scripted class support (with class keyword). Limitations:
1162
1163    - Scripted classes may only extend other scripted classes
1164    - implement clauses are currently ignored
1165    - All Scripted classes appear as type bsh.This - they are
1166      effectively the same type of object.
1167
1168  - The bsh.system object which is shared across Interpreter instances
1169    has been renamed "bsh.shared".  For backwards compatability it is
1170    still referenced as bsh.system as well.
1171
1172  - All scripted objects now implement the standard object protocol of
1173    toString(), hashcode() and equals().
1174
1175  - Various bug fixes and optimizations.
1176
1177- Actions and dockables are now invoked in their own temporary
1178  namespace. This prevents memory leaks in code like this:
1179
1180  antfarm = wm.getDockable("antfarm");
1181  antfarm.foo();
1182  // reference to 'antfarm' remains in global namespace, possibly
1183  // after the dockable is closed
1184
1185}}}
1186{{{ Miscellaneous
1187
1188- Removed the "synchronized scrolling" option which hasn't actually
1189  worked since 4.2pre1 or 4.2pre2. If you liked this feature, you can
1190  write a plugin that does the same thing pretty easily.
1191
1192- The kill ring is saved between editing sessions.
1193
1194- The Latest Version plugin now shows the latest stable and development
1195  version numbers, previously it only showed the latest development
1196  version.
1197
1198}}}
1199{{{ Optimizations
1200
1201- Faster regular expression search and replace.
1202
1203}}}
1204{{{ Bug Fixes
1205
1206- Changing the no modifier click action for the gutter didn't work.
1207
1208- The 'jedit' script was not being created on Unix.
1209
1210- Fixed AltGR key on certain JVMs that send it as Control+Alt.
1211
1212- Regular expression replace didn't work with certain regular
1213  expressions.
1214
1215- When deep indent is on, indentation of code like this is handled a bit
1216  better:
1217
1218  if(foo
1219     bar)
1220  {
1221
1222  However it is still not 100% correct.
1223
1224- Added an option for the "deep indent" setting to the Editing option
1225  pane.
1226
1227- "Save as" did not update the buffer map properly if buffer sorting was
1228  switched off, or if symbolic links were involved.
1229
1230- Heredocs in PHP are <<< not <<.
1231
1232- Position tree update code had several problems, and this caused hangs
1233  and various exceptions.
1234
1235- jEdit would do a two-stage save for settings files, but it would still
1236  delete the old file if the save failed, thus settings could be lost of
1237  the disk is almost full, etc. Now, files are only overwritten if the
1238  new settings are saved successfully.
1239
1240- Fixed possible NullPointerException in Shortcuts option pane when a
1241  newly-installed plugin contains dockables but no actions.
1242
1243- Using the Global Options dialog box or anything else that calls
1244  jEdit.propertiesChanged() no longer clears the kill ring.
1245
1246- Escape sequences in the replace string (\n, \t) didn't work properly.
1247
1248- When viewing the favorites: URL, the full path of the entries is now
1249  shown, just like in 4.1.
1250
1251- The Favorites menu in the file system browser was sorted by entry
1252  name, but full paths were listed, so it looked like there was no order
1253  to it at all.
1254
1255- Fixed bogus DIRTY_CHANGED messages sent when loading a buffer with
1256  persistent markers.
1257
1258- The numeric keypad didn't work on JDK 1.3.
1259
1260- Apparently OS/2 Java has a broken File.getCanonicalPath()
1261  implementation, so we don't call this method on that OS.
1262
1263- Reload command now works with Untitled files.
1264
1265- If a virtual file system threw an exception other than an IOException,
1266  the file system browser would refuse to perform further operations
1267  with an "I/O already in progress" message.
1268
1269- Fixed Perl syntax highlighting for variable names that began with
1270  s, m, q or tr followed by a non-alphanumeric character.
1271
1272}}}
1273{{{ API Changes
1274
1275- SearchMatcher.nextMatch() returns an instance of SearchMatcher.Match
1276  instead of a two-element integer array.
1277
1278- Added jEdit.getPlugin(String name, boolean loadIfNecessary) method
1279  (Marcelo Vanzin).
1280
1281}}}
1282
1283}}}
1284
1285{{{ Version 4.2pre3
1286
1287Thanks to Brad Mace, Brant Langer Gurganus, Christoph Daniel Schulze,
1288Jonathan Revusky, Ken Turner, Kris Kopicki and Ollie Rutherfurd for
1289contributing to this release.
1290
1291{{{ Editing
1292
1293- The kill ring no longer shows duplicate entries, or entries that
1294  consist entirely of whitespace.
1295
1296- Added emacs-like "deep indent" which can be enabled using the
1297  deepIndent buffer-local property:
1298
1299  fooBar(baz,
1300         moreParameters,
1301	 ...); (Brad Mace)
1302
1303- Just like the Find Previous command, S+ENTER in the search bar now
1304  shows an error message if regular expression search is enabled.
1305  Previously it would just search forward.
1306
1307- The "Format Paragraph" command now shows an error message instead of
1308  just beeping if the wrap margin is not set.
1309
1310- The "Paste Previous" and "Paste From List" dialog boxes now show the
1311  selected item in a multiple-line text area (Ollie Rutherfurd).
1312
1313}}}
1314{{{ Syntax Highlighting
1315
1316- Added LOTOS syntax highlighting (Ken Turner).
1317
1318- Added SDL/PL syntax highlighting (Ken Turner).
1319
1320- Added IMPORT element to RULES tag. All rules from the ruleset named
1321  by the required attribute DELEGATE are copied into this ruleset.
1322
1323- Improved Velocity syntax highlighting.
1324
1325- Added TPL syntax highlighting (Brant Langer Gurganus).
1326
1327- Added UnrealScript syntax highlighting (Christoph Daniel Schulze).
1328
1329- Updated FreeMaker syntax highlighting (Jonathan Revusky).
1330
1331- Updated Pyrex syntax highlighting (Ollie Rutherfurd).
1332
1333}}}
1334{{{ User Interface
1335
1336- Activity Log now autoscrolls when dragging the mouse outside the log
1337  area bounds.
1338
1339- Docked window menu buttons should now look better on MacOS X.
1340
1341- When closing a buffer, the previous buffer is now selected, not the
1342  first buffer. The code that does this was actually there all along,
1343  but it never worked and I didn't notice (it would just go to the first
1344  buffer).
1345
1346- On Windows, entering X:\ or X:/ where X is a drive letter will
1347  automatically list that drive so that further paths can be completed.
1348  This is similar to how on Unix entering / opens the root directory.
1349
1350- Improved 'Choose Directory' dialog box.
1351
1352- A warning dialog box is now shown if nothing is selected in the text
1353  area and the "search in selection" setting is activated.
1354
1355}}}
1356{{{ Plugin Manager
1357
1358- The plugin manager now lists JARs that do not contain a plugin core
1359  class.
1360
1361- A warning is shown when updating a plugin from a version using the old
1362  API to a version using the new API, advising the user to restart
1363  jEdit.
1364
1365- The plugin manager no longer removes an existing plugin if downloading
1366  of an update failed.
1367
1368}}}
1369{{{ Optimizations
1370
1371- Fixed a performance regression from pre2. Opening large files with
1372  soft wrap off should now be as fast (or faster) than 4.1.
1373
1374- Fixed delays when exiting editor if help viewer and/or plugin manager
1375  windows were open.
1376
1377- jEdit.getBuffer() now uses a hashtable instead of a linear scan.
1378
1379- Optimized away some redundant code in the display manager, which
1380  should result in improved performance.
1381
1382- Search dialog should open a little bit faster. This fixes the issue
1383  where if you press C+f and type a search string really quickly,
1384  characters would be inserted in the text area.
1385
1386- Undo queue is now stored in a linked list, rather than an array. As
1387  offensive as it might sound, the array was being shifted along one
1388  position for each (non-compound) edit! Especially if the undo limit
1389  was set to a large value this could cause slowdowns.
1390
1391- The buffer no longer grabs a write lock when calculating a fold level
1392  or syntax tokens for a line. This should prevent the text area from
1393  stalling if the buffer is being saved in an I/O thread.
1394
1395- Fixed a performance regression from pre2. If all line contexts were
1396  valid, a subsequent request for a line's syntax tokens would
1397  invalidate all contexts from that line onwards. This did not happen if
1398  for example all but one context was valid.
1399
1400- Faster directory listing in the file system browser.
1401
1402- Fixed slowdown if activity log was docked and the "tail" option was on
1403  in Java 1.3.
1404
1405- Floating positions are now stored in a more efficient data structure
1406  allowing operations to be performed in logarithmic time. This improves
1407  performance with plugins that create a lot of positions, such as XML
1408  and anything using ErrorList.
1409
1410}}}
1411{{{ Bug Fixes
1412
1413- Fixed NullPointerException when loading plugins if opened buffers
1414  contained an invalid 'folding' property.
1415
1416- Fixed NullPointerException when invoking Complete Word in an edit mode
1417  that did not define a keyword map.
1418
1419- Selecting 'Close' from a cloned dockable's popup menu closed the wrong
1420  window.
1421
1422- Plugin manager window did not have the same icon as all other jEdit
1423  windows.
1424
1425- "What's new in jEdit 4.2" document was missing from the download due
1426  to a packaging error.
1427
1428- "Highlight every n lines" color setting in Gutter option pane didn't
1429  work properly.
1430
1431- Plugin manager hardcoded the table foreground color to black, this
1432  could make the table unreadable if the text area background was dark
1433  and "use jEdit text area colors in all text controls" was on.
1434
1435- EOL_SPAN_REGEXP rules threw NullPointerExceptions.
1436
1437- Plugins that failed to load were not marked as such, and showed up as
1438  "Loaded" in the plugin manager.
1439
1440- Added a workaround for a MacOS X Java bug where renaming a file to
1441  contain a path to a non-existent directory would delete the file.
1442
1443- It is now possible to rename a file to another name that only differs
1444  in case on Windows.
1445
1446- If "Ignore Case" was on, searching for strings containing certain
1447  characters (such as Unicode 0x00df) did not work since
1448  String.toUpperCase() sometimes mangles the string in various ways.
1449  Processing the string with Character.toUpperCase() doesn't seem to do
1450  this.
1451
1452- The "Abbreviations" option pane now correctly handles expansions with
1453  duplicate abbreviations.
1454
1455- An undoable edit is no longer merged if there is a pending redo. This
1456  would cause the undo queue to become inconsistent.
1457
1458- Changed input modifier mapping on MacOS X.
1459
1460  C+ is the Command key as before
1461  A+ is now the Control key
1462  M+ is no longer bound!
1463
1464  A+ used to be the Option key however this caused problems such as
1465  special characters on international keyboards triggering jEdit
1466  shortcuts; for example, Option+' inserts # on an Italian keyboard, and
1467  jEdit would pick this up as A+QUOTE which is bound to "Scroll Page
1468  Up".
1469
1470- Fixed NullPointerException when clicking in text area in a soft
1471  wrapped line that was but off at the bottom.
1472
1473- Fixed NullPointerException when scrolling to a line that was longer
1474  than the visible area.
1475
1476- Added a workaround for a problem with the Toolkit class which is
1477  non-reentrant on the Solaris JDK. This could cause a segmentation
1478  fault on jEdit startup.
1479
1480- Fixed a problem in the text offset to screen line conversion. It
1481  usually manifested itself in the form of the "disappearing selection"
1482  bug; if only part of the first line was visible due to scrolling and a
1483  selection began in the part that was not visible, painting the
1484  selection would throw an exception which would result in the selection
1485  extension being removed from the text area.
1486
1487- Printing is no longer done in a background thread, and now blocks the
1488  UI, due to various thread-safety problems.
1489
1490- Printing a range of pages would always print starting from the first
1491  page.
1492
1493- jEdit didn't compile with Java 2 version 1.3.
1494
1495- Invalid delegates in syntax mode files could throw exceptions.
1496
1497- "Spaces to Tabs" was broken.
1498
1499- Added a workaround for the print spacing problem on some Java
1500  versions. Note that this results in much larger spool files. Enable in
1501  Utilities->Global Options->Printing.
1502
1503- Added a workaround for buggy/incomplete implementations of JDK 1.4
1504  printing API. Now you can force use of the JDK 1.3 API when running on
1505  1.4. Enable in Utilities->Global Options->Printing.
1506
1507- Re-introduced jEdit 3.2.2-style Unix window geometry workarounds. If
1508  you saw problems like dialog boxes getting smaller each time they were
1509  opened, etc, let me know if this fixes them.
1510
1511- Fixed hang if a mode contains regular expression rules that match a
1512  zero-width string.
1513
1514- The jEditLauncher configuration is no longer updated if installing a
1515  new jEdit release over an old one with the jEditLauncher de-selected
1516  in the installer.
1517
1518- When searching for text, jEdit tries a little harder to make sure the
1519  search occurrence is visible if the text area needs to be scrolled
1520  horizontally.
1521
1522- When using TAB to move focus from the buffer switcher, or search bar,
1523  etc. it should eventually end up i…

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