jEdit 5.0 version history
       (changes since jEdit 4.5.2)
:encoding=UTF-8:

{{{ Version 5.0.0

Thanks to Jarek Czekalski, Eric Le Lay, Matthieu Casanova, Tom Power, Malathi,
Thomas Meyer, Vladimir Avondin, Björn "Vampire" Kautler and Alan Ezust for
contributing to this release. 

{{{ Bug fixes

- Does not create backups on exit (#3579788 Jarek Czekalski)

- I/O Error on First Save Attempt (#3574500 Jarek Czekalski) 

- Fixed whole word search (#3551515 Matthieu Casanova)

- Fixed a number of scrollbar bugs related to undo, multiline cut,
  soft-wrap, and folding.
  (Patch#3567959, Bugs #2832769, #2998294, and #3193168 - Thomas Meyer)

- Fix keymap duplication handling (Björn "Vampire" Kautler)

- Fix broken macro Files/Glob_close.bsh (Eric Le Lay)

- File status checking before save (#3562315, Alan Ezust)

- Fix "Customize This Menu..." item in context menu options (#3554895 Tom Power)

- Fixed the StandaloneTextArea that cannot load keymaps
  (#3562023 Matthieu Casanova)

- Fix a case where a NPE occurs when removing a plugin
  (#3557441 Matthieu Casanova)

- Recognizing "Extra word characters" in "Whole word" option in
  searches (bug #3522497, patch #3543524 Malathi)

- The macro Display_Abbreviations was broken (#3539691 Matthieu Casanova)

- Fix pressing return in parent files of the VFS browser that do not
  browse the selected folder as it should (patch #3543499 by Eric Le Lay)

}}}
{{{ API

- New method MiscUtilities.openInDesktop() (Alan Ezust)

}}}
{{{ UI

- Disable menu bar mnemonics if they are mapped as otherwise defined shortcuts
  so that they are not shown visually to the user when they actually do not
  work and make sure that no conflict can arise with the default keymap and
  any localization (#3528208 Björn "Vampire" Kautler)

- Added a new German keymap. Replaced shortcuts that were unreachable
  on a german keyboard. Moved shortcuts from German localization into
  keymap. (#3572796 Björn "Vampire" Kautler)

- Translate underscores to spaces when displaying keymap names in the UI to
  eliminate files with spaces in the name. (Björn "Vampire" Kautler)

- Fix broken keymap properties (Björn "Vampire" Kautler)

- Added russian localization (patch #3544154 Vladimir Avdonin)

}}}
{{{ Miscellaneous

- Correctly determine whether Look and Feel did change to not touch it if it
  stays the same as this might cause delays and Exceptions.
  (Björn "Vampire" Kautler)

- The .jedit/modes/catalog is now written using UTF-8 instead of default
  OS encoding (#3560800 Matthieu Casanova)

}}}

}}}

{{{ Version 5.0pre1

Thanks to Björn "Vampire" Kautler, Nathan Gray, Evan Wright, Alan Ezust, Dale
Anson, Matthieu Casanova, Olivier Pisano, Jimmy Chaw, peibl, Robert Schwenn,
Martin Raspe, Max Funk, SPennington, Ingo Tomahogh, Jarek Czekalski, Jojaba,
Stephen Blackheath, Milan Černil, Makarius, Chris Sullins, Peter C. Chapin,
Tom Power and Donovaly for contributing to this release.

{{{ Bug fixes

- Fixed exception in dockable window system when loading a plugin using
  jar libraries (#3532429 Matthieu Casanova)

- The plugin description in install panel now supports html
  (#3509183 Matthieu Casanova)

- The mirror "Plugin Central default" now works as auto selecting
  mirror and is used by default. Previous default was hardcoded "switch"
  (mirror.switch.ch) as workaround, but one could easily stuck on broken
  "Plugin Central default" and got strange errors.
  (#2913393, #3501210 - Kazutoshi Satoda)

- Avoided annoying behavior of electric keys that canceled obvious
  manual indentation. Now they take effect only when the current level
  of indentation is same with automatic indentation.
  (#1936678, #2332140 Jarek Czekalski, Kazutoshi Satoda)

- Fixed "Backup on every save" resets file permissions. Renaming of the file
  was replaced with copying. (#1803073 Jarek Czekalski)

- Added backup of remote files, for example opened with FTP plugin.
  (#1525654 Jarek Czekalski)

- Fixed NPE which was shown in place of a proper error message for empty
  keyword elements in mode XML. (Kazutoshi Satoda)

- Cannot DnD betweeen PingPongLists (#3501020 Jarek Czekalski)

- Fixed macros at menu split are unaccessible (#3512853 Jarek Czekalski)

- If the same plugin is installed in home and install folder, only the newest
  is loaded. (#1848802 Matthieu Casanova)

- Fixed rectangular selection constructor (patch #3440310 peibl)

- When copying a file in VFSBrowser, if a file with the same name already exists
  a suffix copy-n is added to avoid deleting the existing file
  (#3470759 Matthieu Casanova)

- Fixed Ctrl + key not working in completion popup (Matthieu Casanova)

- Fixed copy of Hypersearch results adding \r in the clipboard
  (#3142456 Matthieu Casanova)

- The Java based installer now correctly handles GNU style long filenames in
  the installer package and thus does not corrupt the JavaDoc files anymore
  (#2327520 Björn "Vampire" Kautler)

- Several message boxes were not being created on the EDT which would result in
  tiny, non-resizable message boxes. (#3441535 Dale Anson)

}}}
{{{ API Changes

- New method Debug.compDelay, for debugging purposes (Jarek Czekalski)

- Made EditBus.send uninterruptible, as it was before putting handling of
  messages into EDT (r17139, to 4.4).

- New method ThreadUtilities.runInDispatchThreadNow() (Jarek Czekalski)

- New VFS capability: NON_AWT_SESSION_CAP and a helper method
  VFS.createVFSSessionSafe that frees the caller from entering the EDT
  thread in most cases. All built-in filesystems have this capability set.
  (Jarek Czekalski)

- The status bar widget service is now
  org.gjt.sp.jedit.gui.statusbar.StatusWidgetFactory instead of
  org.gjt.sp.jedit.gui.statusbar.StatusWidget (only the name in service.xml)
  is modified, because the service class is a StatusWidgetFactory and not a
  StatusWidget (#3521413 Matthieu Casanova)

- New public constructor for org.gjt.sp.jedit.gui.ErrorListDialog
  allowing for specifying custom urgency (priority). (Jarek Czekalski)

- TextArea.isCaretVisible became public (patch #3518424 Makarius)

- Fixed jedit exit procedure. Now all views are closed. Earlier only
  the current view was properly closed. This may be important for plugins
  that were workarounding the issue, as now they will get more
  ViewUpdate.CLOSED messages. (Jarek Czekalski)

- The JEditEmbeddedTextArea and StandaloneTextArea do not create an empty
  popup menu anymore.
  To add a context menu in your JEditEmbeddedTextArea, please override
  createPopupMenu(MouseEvent evt) as before, but also call
  setRightClickPopupEnabled(true) in your constructor (Matthieu Casanova)

- New jEdit.getCurrentLanguage() method that returns the language used  by jEdit
  (Matthieu Casanova)

- New method JEditBuffer.insert(int offset, CharSequence seq) to insert
  text in a buffer. (Matthieu Casanova)

- New constructors for CopyFileWorker:
  CopyFileWorker(Component comp, VFSFile[] vfsFiles, String target)
  CopyFileWorker(Component comp, VFSFile[] vfsFiles, String target,
                 Behavior behavior)
  CopyFileWorker(Component comp, File[] files, String target)
  CopyFileWorker(Component comp, File[] files, String target, Behavior behavior)
  to allow copy of multiple files at the same time (Matthieu Casanova)

- New VFS.copy() methods:
  copy(ProgressObserver progress, VFS sourceVFS, Object sourceSession,
       String sourcePath, VFS targetVFS, Object targetSession,
       String targetPath, Component comp, boolean canStop,
       boolean sendVFSUpdate)
  copy(ProgressObserver progress, String sourcePath,String targetPath,
       Component comp, boolean canStop, boolean sendVFSUpdate)
  (Matthieu Casanova)

- New methods MiscUtilities.getCompleteBaseName() to return
  the (complete) base names of a file (until the last .) and
  and getBaseName(), to replace the badly named getFileNameNoExtension,
  which is now deprecated (Matthieu Casanova, Alan Ezust)

- TextUtilities.join() now accept Collection<?> instead of Collection<String>
  (Matthieu Casanova)

- OperatingSystem.isOS2() method is removed since OS/2 cannot run jEdit since
  many years (Matthieu Casanova)

- OperatingSystem.isDOSDerived() is now deprecated since OS/2 do not exists
  anymore Windows is the only DOS derived OS, so use OperatingSystem.isWindows()
  instead (Matthieu Casanova)

- Some undocumented but public members in class DisplayTokenHandler and
  Chunk became private as they should be in the first place.
    Specifically:
      org.gjt.sp.jedit.syntax.DisplayTokenHandler
        MAX_CHUNK_LEN
        initChunk()  (* this was protected)
      org.gjt.sp.jedit.syntax.Chunk
        accessable
        initialized
        style
        width
        Chunk constructors
        offsetToX() (non static)
        xToOffset() (non static)
        init()
  (Kazutoshi Satoda)

}}}
{{{ Editing

- Nsis mode: added sectiongroup and deprecated subsection.
  (patch #3531776 Uwe - donovaly)

- Shellscript mode: changed electric keys to better fit current jEdit
  capabilities in this area. (Jarek Czekalski)

- Made markers list selectable with keyboard. (patch #3509642 Tom Power)

- Ada mode improvements (patch #3523836 Peter C. Chapin,
  request #2860105 Britt)

- Scala mode added (#3501401 Daniel Spiewak)

- logs edit mode added (Matthieu Casanova)

- Dart mode added (patch #3483431 Chris Sullins)

- Haskell mode: Removed the fixed 8 character indent and tab size
  (patch #3470636)

- Haskell mode: Added some GHC extensions: recursive do and arrow notation
  (patch #3470637 Stephen Blackheath)

- New mxml.xml mode, and updates to ActionScript (patch #2913561 Chris Hill)

- New metapost.xml mode (patch #1606258 Kondr)

- Updated cobol.xml (patch #2654343 Markus Röhner)

- fortran90.xml: new Fortran90 edit mode (patch #2406563 Jonni Lehtiranta)

- roff.xml: New ROFF/GROFF/TROFF edit mode
  (patch #3081484 Kostas Michalopoulos, Robert Schwenn)

- nsis2.xml: Added Java/C style comments. (patch #2976473)

- Ruby Edit Mode: Improved Symbol Highlighting
  (patch #1918110 Ingo Tomahogh, Alan Ezust)

- "velocity_pure.xml" edit mode to replace older sgml-based velocity.xml.
  Velocity keywords nested within markup tags incorrectly highlighted.
  (patch #1285741 Robert Schwenn)

- Updated D edit mode (patch #3463009 Olivier Pisano)

- Removed special highlight for object access and creation in php edit mode
  (#2985508, #3151072 Matthieu Casanova)

- Major simplification of phpdoc to make it look more like javadoc
  (#1803310, #3029383, #3316733 Matthieu Casanova)

- Added some missing keywords to vrml2 edit mode (patch #3471586 Jimmy Chaw)

- Using no highlight or limited syntax highlight in large buffers now also
  disables soft wrap (Matthieu Casanova)

- Using no highlight or limited syntax highlight in large buffers now disables
  highlight of very long lines (Matthieu Casanova)

- Latex Indentation a nuisance (#3432974)

- Made it possible to disable automatic indentation by buffer or by edit
  mode, and created a status widget to toggle the setting (Evan Wright)

- Fix for tracker 2976661, script tag attributes not syntax highlighted.
  (Dale Anson)

- Fix for tracker 846913, jsp syntax highlighting for single line comments.
  (Dale Anson)

- Updated css mode with new css 3 properties and values, tracker 3483390.
  (Dale Anson)

- Updated html mode to recognize new html 5 keywords, updated jsp mode to
  delegate to html mode for html tags. (Dale Anson)

}}}
{{{ UI

- Made "Customize This Menu..." item in context menu optional.
  (patch #3530786 Tom Power)

- File System Browser docked on left by default. (Alan Ezust)

- Suppressed output to standard error of encoding problems on opening
  files, which affects also hypersearch encoding errors. These errors are
  now displayed in a dialog, but not sent to error output.
  (request #3517116 Jarek Czekalski)

- Reserve space for 4 digit in memory's status bar widget.
  (patch #3518422 Makarius)

- The Windows installer and windows integration are now localized in french
  (patch #3513215 Jojaba)

- The Error status bar widget now use a JEditEmbeddedTextArea instead of a
  simple swing TextArea to display exceptions (Matthieu Casanova)

- jEdit now supports localization. (Matthieu Casanova)

- Added french translation (Jojaba http://jojaba.free.fr)

- Added german translation (Robert Schwenn)

- Added czech translation (patch #3523511 Milan Černil)

- Text Area option for Search System Fonts in Font substitution
  (#3479585 Max Funk)

- Dialog titles in file system browser
  (patch #2968930, request #2807301 SPennington)

- Standarized Buffer Switcher combo (#3408584, patch #3456572 Jarek Czekalski)

- If a Task is not cancellable, the cancel button of TaskMonitor is disabled
  (Matthieu Casanova)

- Added Icons to the VFS Browser context menu (Matthieu Casanova)

- Combined Global and Plugin options into a single pane, making Optional plugin
  obsolete, fixing auto resize dialog issue.
  (#3449498, request #3455602 Alan Ezust)

- jEdit is now always using continuous layout in JSplitPane (Matthieu Casanova)

- Fixed keyboard handling of comboboxes in jedit's option panes.
  (#3415064 Alan Ezust)

- Changed menus to use Mac-specific symbols for accelerator keys when using OS X
  and the native look & feel (patch #1950147 Nathan Gray)

- Added an option (on by default) to use the native Quartz renderer on
  Mac OS X (Evan Wright)

- Fixed keyboard handling of drop-down menus in File System Browser.
  (#1571578 Alan Ezust)

- Fixed "Use textarea colors" for dockables created in non-metal L&F.
  (#1794400 Alan Ezust)

- New option in Saving and Backup pane: Use File System Browser dir for
  Save-As (#1591441 Alan Ezust)

- RegisterViewer: set initial focus to registerList, added key bindings for
  inserting content, clearing a register and leaving the registerList
  (#3437779 Martin Raspe)

- RegisterViewer: close the floating window after inserting a clip, to make
  behaviour consistent with Paste Previous window (#3478916 Jarek Czekalski)

- Show a preview of the window rather than a low-resolution icon when minimizing
  on Mac OS X (#3529980 Evan Wright)

}}}
{{{ Miscellaneous

- New FileOpenerService, Offered by FastOpen 2.5, SmartOpen 1.1.
  Used by ErrorList 2.0 (#3481157 Alan Ezust)

- jeditresource:/ URL handler now also checks jEditHome for files so
  it can be used to link to core documentation. (#3565139 Alan Ezust)

- Macros folder can now be localized with properties
  macros.folder.[foldername].label (Matthieu Casanova)

- Pasting a VFSFile as String dataflavor will now paste the full path instead of
  the name of the file (Matthieu Casanova)

- The EditingOptionPane has now an option to remember the user choice about
  large file treatment (Matthieu Casanova)

- OS/2 tasks were removed from the Java installer as OS/2 does not
  have a working Java 6 implementation and probably never will have
  (Björn "Vampire" Kautler)

- jEdit support for keymaps (Matthieu Casanova)

- User Settings directory migrated to %APPDATA%/jEdit on Windows
  (#2510763 Alan Ezust)

- Added support for "Find Previous" when searching in multiple files
  (Evan Wright)

- Applied patch to Get_Class_Name macro from lxdyglt to find
  classname for inner classes. (#3301598 Dale Anson)

- Fixed some edge cases in the Make_Get_and_Set_Methods macro, properly handle
  comments, multi-line variable declarations and multiple initializers.
  (Dale Anson)

- Soft wrap now works at non-whitespace line breaks within some natural
  language texts; Japanese for example.
  (patch #2483695 Kazutoshi Satoda)

- Introduced glyph caching to lower CPU usage on text rendering and
  line wrapping. (Kazutoshi Satoda)

- Changed calculation of wrap margin to be based on an average character
  width instead of a width of a space which gave very narrow wrap margin
  for proportional fonts. (Kazutoshi Satoda)

- Updated Move Lines Up and Down macros to move whole lines regardless of
  selection. (Dale Anson)

}}}

}}}

jEdit buffer local properties:
:maxLineLen=80:wrap=hard:autoIndent=simple:noTabs=true:indentSize=2:tabSize=2:
:folding=explicit:collapseFolds=2:
