PageRenderTime 303ms CodeModel.GetById 211ms app.highlight 24ms RepoModel.GetById 16ms app.codeStats 19ms

/www/trunk/htdocs/CHANGES42.txt

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

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