The autosave feature was broken (#1957237) (Matthieu Casanova)
Toolbar overhaul: Toolbar buttons were inconsistently sizes across different L&Fs. (#1954020) In addition, toolbar buttons and toolbars now use JToolBar instead of just JPanel. The Open File dialog was also modified to remove the margin around the toolbar. (Seph M. Soliman)
The shortcut to create a new file in the VFSBrowser is now ctrl+n instead of just 'n' (#1965114) (Matthieu Casanova)
Some NPE fixed in status bar widgets when the view do not have a textArea yet (#1965532) (Matthieu Casanova)
VFSFileChooserDialog: back-arrow in filename textbox used to go up a directory, but was also used for going back a space in the text field. Disabled first behavior. (#1694133 Alan Ezust)
VFSBrowser: Added shortcut "A+Up" to go up a dir. New browser directory stack actions: next/previous (A+Left and A+Right). Reworked tab-keyboard focus traversal policy. (Alan Ezust)
New Action: Scroll-And-Center-Caret Action. Restored previous behavior of center-caret-on-screen. (#1910061 Alan Ezust)
A NPE was happened when loading several buffers at the same time and if the collapseFold bufferlocal property is set to something else than 0 (#1982663) (Matthieu Casanova)
The shortcuts were not working in the file chooser dialog table because the filename field was always requesting the focus. (Matthieu Casanova)
When assigning escape shortcut to close-docking-area, it didn't work in the hypersearch result panel because the JTree has the focus, and "escape" keypress is assigned to "hideTip" action by the Swing framework. I removed this default assignment because nobody care hiding tooltips (#1955140) (Matthieu Casanova)
When the parent directory list is selected in the VFSBrowser, the selected files were always empty (Matthieu Casanova)
when opening the save dialog, if the choosen path's VFS is not browseable, the default directory is opened instead (Matthieu Casanova)
Better field control on Appearance and Saving & backups option panes (#2015210) (Matthieu Casanova)
Miscellaneous:
In the auto-indent code, use read-only "CharSequence" instances to avoid creating new strings (which results in a copy of the original data). This should reduce a little the memory usage of that code. Also change some other code that can avoid the user of strings (such as the word completion action). (Marcelo Vanzin)
New status bar ErrorWidget added to display the 10 last exceptions that happened in jEdit (Matthieu Casanova)
Toolbar and context menu can now be restored to default setting (Seph M. Soliman #1961989)
New BufferSet api. The EditPanes can now manage their own list of buffers, or share this list with the editpanes from the same view, and of course as usual share the same list between all EditPanes (the default behavior) A bufferSet widget is available for the status bar (Matthieu Casanova)
New text macro "Line_Filter.bsh" added. It can filter the lines of a buffer to remove the lines that match or do not match a char sequence (patch #1981501) (Robert Schwenn)
New Mac OS X application icon (Seph M. Soliman)
The plain view can now have a status bar, a new option is added to choose it in the status bar option pane, and a new toggle menu is added to show/hide status bar in view menu (#1984974) (Matthieu Casanova)
New images for splash screen and about dialog to match the new visual feel (Seph M. Soliman)
New option to make the caret thicker. (SF.net Patch #1608486 Nils Nordman)
Editing:
SF Patch #1947143: remove the hack to support sub names with apostrophes in perl mode. Hopefully no one will complain (the hack had its own problems, as the SF entry shows). (Marcelo Vanzin)
PHP mode:
add new ruleset PHP_EXPRESSION to handle separate expressions better, e.g. new support for constructs like "$a->{'bar-'.substr($b,1)}"
handle function definitions (DEF_FUNCTION* rulesets), e.g. "function foo( array $bar = null )"
handle var-vars (e.g. $$foo)
stricter, consistent matching of variable names
other minor fixes/improvements
Fix word separators in LaTeX mode (SF #1982712)
Added "initialize" as a keyword in ruby mode. (SF.net Patch #1783765 Suraj Kurapati)
API Changes:
Deprecated com.microstar XML parser. (Alan Ezust)
New DynamicContextMenuService allowing plugins to offer actions in the TextArea contextmenu that depend on the state of the textarea. (Alan Ezust, Dale Anson)
New methods were added to jEditBuffer to return CharSequence instead of String. StandardUtilities / TextUtilities were enhanced to provide functions that are not present in the CharSequence class, or were only available for Strings before. (Marcelo Vanzin)
Removed deprecated CaretChanging message, which was never in jEdit 4.2 anyway.
Added new EBMessage, PositionChanging, base class for BufferChanging, for navigable position changes within the same buffer. Replaces CaretChanging. Search FindNext sends it before finding next. (Alan Ezust)
Deprecated a constructor of SegmentCharSequence which has reverse flag, in favor of a new class ReverseCharSequence. (Kazutoshi Satoda)
SearchDialog.preloadSearchDialog(View) is now completely removed after being deprecated for 2 years (Matthieu Casanova)
Removed an undesired dependency to jEdit from buffer.UndoManager which breaks independant textarea. (Kazutoshi Satoda)
Fixed NPE with tokenMarker in jEditBuffer.java (Ezust)
Reworked fold expansions [patch #1945472], which addresses #1942313 and #1538715 (Andrey Khalyavin)
Fixed NPE on SplashScreen init on NX and older X-window displays. (#1628432, #1930320 - ezust, marcelo vanzin).
Fixed an ArrayIndexOutOfBoundsException when opening search dialog on a fresh install (#1913979) (Matthieu Casanova)
When a digit is typed for a completion popup to select a completion, the digit was inserted after the completed word. (SF.net Bug #1931333 - Kazutoshi Satoda)
SF Bug #1873290: perl heredoc syntax highlighting is broken Thanks to Valeri Mytinski for pointing out that it was fixable with the current code. :-) The mode parser wasn't honoring AT_LINE_START for end tags, so that is fixed. Also, add AT_LINE_START="TRUE" to the perl and shellscript heredoc rules' END tags. (Marcelo Vanzin)
When typing quickly in the activity logs filter, some exceptions were happening (patch #1938174) (Dale Anson)
Miscellaneous
Edit History Text Clicking on "Previously Entered Strings" pops up a dialog that lets you edit previously entered strings (Joerg Spieler - 1818140)
New Tango icon set (Seph M. Soliman - # 1755992)
Change the behavior of the directory chooser dialog slightly. (SF Bug #1932733 - Marcelo Vanzin)
When a file could not be loaded due to strict error about encoding, the file is now loaded permissively. (Kazutoshi Satoda)
Editing
Move_Lines_(Up|Down).bsh replaced by Dale Anson to handle edge conditions (#1915824)
Rewritten latex.xml mode (Patch # 1928855 - Michael Schlotter)
SF Patch #1845842: perl.xml qq([test) syntax higlighting broken The q and qr operators were being highlighted wrong. The right way to do it is kinda messy, though, requiring a separate delegate depending on which character was used to start the quoted sequence. Applied patch is very similar to one in SF.net, with fixes for handling escaped characters correctly. (Chris Petersen, Marcelo Vanzin)
Comments and literals are now filtered before matching with regexps in indentNextLines, indentNextLine, unindentThisLine, and unindentNextLines. COMMENT(1-4) tokens are replaced by space so that they are ignored by autoindenting. Similarly, LITERAL(1-4) tokens are replaced by '0' which which means a simple integer literal in most programming languages. (Kazutoshi Satoda - SF.net Patch #1868690)
Tweaks to deep indent: ignore anything inside comments and literals, so alignment is only appied to actual code. Also, deep indent rules, if enabled, should have precedence over the open/close bracket rules. (Marcelo Vanzin)
SF Bug #1927869: Perl edit mode: qr/"/ breaks highlighting If was not really qr/"/, but qr!"!. Added "!" to list of allowed characters to delimit quote operators. (Marcelo Vanzin)
API Changes
New status bar api (Matthieu Casanova)
Added a method getPermissiveTextReader() to the interface org.gjt.sp.jedit.io.Encoding. (Kazutoshi Satoda)