/jEdit/tags/jedit-4-3-pre7/doc/CHANGES.txt

#
Plain Text | 1077 lines | 752 code | 325 blank | 0 comment | 0 complexity | d23c90e9302774ae3c91ec23566e8090 MD5 | raw file
  1. JEDIT 4.3 VERSION HISTORY
  2. {{{ Version 4.3pre7
  3. Thanks to Matthieu Casanova, Marcelo Vanzin, Nicholas O'Leary,
  4. Marcin Orlowski, Martin Raspe, Kazutoshi Satoda, Alan Ezust,
  5. and Björn "Vampire" Kautler for contributing to this release.
  6. {{{ API Changes
  7. {{{ EditAction changes:
  8. - Instances now inherit a protected Object[] args;
  9. Added a convenience function invoke(View view, Object[] newArgs) which
  10. sets args and calls invoke(view). Sf.net feature request # 1548301.
  11. - Made getCode() concrete (before it was abstract) and added
  12. a sensible implementation so that people extending from it
  13. are no longer required to write a function that returns beanshell code
  14. as long as they override the invoke(View) method with valid Java code.
  15. (Alan Ezust)
  16. - Made getLabel() non-final, so that people can override it and make
  17. more interesting EditActions. If args is set, getLabel() uses them
  18. for the label. (Alan Ezust)
  19. }}}
  20. {{{ GUIUtilities changes:
  21. - Added GUIUtilities.loadMenuItem(EditAction, boolean) - calls
  22. EditAction.getLabel() to get the label instead of getting properties
  23. directly (Alan Ezust)
  24. - GUIUtilities.addSizeSaver(Frame parent, String name) changed to
  25. GUIUtilities.addSizeSaver(Frame frame, Container parent, String name)
  26. and refactored to use saveGeometry(). Saves/restores
  27. sizes relative to a parent container. if parent==null, behaves
  28. as before. (Björn "Vampire" Kautler)
  29. }}}
  30. {{{ PluginJAR changes
  31. - jEdit.getPlugin(className, bool) now will search for and
  32. load plugins that were not yet loaded, given a className to search
  33. for. (Alan Ezust)
  34. - added PluginJAR.findPlugin() which is used by the above method (Alan Ezust).
  35. - added PluginJAR.load(), formerly a private method moved
  36. from the ManagePanel class. Also moved transitiveClosure() into
  37. the PluginJAR class. General refactoring to make the
  38. plugin management code more centrally located. (Alan Ezust)
  39. }}}
  40. - added new class org.gjt.sp.jedit.bufferio.MarkersSaveRequest; fixed 1527419:
  41. Setting or deleting markers does not dirty buffer anymore. Handling of
  42. the markers file is now factored out from BufferSaveRequest.
  43. (Martin Raspe)
  44. - added new class org.gjt.sp.jedit.io.VFSFileFilter; an interface that
  45. defines a filter used by the VFS browser. (Marcelo Vanzin)
  46. - added SearchMatcher.isMatchingEOL(); indicates whether the matched
  47. region ends at an EOL character. Part of bug fix for SF Bug #1541009.
  48. (Marcelo Vanzin)
  49. - added new class org.gjt.sp.jedit.io.VFSFileFilter; an interface that
  50. defines a filter used by the VFS browser. (Marcelo Vanzin)
  51. - added VFSBrowser.addVFSFileFilter() and VFSBrowser.getVFSFileFilter().
  52. Deprecated VFSBrowser.getFilenameFilter(). (Marcelo Vanzin)
  53. - added VFS._listDirectory(Object,String,VFSFileFilter,boolean,Component,boolean,boolean)
  54. (Marcelo Vanzin)
  55. - moved MiscUtilities.globToRE() to StandardUtilities. (Marcelo Vanzin)
  56. - added org.gjt.sp.util.PropertiesBean. See javadoc for details.
  57. (Marcelo Vanzin)
  58. - added JEditTextArea.collapseFold(int line) to collapse the fold at the
  59. given line (Matthieu Casanova)
  60. - New method KillRing.setInstance() that allow you to replace the default KillRing.
  61. jEdit now uses a custom KillRing : JEditKillRing. The only difference is that it
  62. can save itself to the disk (Matthieu Casanova)
  63. }}}
  64. {{{ Syntax Highlighting
  65. - Interlis mode updated to version 2.3 (patch # 1464779)
  66. - Progress mode supports nested comments (patch# 1211534)
  67. - New edit mode: Pilrc *rcp mode by Marcin Orlowski (#1519983)
  68. - Perl.xml mode fixes: (#1549412, #1020484), infinite loops in regexp,
  69. transliteration and hash highlighting, added several new features
  70. }}}
  71. {{{ Bug Fixes
  72. - JEditTextArea now supports Java Input Methods. See
  73. http://java.sun.com/j2se/1.5.0/docs/guide/imf/index.html
  74. (#735962, #1555403) (Kazutoshi Satoda)
  75. - Plugin Manager: fixed some bugs about broken or missing behaviour
  76. + toggle behaviour of spacebar (bug #1538700)
  77. + closing behaviour of enter if in list (bug #1538695)
  78. + disposing behaviour of ESC (bug #1538693)
  79. + broken/weird focus behaviour (bug #1538692)
  80. + now keeps selection if you cancel the installation or an I/O-Error
  81. occures while installing or updating (bug #1538689)
  82. + selection and checked state of plugins is now remembered if going to
  83. other tabpanes or to the settings (feature request #974759)
  84. + Install and Update Panels support now multiple selections too
  85. (Björn "Vampire" Kautler)
  86. - Plugin Manager: Automatically loads unloaded dependent plugins.
  87. (#1538702) (Alan Ezust)
  88. - File System Browser now recognizes Backspace, DEL and F2 to
  89. go to parent dir, delete and rename files respectively.
  90. The "path:" textarea accepts environment variables and expands them too.
  91. (1542365) (Alan Ezust)
  92. - SplashScreen is now in the middle of the screen, instead of between
  93. 2 screens (Alan Ezust)
  94. - GuiUtilities.load/save geometry now saves x and y coordinates
  95. relative to the parent component. Changed core to make dialogs
  96. and floating dockables pop up in a place relative to the parent
  97. view. (#1292706) (Alan Ezust)
  98. - Memory dialog reports wrong values (#1538051) (Matthieu Casanova)
  99. - Shortcut sorting was broken (#1538452) (Matthieu Casanova)
  100. - Actions to-lower and to-upper now selects the word at caret if
  101. there is no selection (#1538720) (Matthieu Casanova)
  102. - Quicklist of dockables windows is now sorted (#1538728)
  103. (Matthieu Casanova)
  104. - Updated text in Search dialog to reflect reality (#1542029)
  105. (Nicholas O'Leary)
  106. - SF Bug #1541009: 4.3pre6 regexp find: hangs + huge memory waste
  107. "$" matches right before the end of line; so we need to adjust the end
  108. of the matched region when that is used. To do this and still maintain
  109. the expected replace behavior, a new method was added to
  110. SearchMatcher, and users of that class should adjust the offsets of
  111. subsequent searches when an EOL is matched. (Marcelo Vanzin)
  112. - Formatting an empty paragraph do not throw a StringIndexOutOfBoundsException
  113. anymore (#1548902) (Matthieu Casanova)
  114. - Clearing a register is now persistent (#1541821) (Matthieu Casanova)
  115. - When collapsing a fold, if the caret is inside, it
  116. is moved to the first line of the fold (#1541372) (Matthieu Casanova)
  117. - action collapse-fold now works fine even if the caret is not on the
  118. first line of the fold (#1538712) (Matthieu Casanova)
  119. - When saving a readonly buffer it will ask you if you want a two stage save.
  120. If you say no it will not display any error dialog anymore.
  121. (#1549282) (Matthieu Casanova)
  122. - ArrayOutOfBoundException fixed in VFS browser when choosing to delete, rename
  123. or browse in right click popupmenu when no file are selected
  124. (#1565286) (Matthieu Casanova)
  125. }}}
  126. {{{ Miscellaneous
  127. - VFS browser is now able to sort files by double-clicking on column headers.
  128. Files can be sorted by name, size and last modification date. Clicking again on
  129. the same column header will reverse the sort order (#1442812) (Martin Raspe)
  130. - VFS browser is not restricted to the built-in "glob" filter anymore.
  131. Plugins can register new filters to be used by the browser by
  132. implementing the "VFSFileFilter" interface and providing a service
  133. entry in service.xml, or by directly calling
  134. VFSBrowser.addVFSFileFilter(). (Marcelo Vanzin)
  135. - Updated FAQ for jEdit 4.3 (ezust)
  136. - Save and Backup Option Panel : the backup directory has now a button to browse using
  137. VFS file browser (#1540730) (Matthieu Casanova)
  138. - The PluginManager options do not allow anymore to ask for a mirror list update
  139. twice (Matthieu Casanova)
  140. - The mirror list of the plugin manager is now stored in a file : mirrorList.xml
  141. and read from here where you open the option panel. The Update mirror list button
  142. will refresh it from the web.
  143. (Matthieu Casanova)
  144. }}}
  145. }}}
  146. {{{ Version 4.3pre6
  147. Thanks to Björn "Vampire" Kautler, Alan Ezust,
  148. Matthieu Casanova, Nicholas O'Leary, Ollie Rutherfurd, and
  149. Marcelo Vanzin for contributing to this release.
  150. {{{ API Changes
  151. - MiscUtilities.getEncodings(boolean getSelected) added
  152. to get only the user-chosen encodings, e. g. in encoding dialogs.
  153. getEncodings() is deprecated in favor of getEncodings(false).
  154. (Björn "Vampire" Kautler)
  155. - DockableWindowManager.closeListener(String dockableName) - a new
  156. convenience method for creating keyboard listeners for floating
  157. dockables to respond to the "close-current-area" action. (Alan Ezust)
  158. - GUIUtilities.addSizeSaver(Frame frame, String name) added to
  159. save a Frames size and position correctly, even if it gets
  160. maximized. (Björn "Vampire" Kautler)
  161. - EditPane.setBuffer(final Buffer buffer, boolean requestFocus) that allow
  162. to set a buffer without requesting the focus (default is to request focus)
  163. (Matthieu Casanova)
  164. - BufferHistory.clear() to clear the recent file list
  165. (Matthieu Casanova)
  166. - MiscUtilities.stringCompare() and MiscUtilities.CompareString are moved to
  167. StandardUtilities (Matthieu Casanova)
  168. - Added XMLUtilities class for XML-related utility methods. Move some
  169. methods from MiscUtilities to this class, and deprecate the old ones.
  170. (Marcelo Vanzin)
  171. - Moved MiscUtilities.objectsEqual() method to StandardUtilities()
  172. (Matthieu Casanova)
  173. }}}
  174. {{{ Miscellaneous
  175. - Ability to clear the Recent Files List from menu (Matthieu Casanova)
  176. - Beanshell 2.0b4 bundled (Matthieu Casanova)
  177. - Added an OptionPane "Encodings" to select which encodings to
  178. show in encoding dialogs. (Björn "Vampire" Kautler)
  179. - Improved DockableWindowManager.closeCurrentArea() - closes more
  180. docked dockables than it did before. (Alan Ezust)
  181. - Fixed the storing of Frame size and position
  182. if the Frame gets maximized. (bug #1325358)
  183. (Björn "Vampire" Kautler)
  184. - Fixed VFS.copy() method when the returned session is null
  185. (Matthieu Casanova)
  186. - When adding explicit folds, and using a line comment for the end line,
  187. insert a line break after the fold end if the line is not empty,
  188. avoiding commenting out existing code. (Marcelo Vanzin)
  189. - Added option to not print collapsed folds. (Nicholas O'Leary)
  190. - Added paste and clear buttons to the Registers dockable.
  191. (Nicholas O'Leary)
  192. - The behavior of JARClassLoader now is different than in previous
  193. versions of jEdit. JARClassLoader will now delegate class loading
  194. to the parent class loader before looking in its cache. This means
  195. that, by default, plugins can't override classes in the JVM's
  196. boot classpath. The behavior is configurable on a per-plugin
  197. basis (see javadoc for details). This fixes SF Bug #1509218.
  198. (Marcelo Vanzin)
  199. - SF Bug #1527824: Perl Syntax Highlighting hangs 4.3pre6
  200. More activity on my favorite edit mode. :-)
  201. The [^\p{Alpha}\p{Space}] rule at the start of Perl's "y/.../" syntax
  202. was not entirely correct; some other characters, mainly operators like
  203. +, -, etc, and also underscore, are not allowed either. But since the
  204. regexp was still trying to be matched against such strings, it would
  205. have two effects: a very long pause (the "hang"), and strings like
  206. "y_something_something" being highlighted incorrectly. By adding a few
  207. extra characters to that exclusion, things seem to be much better.
  208. (Marcelo Vanzin)
  209. }}}
  210. {{{ Bug Fixes
  211. - (jedit-Bugs-1518537) FSB keyboard handling bugs fixed.
  212. Arrow keys, backspace, and return all do sensible things
  213. from the table as well as the list view. (Ezust)
  214. - (jedit-bugs 1533925) Alpha-numerics are no longer being "passed through"
  215. from the FSB to the editpane. (Alan Ezust)
  216. - When multiple views are open, closing a buffer will not change the active view
  217. (Bug #1518400) (Matthieu Casanova)
  218. - Fixed Untitled buffer added to the Recent file list (Bug #1518620)
  219. (Matthieu Casanova)
  220. - MiscUtilities.canonPath() now trim redundant / and \ at the end of the path
  221. of Dos derived OS (bug that can be seen when typing some / in the end of the
  222. path field of VFS browser) (Matthieu Casanova)
  223. - SF bug 1526487: ArrayOutOfBoundException in VFS Browser. (Matthieu Casanova)
  224. - SF bug 1519237: Regular Expression Search in 4.3pre5
  225. regexp search should be done with Pattern.MULTILINE enabled, otherwise
  226. ^ and $ will only match the start and end of the buffer. (Marcelo Vanzin)
  227. - SF bug 1517395: Wrong character encoding in killring.xml
  228. fix bug in Java 1.5 by saving ASCII control characters as character
  229. entities; since 1.4 doesn't support XML 1.1, if killring.xml has
  230. character entities it will fail (so the bug will still be there
  231. when running on 1.4). (Marcelo Vanzin)
  232. - SF bug 1523261: "Regular expression " and "Ignore case"
  233. There was a stray "flags" variable in PatternSearchMatcher.nextMatch()
  234. that was clobbering the instance variable with the same name (that
  235. actually contained the needed flags for the compiled pattern).
  236. (Marcelo Vanzin)
  237. - SF bug 1523117: Add explicit fold in PHP mode inserts wrong comments
  238. The "DEF_CLASS" rule set in the php mode file didn't have any line
  239. or range comments declared in the props section; so the code was now
  240. picking up the porperties for the default rule set, which had the
  241. HTML-style range comment instead of the PHP line comment. This is
  242. probably due to the XML parser change - the old code was probably
  243. propagating some property of another rule set to the DEF_CLASS rule
  244. set, since it used global variables for a bunch of things. So this
  245. might show up in other places, and might need a better fix...
  246. (Marcelo Vanzin)
  247. - SF bug 1524032: Line number not highlighted when the line is selected
  248. (Nicholas O'Leary)
  249. - SF bug 1524155: replace all within selection doesn't give feedback
  250. (Nicholas O'Leary)
  251. - SF bug 1524191: s() method from startup.bsh doesn't work
  252. (Nicholas O'Leary)
  253. - SF bug 1516994: Fixed infinite recursion possibility
  254. in ManagePanel.java when unloading certain plugins
  255. with circular dependencies due to services. (Alan Ezust)
  256. - No exception thrown when adding an explicit fold to a read only buffer.
  257. (#1549282) (Matthieu Casanova)
  258. - Deep indent fixed when using tabs (Matthieu Casanova)
  259. }}}
  260. {{{ Syntax Highlighting
  261. - Added mysql mode.
  262. - Added django templates mode. (Ollie Rutherfurd)
  263. }}}
  264. }}}
  265. {{{ Version 4.3pre5
  266. Thanks to Alan Ezust, Jeffrey Hoyt, Daniel Hahler, Dale Anson,
  267. Björn "Vampire" Kautler, Matthieu Casanova, Xuân Baldauf,
  268. Nicholas O'Leary and Marcelo Vanzin for contributing to this release.
  269. {{{ Reinstall required
  270. - Gnu.regexp is no longer used by jEdit, in favor of java.util.regex
  271. Since the regexp removal has also affected the modes handling and thus
  272. the files in the "modes" directory, just updating "jedit.jar" of an
  273. existing jEdit installation does not suffice. You would get weird
  274. errors in this case. Thus, a full reinstall is required.
  275. }}}
  276. {{{ Keyboard handling changes
  277. - There is a new option, "simplified keyboard handling"
  278. under "general options" to switch between two keyboard handling modes.
  279. Keyboard event workaround handling has been substantially changed (as
  280. a fix to bug 1488047). This may greatly affect the way your keys work.
  281. Please report any bugs regarding this (and please drop a note about
  282. this bug in bug 1488047).
  283. (Xuân Baldauf).
  284. }}}
  285. {{{ API Changes
  286. - DockableWindowManager has a new method, setDockableTitle()
  287. which allows you to set the string in the title bar
  288. for floating dockables. Now docked buttons use the dockableName.label
  289. property instead of the .title. This way, we can have have long titles
  290. in the floater, and short strings on the dock button. (Alan Ezust)
  291. - Macros.Macro.invoke() has been rewritten to begin the compoundEdit on the buffer that is
  292. active buffer before the macro gets invoked, and end the compoundEdit on the buffer that is active
  293. after the macro is invoked opposed to end the compoundEdit on the buffer it was started on.
  294. JEditTextArea.setBuffer() has been rewritten to end a compoundEdit on the old buffer and start
  295. a new compoundEdit on the new buffer if there were a compoundEdit in progress.
  296. (bug #1469996). (Björn "Vampire" Kautler )
  297. - New class: org.gjt.sp.jedit.msg.CaretChanging, for alerting
  298. other plugins that the caret position is about to change.
  299. This allows Navigator to be alerted of sidekick selections. (Alan
  300. Ezust)
  301. - MiscUtilities.isBinaryFile() method that will check if a file is binary or not (Matthieu Casanova)
  302. - MiscUtilities.autodetect() this method tries to autodetect the file encoding. It was moved
  303. from BufferIORequest (Matthieu Casanova)
  304. - New utility class : IOUtilities that will contains static IO methods that
  305. depends only on JDK. (Matthieu Casanova)
  306. - New utility class : StandardUtilities that will contains static
  307. methods that depends only on JDK (Matthieu Casanova)
  308. - jEditBuffer.getRegexProperty() has been removed;
  309. jEditBuffer.getPatternProperty() was added to replace it.
  310. (Marcelo Vanzin)
  311. - MiscUtilities.quickSort() methods and MiscUtilities.Compare class are now deprecated
  312. use Arrays.sort() and Collections.sort() (Matthieu Casanova)
  313. - MiscUtilities.parseXML() and MiscUtilities.findEntity() were added.
  314. They're mainly used internally to ease XML parsing, but can safely
  315. be used by other people. Please refer to the javadoc documentation
  316. about how these methods operate. (Marcelo Vanzin)
  317. - org.gjt.sp.jedit.search.RESearchMatcher has been removed as part
  318. of the gnu.regexp removal; it didn't make sense to write extra
  319. code to keep that class working. (Marcelo Vanzin)
  320. - due to the change to support java.util.regex, the signature for
  321. org.gjt.sp.jedit.search.SearchMatcher.nextMatch() has changed.
  322. This means that any plugin that uses SearchMatcher or one of its
  323. implementations directly will break. (Marcelo Vanzin)
  324. - Added Log.log(urgency, source, message, exception). (Xuân Baldauf)
  325. }}}
  326. {{{ Miscellaneous
  327. - SearchReplace dialog now supports additional options,
  328. for Directory Search: "skipHidden" and "skipBinary".
  329. Now you can skip over hidden directories/files, as well
  330. as binary files. (Matthieu Casanova & Alan Ezust)
  331. - Updated Ruby Edit-mode to v0.6.2
  332. The Ruby-Mode now highlights numbers correctly (bug #1489847). (Björn "Vampire" Kautler)
  333. - The "Recent files" menu can now be reaches with the keystroke sequence
  334. "Alt+F F" (bug 1488066) (Xuân Baldauf)
  335. - The "Recent files" menu displays pathname information in the status
  336. line now also in cases the keyboard is used to choose menu items
  337. (bug 1488060) (Xuân Baldauf)
  338. - Drag&Drop now accepts multiple files in KDE environment. (bug 1487647)
  339. (Xuân Baldauf)
  340. - Mode_Switcher macro fixed to stop InvocationTargetException
  341. (Nicholas O'Leary)
  342. - Add explicit fold when start and end of selection are in different edit mode
  343. (bug #1159659) (Matthieu Casanova)
  344. - Caret position of previously edited files is restored on startup (bug # 1486706)
  345. (Dale Anson)
  346. - When saving a file with .gz extension the buffer is gzipped (it was not working when using two stage save.)
  347. It also remove GZIPPED property if the buffer name was ending with .gz and is not anymore
  348. (Matthieu Casanova)
  349. - All classes using the gnu.regexp packages have been changed to use
  350. java.util.regexp. This needed some refactoring of a few components
  351. inside the syntax highlighting and search subsystems. This means
  352. that mode files using regexps and searches now should use the
  353. java.util.regex syntax instead of the old syntax.
  354. (Marcelo Vanzin)
  355. - All classes using the com.microstar.xml packages have been changed to
  356. use JAXP to parse XML. Which means that some classes have different
  357. base classes now, but I don't expect anyone to be inheriting from any
  358. of those. Also, this means that XML parsing will be a little bit more
  359. "correct" now, in the sense that it will check the files against their
  360. DTDs (this needed some changes to the DTDs shipped with jEdit since
  361. some of them had errors). (Marcelo Vanzin)
  362. - The build.xml got rebuilt to allow building the MacOS-Plugin on any platform
  363. and to make it easier to build the distribution files (DEB, Java-Installer,
  364. Mac OS X DMG, TGZ Slackware Package, Windows-Installer, SRC-package, PDF-Manuals).
  365. (Björn "Vampire" Kautler)
  366. }}}
  367. }}}
  368. {{{ Version 4.3pre4
  369. Thanks to Neil Bertram, Onur Turgay, Ollie Rutherfurd, Dale Anson, Xuân Balduf,
  370. Nathan Blair, Peter Adolphs, Carmine Lucarelli, Matthieu Casanova, Alan Ezust,
  371. Daniel Hahler, Marcello Vanzin, Slava Pestov, Björn "Vampire" Kautler, and Jeffrey Hoyt for
  372. contributing to this release.
  373. {{{ Syntax Highlighting
  374. - TypoScript syntax highlighting (Neil Bertram).
  375. - Myghty template syntax highlighting (Ollie Rutherfurd)
  376. - JavaCC syntax highlighting (Dale Anson)
  377. }}}
  378. {{{ API Changes
  379. - better fix for 1449909:
  380. Create a new message (ViewUpdate.ACTIVATED) to indicate that a different
  381. view was activated. (Marcello Vanzin)
  382. - send a ViewUpdate.EDIT_PANE_CHANGED when changing the active view.
  383. (Marcello Vanzin)
  384. - EditAction now has a setName() method, allowing one to change the name.
  385. - New BufferChanging class, extends EditPaneUpdate with a getBuffer()
  386. method which returns the about-to-be opened buffer. (Alan Ezust)
  387. }}}
  388. {{{ Miscellaneous
  389. - TextAreaTransferHandler patch 1487647 Drag 'n' drop from KDE now works. (Xuân Baldauf)
  390. - GUIUtilities patch 1275607 for "find" dialog (Xuân Baldauf)
  391. - GUIUtilities patch 1467821 for dual-head displays applied (Nathan Blair)
  392. - patch 1467311 applied (Peter Adolphs) Restore previously open files on startup
  393. - Macro list is now sorted so that directories show up first
  394. (carmine.lucarelli)
  395. - jEdit now supports LCD Subpixel Anti-Aliasing (JDK 1.6 only).
  396. Global Options -> TextArea -> Anti-Aliased Smooth Text -> Subpixel
  397. (Onur Turgay / Alan Ezust)
  398. - jEdit will ask for confirmation before overwriting read only files.
  399. If yes, it will activate two stage save if the VFS is capable of
  400. renaming files. If no, the file will not be saved (Matthieu Casanova).
  401. -IO progress monitor are indeterminate if the maximum value of the WorkThread is 0
  402. (Matthieu Casanova)
  403. -Hyper search result panel now indicates the processed files
  404. (Matthieu Casanova)
  405. }}}
  406. {{{ Bug Fixes
  407. - Fix a deadlock when using directory search (Slava Pestov).
  408. -Deep indent was broken since 4.3pre2 and is now fixed (Matthieu Casanova)
  409. }}}
  410. }}}
  411. {{{ Version 4.3pre3
  412. Thanks to Bertalan Fodor, Björn "Vampire" Kautler, David Chan, James Turk,
  413. Loren Charnley, Matthieu Casanova, Michael Macnair, Nicholas O'Leary,
  414. Alan Ezust, Slava Pestov, Ollie Rutherfurd, Jeffrey Hoyt, Marcelo Vanzin,
  415. Rob (copy_paste), and Simon Ruggier for contributing to this release.
  416. {{{ Search and Replace
  417. - HyperSearch results can now be displayed in a folder hierarchy tree
  418. view. This makes it easier to see file locations when there are matches
  419. for many different files from a deep folder structure. To activate,
  420. right click on the top search node in the result tree and select
  421. "Toggle Tree View". If multiple results is enabled, the tree view is
  422. only toggled for the selected search.
  423. There are also new context menu options for the result tree
  424. that only display in tree view mode when a folder node is selected.
  425. There are options to expand/collapse all child nodes, and another to
  426. exeucte a "New Search From Here", which displays the search dialog
  427. initialized with the path from the selected result tree folder node.
  428. }}}
  429. {{{ Syntax Highlighting
  430. - Gnuplot syntax highlighting (Loren Charnley).
  431. - Updated PHP syntax highlighting (Matthieu Casanova).
  432. - Fixed end token of heredoc that must start at beginning of the line in
  433. PHP (Matthieu Casanova)
  434. - Updated MIPS R2000 assembly syntax highlighting (James Turk).
  435. - Updated Java and LaTeX syntax highlighting (Alexander Klimetschek).
  436. }}}
  437. {{{ File System Browser
  438. - Pressing / and BACKSPACE in the filename field no longer does
  439. completion. Now, you must press TAB to complete.
  440. }}}
  441. {{{ Miscellaneous
  442. - JARClassLoader now reports package information (Bertalan Fodor).
  443. - A new macro, SplitPane grow, was added to the macros/interface
  444. directory. (Alan Ezust)
  445. - A new macro, ToggleHeaderSource, for C/C++ editing. (alan ezust)
  446. - A single-line selection no longer hides the line highlight, for
  447. better readability.
  448. - The selection is now saved between buffer switches.
  449. - ActionContext now remembers overridden actions, so another plugin
  450. can override builtin actions (via listing one in actions.xml with the same name).
  451. When the plugin is unloaded, the original action will be restored. (alan ezust)
  452. plugins that use this feature: infoviewer, xsearch, and optional.
  453. - Updated "Display Abbreviations", "Hex Convert" and "HyperSearch
  454. Results to Buffer" macros.
  455. - Updated "Insert Buffer Properties" macro (Björn "Vampire" Kautler).
  456. - The plugin manager option pane now displays the name of the mirror
  457. currently used (Matthieu Casanova).
  458. - URLs dragged into the textarea are loaded rather than the URL pasted
  459. (Nicholas O'Leary).
  460. - Deselecting a plugin in the Plugin Manager persists between reloads of
  461. jEdit (Nicholas O'Leary).
  462. - Help Browser has an improved history model with drop-down style
  463. forward and back buttons.
  464. - Can specify caret column number in addition to line number when
  465. opening a file (+line:<line>,<column>) (Bertalan Fodor).
  466. - Added a new EventListener to notify subscribing plugins when jEdit was
  467. looking for prefix completions and when it was done. These
  468. notifications are for the ShortcutDisplay plugin.
  469. }}}
  470. {{{ Bug Fixes
  471. - The following Java code did not indent properly:
  472. if(foo)
  473. {
  474. foo(bar,
  475. baz);
  476. }
  477. - The following Java code did not indent properly:
  478. foo(bar(
  479. <--- should not have two levels of indent here
  480. - The soft wrap state is no longer reset when a buffer is saved. This
  481. was pointless and slowed down the editor.
  482. - Screen line management had an off-by-one error, so in some situations
  483. the vertical scroll bar state would become inconsistent.
  484. - Registers dockable window had a few problems (Nicholas O'Leary).
  485. - Word count would show -1 for an empty buffer (Michael Macnair).
  486. - Fixed corrupted cursor image problem on Mac OS X.
  487. - Complete word popup is now always positioned within the screen bounds.
  488. - The last physical line index was not updated when saving files
  489. sometimes, resulting in exceptions when clicking in the text area.
  490. - If rectangular selection mode was enabled and you clicked beyond the
  491. end of the line in a read-only buffer, jEdit would beep.
  492. - Using 'Delete Lines' with folding could mess up the vertical scroll
  493. bar.
  494. - File system browser's right click menu now contains the "Plugins" menu
  495. (Nicholas O'Leary).
  496. - Fixed file system browser's left arrow key behavior (David Chan).
  497. - The startup script created by the Java-based installer on Mac OS X now
  498. adds the Cocoa classes to jEdit's class path, so the Mac OS plugin
  499. should work with no further tweaking.
  500. - Fix race condition when there were buffers in the perspective, as well
  501. as buffers specified to open on the command line.
  502. - If windows were docked in the top docking area, the action bar would
  503. display in the wrong place.
  504. - After receiving a PropertiesChanged on EditBus, the PluginManager will
  505. check if the mirror was changed before updating the plugin list
  506. (Matthieu Casanova).
  507. - Fix for drag'n'copy text to lower position in same textarea - #1246823
  508. (Nicholas O'Leary)
  509. - Register Viewer fixes (Nicholas O'Leary).
  510. - Bug 1173630 fixed : Format paragraph with the caret at the end of it
  511. (Matthieu Casanova).
  512. - Mixed parser rules are detected when adding explicit fold
  513. (Matthieu Casanova).
  514. - Bug 1085135 fixed : when typing ctrl+S jEdit will not ask the user if
  515. he wants to override the read only flag on the file
  516. (Matthieu Casanova)
  517. - NPE fixed when removing hyper search result that aren't cached
  518. (Matthieu Casanova)
  519. - NPE fixed when using turkish locale (889520)
  520. }}}
  521. {{{ API Changes
  522. - bug 1386702: DockableWindowManager now sends an EditBus message
  523. DockableWindowUpdate.ACTIVATED when a dockable is activated.
  524. And a corresponding DEACTIVATED message when it is deactivated. (alan ezust)
  525. - A new EditBus message has been introduced: EditPaneUpdate.CHANGING
  526. for Navigator (or other EBPlugins) to catch caret positions
  527. just before buffers are changed. (Alan ezust)
  528. - A new EditBus message has been introduced: BufferUpdate.CLOSING
  529. for EBPlugins to catch events just before buffers are closed.
  530. (Alan ezust)
  531. - Selecting multiple directories in the file chooser dialog box is now
  532. supported; just pass true as the last parameter (Matthieu Casanova):
  533. GUIUtilities.showVFSFileDialog(view,null,
  534. VFSBrowser.CHOOSE_DIRECTORY_DIALOG,true)
  535. - Now that the text area is independent of the rest of jEdit, various
  536. text area-related APIs that used to take org.gjt.sp.jedit.Buffer
  537. instances now take org.gjt.sp.jedit.buffer.JEditBuffers:
  538. - BufferChangeListener and BufferChangeAdapter are now deprecated. Use
  539. BufferListener instead.
  540. - FoldHandler.getFoldLevel() now takes a JEditBuffer as a parameter.
  541. - VFS.copy() methods added (Matthieu Casanova).
  542. - MiscUtilities.copyStream() and MiscUtilities.closeQuietly() methods
  543. added (Matthieu Casanova).
  544. }}}
  545. }}}
  546. {{{ Version 4.3pre2
  547. Thanks to Bertalan Fodor, Dirk Moebius. Jarek Tuszynski, Joshua Gertzen,
  548. Nicholas O'Leary, and Simon Ruggier for contributing to this release.
  549. {{{ Auto Indent
  550. - The auto indent engine has been rewritten from scratch to provide
  551. more accurate indentation for a variety of languages, including Java,
  552. Common Lisp, and Factor.
  553. - Aligned bracket indent is done as before with "indentOpenBrackets" and
  554. "indentCloseBrackets" properties. Unaligned indent was previously
  555. enabled by setting "lineUpClosingBrackets" to "false". Now, you must
  556. specify "unalignedOpenBrackets" and "unalignedCloseBrackets"
  557. properties.
  558. The upside is that both aligned and unaligned indent can be used in
  559. the same edit mode. For example, in Java source, the following piece
  560. of code is indented correctly:
  561. public void apply(Buffer buffer, int thisLineIndex,
  562. int prevLineIndex, int prevPrevLineIndex,
  563. List indentActions)
  564. {
  565. // ...
  566. }
  567. - The new "unindentThisLine" property, whose value is a regexp, allows
  568. indentation of Java switch/case constructs:
  569. switch(foo) {
  570. case bar:
  571. hello();
  572. default:
  573. yo();
  574. }
  575. - In order to immediately re-indent the line as soon as the case or
  576. default statement is terminated with a :, the "electricKeys" property
  577. is set to a list of characters whose input triggers a re-indent of the
  578. current line.
  579. - The new "unindentNextLines" property, whose value is a regexp, allows
  580. indentation of Factor colon definitions -- in particular, after the ;
  581. everything must be unindented:
  582. : refers? ( to obj -- ? )
  583. f swap [ pick eq? or ] each-slot nip ;
  584. ! Indent returns here
  585. }}}
  586. {{{ Syntax Highlighting
  587. - Updated LilyPond syntax highlighting (Bertalan Fodor).
  588. - Rd syntax highlighting (Jarek Tuszynski).
  589. - Updated ASP syntax highlighting (Simon Ruggier).
  590. - Slate (http://slate.tunes.org) syntax highlighting.
  591. }}}
  592. {{{ File System Browser
  593. - The file system now lazily retreives file system attributes. For
  594. plugins that use the VFS API, this has important implications; see
  595. the below "API Changes" section. (Joshua Gertzen).
  596. - Previously, file system browser columns would resize to fit all the
  597. attributes of all visible files. Now, this is not possible, so instead
  598. columns can be resized manually and their size is preserved.
  599. }}}
  600. {{{ Miscellaneous
  601. - When an item from the "Paste Previous" or "Paste Deleted" dialog boxes
  602. is inserted, it is moved to the top of the list.
  603. - Pasting now preserves the tall caret.
  604. - New text areas viewing a buffer inherit the fold visibility map from a
  605. previous text area.
  606. - The right-click popup for HyperSearch results nodes has three new
  607. entries:
  608. - Open
  609. - Open in New View
  610. - Open in New Plain View
  611. - Open in New Split
  612. - On Mac OS X, the close box is shown with a different appearance if a
  613. visible buffer has unsaved changes.
  614. - Dropping text into the text area now selects it (Nicholas O'Leary).
  615. - The cursor is hidden when you start typing.
  616. - Renamed 'Delete Line' to 'Delete Lines'; now does the right thing if
  617. more than one line is selected. Same for 'Join Lines' versus
  618. 'Join Line'.
  619. - When the search bar loses focus, the currently entered text is added
  620. to the history.
  621. - "Format Paragraph" now preserves the caret position.
  622. }}}
  623. {{{ Bug Fixes
  624. - Fix NullPointerException in file system roots list.
  625. - Search and replace dialog's "Search subdirectories" checkbox did not
  626. have an Alt-key mnemonic.
  627. - Binding actions to numeric keypad keys should now work better.
  628. - Pressing something like A+f l where A+f was a prefix but A+f l was
  629. not bound would insert l into the buffer, which was undesirable.
  630. - The plugin manager did not select a plugin's dependencies when the
  631. plugin was selected for installation.
  632. - Invoking 'Expand Fold' when the fold is expanded would move the caret
  633. to the wrong place.
  634. - Changing the wrap mode didn't update screen line counts, causing
  635. various problems.
  636. - The custom history text field border with the popup widget is back.
  637. - Fixed a memory leak. Token markers were retaining the line segment
  638. they were given to tokenize -- in some cases, this line segment could
  639. hang around for a while, and was huge.
  640. - Fix performance regression when deleting text; too many lines were
  641. being repainted.
  642. - 'Cut Append' and 'Copy Append' commands did not update the Registers
  643. dockable.
  644. - Fix Control key on Mac OS X.
  645. - Changing the font size did not update the vertical scrollbar.
  646. - JSwat plugin did not work when running under Java 5 due to a bug in
  647. jEdit's JARClassLoader (Dirk Moebius).
  648. - Fix some problems with paths that end with multiple file separators.
  649. - Inserting a long line of text did not always scroll horizontally as
  650. required.
  651. - Split panes now have resize weight, ensuring more intuitive behavior
  652. when a split view is resized.
  653. - If autosave kicked in while the 'Close All Buffers' dialog was open,
  654. then the perspective would be saved, and the wrong buffer would be
  655. restored on the next startup.
  656. - Fix an exception from being shown when loading a file with a malformed
  657. .marks file.
  658. - Fix possible ArrayIndexOutOfBoundsException when deleting text after
  659. decreasing the number of history elements.
  660. - Double clicking the middle mouse button now pastes twice, instead of
  661. pasting and selecting a word.
  662. }}}
  663. {{{ API Changes
  664. - View.updateTitle() is now public.
  665. - VFS.DirectoryEntry has been deprecated because its interface is not
  666. conductive to lazy initialization. Virtual file systems should now
  667. return instances of org.gjt.sp.jedit.io.VFSFile, and instead of
  668. reading/writing the public fields of that class (they are public but
  669. deprecated for VFS.DirectoryEntry compatibility), you should call the
  670. accessor/mutator methods.
  671. - A new MiscUtilities.pathsEqual() method has been added to check for
  672. equality of path names while ignoring case sensitivity on Windows.
  673. }}}
  674. }}}
  675. {{{ Version 4.3pre1
  676. Thanks to Cameron Morrison, Igor Lesik, Jim Lawton, Marcelo Vanzin,
  677. Nicholas O'Leary and Trevor Harmon for contributing to this release.
  678. {{{ Search and Replace
  679. - When invoking "Find", "Incremental Search for Word" or "HyperSearch
  680. for Word" actions, if regular expression search is on, any special
  681. characters in the selection are automatically escaped.
  682. - Find dialog box now has fields that accept multi-line input. Pressing
  683. ENTER activates the "Find" button; press C+ENTER to insert lines in
  684. the field.
  685. - Variables such as "view", "buffer" and "textArea" can now be used from
  686. BeanShell replace expressions.
  687. }}}
  688. {{{ Syntax Highlighting
  689. - Literate Haskell syntax highlighting (Cameron Morrison).
  690. - Updated D syntax highlighting (Jim Lawton).
  691. - Forth syntax highlighting.
  692. - Motorola 68000 assembler syntax highlighting (Igor Lesik).
  693. }}}
  694. {{{ Scripting
  695. - Macros written in the UTF-8Y and UTF-16 encodings are auto-detected.
  696. - Added Macros->Repeat Last Macro command. This used to be in 4.1, but
  697. got removed in 4.2, and now its back due to popular demand.
  698. }}}
  699. {{{ Miscellaneous
  700. - jEdit no longer runs with Java 2 version 1.3. Java 2 version 1.4 or
  701. 1.5 is now required.
  702. - If the wrap margin is set to 0 and soft wrap is enabled, wrapping is
  703. now performed at the text area width. This used to be in 4.1, but
  704. got removed in 4.2, and now its back due to popular demand.
  705. - Rename Autosave & Backup option pane to Save & Backup, move some
  706. options from General pane there (Marcelo Vanzin).
  707. - Added Ant target for building a MacOS X .app package (Trevor Harmon).
  708. - Added Register and Marker dockables (Nicholas O'Leary).
  709. - "Rectangular Selection" command now changes the state of the current
  710. selection to match the flag.
  711. - "Select All" preserves current scroll position.
  712. - When closing jEdit, open buffers are not added to the "Recent Files"
  713. list if the "Restore previously open files on startup" option is on.
  714. - View.goToBuffer() will try to find a non-zero height text area if
  715. possible.
  716. - Pressing TAB now preserves the tall caret, if there is one.
  717. - When a directory is reloaded, it is no longer moved to the top of the
  718. file system browser's history list.
  719. - Added View->Splitting->Restore Split action -- it recreates a
  720. split pane configuration as it was before the most recent 'Unsplit'.
  721. }}}
  722. {{{ Bug Fixes
  723. - "Backup directory" feature now works if the file being edited is on a
  724. different filesystem than the backup directory (Marcelo Vanzin).
  725. - Don't use two-stage save if the file's parent directory is not
  726. writeable (Marcelo Vanzin).
  727. - Minor fix for handling of the recent buffer when the current buffer
  728. was closed.
  729. - Fix StringIndexOutOfBoundsException when opening files with a
  730. malformed XML PI.
  731. - Removing open files from the favorites list didn't work.
  732. - calling readNextChar() no longer clears the status bar after the
  733. script returns.
  734. - Fix potential ArrayIndexOutOfBoundsException when indenting lines
  735. containing unmatched brackets.
  736. - The "deselecting this plugin will deselect dependencies" message did
  737. not give the actual list of dependencies.
  738. - Fixed NullPointerException when selecting QuickNotepad menu items
  739. before opening QuickNotepad first.
  740. - Register persistence was broken and didn't work in many cases.
  741. }}}
  742. {{{ API Changes
  743. - New org.gjt.sp.jedit.gui.HistoryTextArea class can be used by
  744. plugins.
  745. - Removed EditPlugin.JAR, deprecated since 4.2.
  746. - Removed Buffer.getRootElements(), Buffer.getParagraphElement() and
  747. Buffer.getDefaultRootElement() methods, deprecated since jEdit 4.0.
  748. }}}
  749. }}}
  750. jEdit buffer local properties:
  751. :wrap=hard:maxLineLen=72:indentSize=2:
  752. :folding=explicit:collapseFolds=2: