/jEdit/tags/jedit-4-3-pre5/doc/CHANGES.txt
Plain Text | 717 lines | 489 code | 228 blank | 0 comment | 0 complexity | d5406df5d9f1b935f5354c131cd8819f MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
- JEDIT 4.3 VERSION HISTORY
- {{{ Version 4.3pre5
- Thanks to Alan Ezust, Jeffrey Hoyt, Daniel Hahler, Dale Anson,
- Björn "Vampire" Kautler, Matthieu Casanova, Xuân Baldauf,
- Nicholas O'Leary and Marcelo Vanzin for contributing to this release.
- {{{ Reinstall required
- - Gnu.regexp is no longer used by jEdit, in favor of java.util.regex
- Since the regexp removal has also affected the modes handling and thus
- the files in the "modes" directory, just updating "jedit.jar" of an
- existing jEdit installation does not suffice. You would get weird
- errors in this case. Thus, a full reinstall is required.
- }}}
- {{{ Keyboard handling changes
- - There is a new option, "simplified keyboard handling"
- under "general options" to switch between two keyboard handling modes.
- Keyboard event workaround handling has been substantially changed (as
- a fix to bug 1488047). This may greatly affect the way your keys work.
- Please report any bugs regarding this (and please drop a note about
- this bug in bug 1488047).
- (Xuân Baldauf).
- }}}
- {{{ API Changes
- - DockableWindowManager has a new method, setDockableTitle()
- which allows you to set the string in the title bar
- for floating dockables. Now docked buttons use the dockableName.label
- property instead of the .title. This way, we can have have long titles
- in the floater, and short strings on the dock button. (Alan Ezust)
- - Macros.Macro.invoke() has been rewritten to begin the compoundEdit on the buffer that is
- active buffer before the macro gets invoked, and end the compoundEdit on the buffer that is active
- after the macro is invoked opposed to end the compoundEdit on the buffer it was started on.
- JEditTextArea.setBuffer() has been rewritten to end a compoundEdit on the old buffer and start
- a new compoundEdit on the new buffer if there were a compoundEdit in progress.
- (bug #1469996). (Björn "Vampire" Kautler )
- - New class: org.gjt.sp.jedit.msg.CaretChanging, for alerting
- other plugins that the caret position is about to change.
- This allows Navigator to be alerted of sidekick selections. (Alan
- Ezust)
-
- - MiscUtilities.isBinaryFile() method that will check if a file is binary or not (Matthieu Casanova)
- - MiscUtilities.autodetect() this method tries to autodetect the file encoding. It was moved
- from BufferIORequest (Matthieu Casanova)
- -New utility class : IOUtilities that will contains static IO methods that
- depends only on JDK. (Matthieu Casanova)
- -New utility class : StandardUtilities that will contains static
- methods that depends only on JDK (Matthieu Casanova)
- - jEditBuffer.getRegexProperty() has been removed;
- jEditBuffer.getPatternProperty() was added to replace it.
- (Marcelo Vanzin)
- - MiscUtilities.quickSort() methods and MiscUtilities.Compare class are now deprecated
- use Arrays.sort() and Collections.sort() (Matthieu Casanova)
-
- - MiscUtilities.parseXML() and MiscUtilities.findEntity() were added.
- They're mainly used internally to ease XML parsing, but can safely
- be used by other people. Please refer to the javadoc documentation
- about how these methods operate. (Marcelo Vanzin)
- - org.gjt.sp.jedit.search.RESearchMatcher has been removed as part
- of the gnu.regexp removal; it didn't make sense to write extra
- code to keep that class working. (Marcelo Vanzin)
- - due to the change to support java.util.regex, the signature for
- org.gjt.sp.jedit.search.SearchMatcher.nextMatch() has changed.
- This means that any plugin that uses SearchMatcher or one of its
- implementations directly will break. (Marcelo Vanzin)
- - Added Log.log(urgency, source, message, exception). (Xuân Baldauf)
- }}}
- {{{ Miscellaneous
- - SearchReplace dialog now supports additional options,
- for Directory Search: "skipHidden" and "skipBinary".
- Now you can skip over hidden directories/files, as well
- as binary files. (Matthieu Casanova & Alan Ezust)
- - Updated Ruby Edit-mode to v0.6.2
- The Ruby-Mode now highlights numbers correctly (bug #1489847). (Björn "Vampire" Kautler)
- - The "Recent files" menu can now be reaches with the keystroke sequence
- "Alt+F F" (bug 1488066) (Xuân Baldauf)
- - The "Recent files" menu displays pathname information in the status
- line now also in cases the keyboard is used to choose menu items
- (bug 1488060) (Xuân Baldauf)
- - Drag&Drop now accepts multiple files in KDE environment. (bug 1487647)
- (Xuân Baldauf)
- - Mode_Switcher macro fixed to stop InvocationTargetException
- (Nicholas O'Leary)
- - Add explicit fold when start and end of selection are in different edit mode
- (bug #1159659) (Matthieu Casanova)
- - Caret position of previously edited files is restored on startup (bug # 1486706)
- (Dale Anson)
- - When saving a file with .gz extension the buffer is gzipped (it was not working when using two stage save.)
- It also remove GZIPPED property if the buffer name was ending with .gz and is not anymore
- (Matthieu Casanova)
- - All classes using the gnu.regexp packages have been changed to use
- java.util.regexp. This needed some refactoring of a few components
- inside the syntax highlighting and search subsystems. This means
- that mode files using regexps and searches now should use the
- java.util.regex syntax instead of the old syntax.
- (Marcelo Vanzin)
- - All classes using the com.microstar.xml packages have been changed to
- use JAXP to parse XML. Which means that some classes have different
- base classes now, but I don't expect anyone to be inheriting from any
- of those. Also, this means that XML parsing will be a little bit more
- "correct" now, in the sense that it will check the files against their
- DTDs (this needed some changes to the DTDs shipped with jEdit since
- some of them had errors). (Marcelo Vanzin)
- - The build.xml got rebuilt to allow building the MacOS-Plugin on any platform
- and to make it easier to build the distribution files (DEB, Java-Installer,
- Mac OS X DMG, TGZ Slackware Package, Windows-Installer, SRC-package, PDF-Manuals).
- (Björn "Vampire" Kautler)
- }}}
- }}}
- {{{ Version 4.3pre4
- Thanks to Neil Bertram, Onur Turgay, Ollie Rutherfurd, Dale Anson, Xuân Balduf,
- Nathan Blair, Peter Adolphs, Carmine Lucarelli, Matthieu Casanova, Alan Ezust,
- Daniel Hahler, Marcello Vanzin, Slava Pestov, Björn "Vampire" Kautler, and Jeffrey Hoyt for
- contributing to this release.
- {{{ Syntax Highlighting
- - TypoScript syntax highlighting (Neil Bertram).
- - Myghty template syntax highlighting (Ollie Rutherfurd)
- - JavaCC syntax highlighting (Dale Anson)
- }}}
- {{{ API Changes
- - better fix for 1449909:
- Create a new message (ViewUpdate.ACTIVATED) to indicate that a different
- view was activated. (Marcello Vanzin)
- - send a ViewUpdate.EDIT_PANE_CHANGED when changing the active view.
- (Marcello Vanzin)
- - EditAction now has a setName() method, allowing one to change the name.
- - New BufferChanging class, extends EditPaneUpdate with a getBuffer()
- method which returns the about-to-be opened buffer. (Alan Ezust)
- }}}
- {{{ Miscellaneous
- - TextAreaTransferHandler patch 1487647 Drag 'n' drop from KDE now works. (Xuân Baldauf)
- - GUIUtilities patch 1275607 for "find" dialog (Xuân Baldauf)
- - GUIUtilities patch 1467821 for dual-head displays applied (Nathan Blair)
- - patch 1467311 applied (Peter Adolphs) Restore previously open files on startup
- - Macro list is now sorted so that directories show up first
- (carmine.lucarelli)
- - jEdit now supports LCD Subpixel Anti-Aliasing (JDK 1.6 only).
- Global Options -> TextArea -> Anti-Aliased Smooth Text -> Subpixel
- (Onur Turgay / Alan Ezust)
- - jEdit will ask for confirmation before overwriting read only files.
- If yes, it will activate two stage save if the VFS is capable of
- renaming files. If no, the file will not be saved (Matthieu Casanova).
- -IO progress monitor are indeterminate if the maximum value of the WorkThread is 0
- (Matthieu Casanova)
- -Hyper search result panel now indicates the processed files
- (Matthieu Casanova)
- }}}
- {{{ Bug Fixes
- - Fix a deadlock when using directory search (Slava Pestov).
- -Deep indent was broken since 4.3pre2 and is now fixed (Matthieu Casanova)
- }}}
- }}}
- {{{ Version 4.3pre3
- Thanks to Bertalan Fodor, Björn "Vampire" Kautler, David Chan, James Turk,
- Loren Charnley, Matthieu Casanova, Michael Macnair, Nicholas O'Leary,
- Alan Ezust, Slava Pestov, Ollie Rutherfurd, Jeffrey Hoyt, Marcelo Vanzin,
- Rob (copy_paste), and Simon Ruggier for contributing to this release.
- {{{ Search and Replace
- - HyperSearch results can now be displayed in a folder hierarchy tree
- view. This makes it easier to see file locations when there are matches
- for many different files from a deep folder structure. To activate,
- right click on the top search node in the result tree and select
- "Toggle Tree View". If multiple results is enabled, the tree view is
- only toggled for the selected search.
- There are also new context menu options for the result tree
- that only display in tree view mode when a folder node is selected.
- There are options to expand/collapse all child nodes, and another to
- exeucte a "New Search From Here", which displays the search dialog
- initialized with the path from the selected result tree folder node.
- }}}
- {{{ Syntax Highlighting
- - Gnuplot syntax highlighting (Loren Charnley).
- - Updated PHP syntax highlighting (Matthieu Casanova).
- - Fixed end token of heredoc that must start at beginning of the line in
- PHP (Matthieu Casanova)
- - Updated MIPS R2000 assembly syntax highlighting (James Turk).
- - Updated Java and LaTeX syntax highlighting (Alexander Klimetschek).
- }}}
- {{{ File System Browser
- - Pressing / and BACKSPACE in the filename field no longer does
- completion. Now, you must press TAB to complete.
- }}}
- {{{ Miscellaneous
- - JARClassLoader now reports package information (Bertalan Fodor).
- - A new macro, SplitPane grow, was added to the macros/interface
- directory. (Alan Ezust)
- - A new macro, ToggleHeaderSource, for C/C++ editing. (alan ezust)
- - A single-line selection no longer hides the line highlight, for
- better readability.
- - The selection is now saved between buffer switches.
- - ActionContext now remembers overridden actions, so another plugin
- can override builtin actions (via listing one in actions.xml with the same name).
- When the plugin is unloaded, the original action will be restored. (alan ezust)
- plugins that use this feature: infoviewer, xsearch, and optional.
- - Updated "Display Abbreviations", "Hex Convert" and "HyperSearch
- Results to Buffer" macros.
- - Updated "Insert Buffer Properties" macro (Björn "Vampire" Kautler).
- - The plugin manager option pane now displays the name of the mirror
- currently used (Matthieu Casanova).
- - URLs dragged into the textarea are loaded rather than the URL pasted
- (Nicholas O'Leary).
- - Deselecting a plugin in the Plugin Manager persists between reloads of
- jEdit (Nicholas O'Leary).
- - Help Browser has an improved history model with drop-down style
- forward and back buttons.
- - Can specify caret column number in addition to line number when
- opening a file (+line:<line>,<column>) (Bertalan Fodor).
- - Added a new EventListener to notify subscribing plugins when jEdit was
- looking for prefix completions and when it was done. These
- notifications are for the ShortcutDisplay plugin.
- }}}
- {{{ Bug Fixes
- - The following Java code did not indent properly:
- if(foo)
- {
- foo(bar,
- baz);
- }
- - The following Java code did not indent properly:
- foo(bar(
- <--- should not have two levels of indent here
- - The soft wrap state is no longer reset when a buffer is saved. This
- was pointless and slowed down the editor.
- - Screen line management had an off-by-one error, so in some situations
- the vertical scroll bar state would become inconsistent.
- - Registers dockable window had a few problems (Nicholas O'Leary).
- - Word count would show -1 for an empty buffer (Michael Macnair).
- - Fixed corrupted cursor image problem on Mac OS X.
- - Complete word popup is now always positioned within the screen bounds.
- - The last physical line index was not updated when saving files
- sometimes, resulting in exceptions when clicking in the text area.
- - If rectangular selection mode was enabled and you clicked beyond the
- end of the line in a read-only buffer, jEdit would beep.
- - Using 'Delete Lines' with folding could mess up the vertical scroll
- bar.
- - File system browser's right click menu now contains the "Plugins" menu
- (Nicholas O'Leary).
- - Fixed file system browser's left arrow key behavior (David Chan).
- - The startup script created by the Java-based installer on Mac OS X now
- adds the Cocoa classes to jEdit's class path, so the Mac OS plugin
- should work with no further tweaking.
- - Fix race condition when there were buffers in the perspective, as well
- as buffers specified to open on the command line.
- - If windows were docked in the top docking area, the action bar would
- display in the wrong place.
- - After receiving a PropertiesChanged on EditBus, the PluginManager will
- check if the mirror was changed before updating the plugin list
- (Matthieu Casanova).
- - Fix for drag'n'copy text to lower position in same textarea - #1246823
- (Nicholas O'Leary)
- - Register Viewer fixes (Nicholas O'Leary).
- - Bug 1173630 fixed : Format paragraph with the caret at the end of it
- (Matthieu Casanova).
- - Mixed parser rules are detected when adding explicit fold
- (Matthieu Casanova).
- - Bug 1085135 fixed : when typing ctrl+S jEdit will not ask the user if
- he wants to override the read only flag on the file
- (Matthieu Casanova)
- - NPE fixed when removing hyper search result that aren't cached
- (Matthieu Casanova)
- - NPE fixed when using turkish locale (889520)
- }}}
- {{{ API Changes
- - bug 1386702: DockableWindowManager now sends an EditBus message
- DockableWindowUpdate.ACTIVATED when a dockable is activated.
- And a corresponding DEACTIVATED message when it is deactivated. (alan ezust)
- - A new EditBus message has been introduced: EditPaneUpdate.CHANGING
- for Navigator (or other EBPlugins) to catch caret positions
- just before buffers are changed. (Alan ezust)
- - A new EditBus message has been introduced: BufferUpdate.CLOSING
- for EBPlugins to catch events just before buffers are closed.
- (Alan ezust)
- - Selecting multiple directories in the file chooser dialog box is now
- supported; just pass true as the last parameter (Matthieu Casanova):
- GUIUtilities.showVFSFileDialog(view,null,
- VFSBrowser.CHOOSE_DIRECTORY_DIALOG,true)
- - Now that the text area is independent of the rest of jEdit, various
- text area-related APIs that used to take org.gjt.sp.jedit.Buffer
- instances now take org.gjt.sp.jedit.buffer.JEditBuffers:
- - BufferChangeListener and BufferChangeAdapter are now deprecated. Use
- BufferListener instead.
- - FoldHandler.getFoldLevel() now takes a JEditBuffer as a parameter.
- - VFS.copy() methods added (Matthieu Casanova).
- - MiscUtilities.copyStream() and MiscUtilities.closeQuietly() methods
- added (Matthieu Casanova).
- }}}
- }}}
- {{{ Version 4.3pre2
- Thanks to Bertalan Fodor, Dirk Moebius. Jarek Tuszynski, Joshua Gertzen,
- Nicholas O'Leary, and Simon Ruggier for contributing to this release.
- {{{ Auto Indent
- - The auto indent engine has been rewritten from scratch to provide
- more accurate indentation for a variety of languages, including Java,
- Common Lisp, and Factor.
- - Aligned bracket indent is done as before with "indentOpenBrackets" and
- "indentCloseBrackets" properties. Unaligned indent was previously
- enabled by setting "lineUpClosingBrackets" to "false". Now, you must
- specify "unalignedOpenBrackets" and "unalignedCloseBrackets"
- properties.
- The upside is that both aligned and unaligned indent can be used in
- the same edit mode. For example, in Java source, the following piece
- of code is indented correctly:
- public void apply(Buffer buffer, int thisLineIndex,
- int prevLineIndex, int prevPrevLineIndex,
- List indentActions)
- {
- // ...
- }
- - The new "unindentThisLine" property, whose value is a regexp, allows
- indentation of Java switch/case constructs:
- switch(foo) {
- case bar:
- hello();
- default:
- yo();
- }
- - In order to immediately re-indent the line as soon as the case or
- default statement is terminated with a :, the "electricKeys" property
- is set to a list of characters whose input triggers a re-indent of the
- current line.
- - The new "unindentNextLines" property, whose value is a regexp, allows
- indentation of Factor colon definitions -- in particular, after the ;
- everything must be unindented:
- : refers? ( to obj -- ? )
- f swap [ pick eq? or ] each-slot nip ;
- ! Indent returns here
- }}}
- {{{ Syntax Highlighting
- - Updated LilyPond syntax highlighting (Bertalan Fodor).
- - Rd syntax highlighting (Jarek Tuszynski).
- - Updated ASP syntax highlighting (Simon Ruggier).
- - Slate (http://slate.tunes.org) syntax highlighting.
- }}}
- {{{
- - The file system now lazily retreives file system attributes. For
- plugins that use the VFS API, this has important implications; see
- the below "API Changes" section. (Joshua Gertzen).
- - Previously, file system browser columns would resize to fit all the
- attributes of all visible files. Now, this is not possible, so instead
- columns can be resized manually and their size is preserved.
- }}}
- {{{ Miscellaneous
- - When an item from the "Paste Previous" or "Paste Deleted" dialog boxes
- is inserted, it is moved to the top of the list.
- - Pasting now preserves the tall caret.
- - New text areas viewing a buffer inherit the fold visibility map from a
- previous text area.
- - The right-click popup for HyperSearch results nodes has three new
- entries:
- - Open
- - Open in New View
- - Open in New Plain View
- - Open in New Split
- - On Mac OS X, the close box is shown with a different appearance if a
- visible buffer has unsaved changes.
- - Dropping text into the text area now selects it (Nicholas O'Leary).
- - The cursor is hidden when you start typing.
- - Renamed 'Delete Line' to 'Delete Lines'; now does the right thing if
- more than one line is selected. Same for 'Join Lines' versus
- 'Join Line'.
- - When the search bar loses focus, the currently entered text is added
- to the history.
- - "Format Paragraph" now preserves the caret position.
- }}}
- {{{ Bug Fixes
- - Fix NullPointerException in file system roots list.
- - Search and replace dialog's "Search subdirectories" checkbox did not
- have an Alt-key mnemonic.
- - Binding actions to numeric keypad keys should now work better.
- - Pressing something like A+f l where A+f was a prefix but A+f l was
- not bound would insert l into the buffer, which was undesirable.
- - The plugin manager did not select a plugin's dependencies when the
- plugin was selected for installation.
- - Invoking 'Expand Fold' when the fold is expanded would move the caret
- to the wrong place.
- - Changing the wrap mode didn't update screen line counts, causing
- various problems.
- - The custom history text field border with the popup widget is back.
- - Fixed a memory leak. Token markers were retaining the line segment
- they were given to tokenize -- in some cases, this line segment could
- hang around for a while, and was huge.
- - Fix performance regression when deleting text; too many lines were
- being repainted.
- - 'Cut Append' and 'Copy Append' commands did not update the Registers
- dockable.
- - Fix Control key on Mac OS X.
- - Changing the font size did not update the vertical scrollbar.
- - JSwat plugin did not work when running under Java 5 due to a bug in
- jEdit's JARClassLoader (Dirk Moebius).
- - Fix some problems with paths that end with multiple file separators.
- - Inserting a long line of text did not always scroll horizontally as
- required.
- - Split panes now have resize weight, ensuring more intuitive behavior
- when a split view is resized.
- - If autosave kicked in while the 'Close All Buffers' dialog was open,
- then the perspective would be saved, and the wrong buffer would be
- restored on the next startup.
- - Fix an exception from being shown when loading a file with a malformed
- .marks file.
- - Fix possible ArrayIndexOutOfBoundsException when deleting text after
- decreasing the number of history elements.
- - Double clicking the middle mouse button now pastes twice, instead of
- pasting and selecting a word.
- }}}
- {{{ API Changes
- - View.updateTitle() is now public.
- - VFS.DirectoryEntry has been deprecated because its interface is not
- conductive to lazy initialization. Virtual file systems should now
- return instances of org.gjt.sp.jedit.io.VFSFile, and instead of
- reading/writing the public fields of that class (they are public but
- deprecated for VFS.DirectoryEntry compatibility), you should call the
- accessor/mutator methods.
- - A new MiscUtilities.pathsEqual() method has been added to check for
- equality of path names while ignoring case sensitivity on Windows.
- }}}
- }}}
- {{{ Version 4.3pre1
- Thanks to Cameron Morrison, Igor Lesik, Jim Lawton, Marcelo Vanzin,
- Nicholas O'Leary and Trevor Harmon for contributing to this release.
- {{{ Search and Replace
- - When invoking "Find", "Incremental Search for Word" or "HyperSearch
- for Word" actions, if regular expression search is on, any special
- characters in the selection are automatically escaped.
- - Find dialog box now has fields that accept multi-line input. Pressing
- ENTER activates the "Find" button; press C+ENTER to insert lines in
- the field.
- - Variables such as "view", "buffer" and "textArea" can now be used from
- BeanShell replace expressions.
- }}}
- {{{ Syntax Highlighting
- - Literate Haskell syntax highlighting (Cameron Morrison).
- - Updated D syntax highlighting (Jim Lawton).
- - Forth syntax highlighting.
- - Motorola 68000 assembler syntax highlighting (Igor Lesik).
- }}}
- {{{ Scripting
- - Macros written in the UTF-8Y and UTF-16 encodings are auto-detected.
- - Added Macros->Repeat Last Macro command. This used to be in 4.1, but
- got removed in 4.2, and now its back due to popular demand.
- }}}
- {{{ Miscellaneous
- - jEdit no longer runs with Java 2 version 1.3. Java 2 version 1.4 or
- 1.5 is now required.
- - If the wrap margin is set to 0 and soft wrap is enabled, wrapping is
- now performed at the text area width. This used to be in 4.1, but
- got removed in 4.2, and now its back due to popular demand.
- - Rename Autosave & Backup option pane to Save & Backup, move some
- options from General pane there (Marcelo Vanzin).
- - Added Ant target for building a MacOS X .app package (Trevor Harmon).
- - Added Register and Marker dockables (Nicholas O'Leary).
- - "Rectangular Selection" command now changes the state of the current
- selection to match the flag.
- - "Select All" preserves current scroll position.
- - When closing jEdit, open buffers are not added to the "Recent Files"
- list if the "Restore previously open files on startup" option is on.
- - View.goToBuffer() will try to find a non-zero height text area if
- possible.
- - Pressing TAB now preserves the tall caret, if there is one.
- - When a directory is reloaded, it is no longer moved to the top of the
- file system browser's history list.
- - Added View->Splitting->Restore Split action -- it recreates a
- split pane configuration as it was before the most recent 'Unsplit'.
- }}}
- {{{ Bug Fixes
- - "Backup directory" feature now works if the file being edited is on a
- different filesystem than the backup directory (Marcelo Vanzin).
- - Don't use two-stage save if the file's parent directory is not
- writeable (Marcelo Vanzin).
- - Minor fix for handling of the recent buffer when the current buffer
- was closed.
- - Fix StringIndexOutOfBoundsException when opening files with a
- malformed XML PI.
- - Removing open files from the favorites list didn't work.
- - calling readNextChar() no longer clears the status bar after the
- script returns.
- - Fix potential ArrayIndexOutOfBoundsException when indenting lines
- containing unmatched brackets.
- - The "deselecting this plugin will deselect dependencies" message did
- not give the actual list of dependencies.
- - Fixed NullPointerException when selecting QuickNotepad menu items
- before opening QuickNotepad first.
- - Register persistence was broken and didn't work in many cases.
- }}}
- {{{ API Changes
- - New org.gjt.sp.jedit.gui.HistoryTextArea class can be used by
- plugins.
- - Removed EditPlugin.JAR, deprecated since 4.2.
- - Removed Buffer.getRootElements(), Buffer.getParagraphElement() and
- Buffer.getDefaultRootElement() methods, deprecated since jEdit 4.0.
- }}}
- }}}
- jEdit buffer local properties:
- :wrap=hard:maxLineLen=72:indentSize=2:
- :folding=explicit:collapseFolds=2: