PageRenderTime 66ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/www/trunk/htdocs/CHANGES40.txt

#
Plain Text | 1333 lines | 1194 code | 139 blank | 0 comment | 0 complexity | cf8b63eab91ec843a60b6162e8f48237 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
  1. JEDIT 4.0 VERSION HISTORY
  2. * Version 4.0.3
  3. + Bug Fixes
  4. - Added missing check for control key being down in text area mouse
  5. handler.
  6. + API Changes
  7. - Buffer.getRuleSetAtOffset() method is now public.
  8. * Version 4.0.2
  9. Note that jEdit 4.0.1 was never released.
  10. + Enhancements
  11. - Documentation is now generated with DocBook-XSL 1.51.1 stylesheets.
  12. + Bug Fixes
  13. - Fixed silly windows backup saving bug.
  14. - Fixed minor problem when Control-clicking characters in the text area.
  15. - Fixed print output spacing problem.
  16. * Version 4.0.1
  17. + Bug Fixes
  18. - A single invalid file system browser coloring regular expression no
  19. longer stops the remaining expressions from being loaded.
  20. - Fixed a bug in the undo request merging code that would occur
  21. sometimes when multiple consecutive pieces of text were removed one
  22. after the other.
  23. - Fixed a bug in the undo request merging code that would occur when
  24. a selection was replaced with some text.
  25. - If the splash screen was disabled, running jEdit with the -nogui and
  26. -nobackground command line arguments didn't work, because the AWT
  27. event thread was never started, because no GUI calls were made, and as
  28. a result jEdit exited immediately after starting up instead of
  29. entering the event loop.
  30. - Fixed erronous assignment in VFS browser code that would cause
  31. NullPointerExceptions after opening a file in a new view.
  32. - Triple-clicking on the last line of a file printed an
  33. ArrayIndexOutOfBoundsException.
  34. - One of the tips of the day referred to an invalid URL.
  35. - Previously, the filesystem browser opens the clicked directory if
  36. clickCount == 2. This doesn't work if you double click once and then
  37. immediate double click again on a directory (or a file) at the same
  38. physical location, because the 2nd double click is reported with a
  39. click count of 3 and 4. (Alexander Maryanovsky)
  40. - A few printing bugs fixed, including the notorious print output
  41. spacing problem.
  42. - The help viewer should no longer open behind the view when jEdit is
  43. run for the first time on some Java implementations.
  44. - StatusBar.MemoryIndicator.removeNotify() was missing a
  45. super.removeNotify() call. This could cause 'InputContext' errors when
  46. exiting jEdit. (Alexander Maryanovsky)
  47. - The plugin manager did not delete downloaded files from the
  48. 'PluginManager.download' directory on some operating systems, due to a
  49. missing close() call.
  50. - JEditTextArea.goToEndOfLine() (bound to END if 'smart home/end' is
  51. off, or END END if its on) followed by goToNextLine() would move the
  52. cursor to the first column.
  53. - Preview_Javadoc_of_Buffer.bsh macro used the deprecated
  54. DockableWindowManager.getDockableWindow() method.
  55. - Text area would not automatically scroll to the caret location when
  56. working with multiple views under certain circumstances.
  57. * Version 4.0final
  58. + Enhancements
  59. - Updated POV-Ray syntax highlighting (Jan Schäfer)
  60. - Hidden files are no longer listed in the 'Macros' menu
  61. - Minor improvements to RPM Spec syntax highlighting
  62. - Updated Python mode (Ollie Rutherfurd)
  63. - Documentation updates
  64. + Bug Fixes
  65. - roots: filesystem tweak didn't work (Carmine Lucarelli)
  66. - After doing a HyperSearch in a selection, the HyperSearch Results
  67. window would always say 'found 0 occurrences in 0 files'
  68. - Using 'Save As' and entering a file name ending with .gz did not GZip
  69. the resulting file
  70. - Fixed minor boo-boo when buffer sorting was on and several files with
  71. the same name were open
  72. - Browser view didn't check key events for modifiers so if the browser
  73. had focus and a shortcut key was pressed a semi-random item would be
  74. selected in the file list
  75. - Added workaround for JDistro desktop
  76. - Fixed possible ArrayIndexOutOfBoundsException if a line is
  77. soft-wrapped to more screen lines than can be displayed at once. Note
  78. that this case still won't be handled very well, but at least jEdit
  79. will no longer throw a fit when it occurs
  80. - When opening a floating dockable, the default component will be given
  81. focus. Previously this was only done for docked windows
  82. - Fixed typo in General option pane
  83. - Fixed race condition in work thread pool that could result in blank
  84. files on startup
  85. - Fixed typo in css.xml
  86. - Fixed minor problem in HTML version of user's guide
  87. - Fixed possible "Unbalanced begin/endCompoundEdit()" if BeanShell
  88. replace fails
  89. - Fixed an off-by-one error that would cause Control-clicks beyond the
  90. end of a line to fail
  91. * Version 4.0pre9 (a.k.a 4.0 release candidate 2)
  92. + Enhancements
  93. - The plugin manager now downloads the plugin list in GZipped format
  94. from the server. This should especially be noticable for dial-up users
  95. - Minor search bar layout tweak
  96. - The roots: filesystem should now show extra information when running
  97. on Windows with JDK 1.4 (eg, you should able to see the UNC paths of
  98. network drive mappings)
  99. - Documentation updates
  100. + Bug Fixes
  101. - Fixed QuickNotepad build.xml
  102. - Explicit folding did not behave correctly if a line contained both the
  103. start and end strings ({{{ and }}}) (Ollie Rutherfurd)
  104. - If a plugin depended on a plugin whose jEdit version requirement was
  105. higher than the installed jEdit version, the 'Update Plugins' command
  106. would throw a NullPointerException
  107. - Fixed stylesheet problem in the PDF output
  108. - Changing the 'print tab size' setting had no effect
  109. - Changed tip of the day that mentioned an obsolete version of
  110. WheelMouse
  111. - Fixed possible ArrayIndexOutOfBoundsException in findMatchingBracket()
  112. - Fixed some bugs in HyperSearch when searching for .*, .*$ and $
  113. regular expressions
  114. - Removed custom quicksort implementation from MiscUtilities (the
  115. methods are still there, but they just call
  116. java.util.Collections.sort())
  117. - Fixed a few more possible ClassCastExceptions due to use of
  118. non-typesafe buffer property accessors
  119. - If a search matcher cannot be created (eg, invalid regexp) the
  120. HyperSearch results window will no longer be stuck with a
  121. 'Searching...' message
  122. - Fixed gutter autoscroll
  123. * Version 4.0pre8 (a.k.a 4.0 release candidate 1)
  124. + New Features
  125. - Added syntax highlighting for output of Hex plugin (Andre Kaplan)
  126. - IBM Informix 4GL syntax highlighting (Vicente Salvador)
  127. + Enhancements
  128. - Documentation updates
  129. - 'Quick HyperSearch' with a selection, and 'Quick HyperSearch for Word'
  130. commands will now work even if the search bar is disabled
  131. - BeanShell 1.2b5 included
  132. - jEditLauncher 4.0.4 (John Gellene)
  133. - jedidiff.exe: new command line utility for displaying graphical
  134. comparison of two files using jEdit and the JDiff plugin
  135. - jedit.exe: new /1 command line switch that reads the remainder of
  136. the command line as a single file path, regardless of whitespace
  137. (required for Internet Explorer integration)
  138. - jEdit_IE.reg.txt: new, optional Windows registry information file
  139. for integrating jEdit with Internet Explorer (version 5 or later) as
  140. an HTML editor
  141. + Bug Fixes
  142. - Fixed tip of the day that referred to the old S+BACK_SPACE/S+DELETE
  143. bindings
  144. - Due to a typo in 4.0pre7, text areas that didn't have focus would also
  145. scroll to the caret location on a buffer change. This was not supposed
  146. to happen
  147. - The text area will no longer scroll up and then down again on input if
  148. it is smaller than about six lines vertically
  149. - Added workaround for search dialog box losing focus after 'keep
  150. searching' message shown
  151. - If an error occurs while evaluating a BeanShell snippet during a
  152. 'Replace All', the replace operation is aborted. This saves you from
  153. having to click through an endless stream of "BeanShell error" dialog
  154. boxes
  155. - Status bar message shown while mouse was hovering over a macro menu
  156. item wasn't hidden after the menu item was selected
  157. - Fixed another soft wrap bug with syntax highlighting
  158. - Middle-mouse-drag (quick copy) failed if the selected region ended or
  159. began at the caret position
  160. - Changed behavior of numeric keypad keys once again. Since some Java
  161. versions have a broken Toolkit.getLockingKeyState() (hence there is
  162. no reliable way to know of NumLock is on), they now work as follows:
  163. - If an action is bound to a key, the action is executed when the key
  164. is pressed.
  165. - If no action is bound, the character is inserted when the key is
  166. pressed.
  167. - Cleaned up handling of changing fold handlers and 'collapsedFolds'
  168. property. This should fix a few obscure bugs
  169. - Consecutive backspaces of characters would not be merged into one undo
  170. - Updated to a gnu.regexp 1.1.5 CVS snapshot. This fixes the bug where
  171. replacing the regular expression $ with a string did not change the
  172. last line of the buffer
  173. - The file system browser's divider position would not be remembered if
  174. it was collapsed all the way
  175. - Layout of 'Install Plugins' dialog box was a bit broken
  176. - Added a workaround for bug on Windows where a few Alt-key sequences
  177. (Alt-Left, Alt-Right, Alt-Up, Alt-Down, Alt-PageUp, Alt-PageDown)
  178. inserted garbage in the text area
  179. - Firewall code would throw a NullPointerException on startup if the
  180. user name was non-null, but the password was empty
  181. - When doing a BeanShell replace, the last subexpression would not be
  182. stored in a variable
  183. - 'Write HyperSearch Results' macro did not work
  184. - Caret event would not be fired if inside a compound edit, a portion of
  185. text was changed after the caret, then a change was made before the
  186. caret
  187. - 'Run Other Macro' command would silently ignore files whose names did
  188. not match a registered macro handler
  189. + API Additions
  190. - Added new method: MiscUtilities.getFileNameNoExtension(String path)
  191. + API Changes
  192. - The 'rethrowBshErrors' parameter of the eval() and runScript() methods
  193. in the BeanShell class never did anything, so methods with that
  194. parameter have been deprecated:
  195. - BeanShell.eval(View,NameSpace,String) replaces
  196. BeanShell.eval(View,String,boolean) and
  197. BeanShell.eval(View,NameSpace,String,boolean)
  198. - You should pass BeanShell.getNameSpace() as the value of the
  199. namespace parameter to mimic the behavior of the old form which did
  200. not accept a namespace.
  201. - BeanShell.runScript(View,String,Reader,boolean) replaces
  202. BeanShell.runScript(View,String,boolean,boolean) and
  203. BeanShell.runScript(View,String,Reader,boolean,boolean)
  204. - You can pass 'null' as a Reader now, to mimic the behavior of the
  205. old Reader-less form.
  206. - Some new methods were added that throw exceptions instead of showing
  207. error dialog boxes:
  208. BeanShell._eval(View,NameSpace,String)
  209. BeanShell._runScript(View,String,Reader,boolean)
  210. - I have also made error reporting to the user more consistent in the
  211. process.
  212. * Version 4.0pre7
  213. + Enhancements
  214. - Yet-another-optimization to file loading. Directory search should be
  215. even faster
  216. - Added a hack to prevent the WheelMouse plugin version 0.5 from being
  217. loaded under JDK 1.4
  218. - It should now be possible to bind shortcuts to the numeric keypad,
  219. although this might not work perfectly on all Java implementations due
  220. to implementation bugs
  221. - MacOS plugin version 1.1 (Kris Kopicki)
  222. - 'Expand Folds With Level' and 'Expand All Folds' commands now scroll
  223. the text area to the caret position if necessary
  224. - Documentation is now generated using DocBook-XSL 1.49, DocBook-DSSSL
  225. 1.76
  226. - Some people found it confusing that 'Delete to Start of Line' and
  227. 'Delete to End of Line' were bound to S+BACK_SPACE and S+DELETE,
  228. respectively, because it was easy to accidentally invoke them when
  229. you meant to press just BACK_SPACE or DELETE if you were typing some
  230. capitalized text. Now the shortcuts of these commands has been changed
  231. to CS+BACK_SPACE and CS+DELETE, respectively.
  232. - BeanShell 1.2b41 included
  233. - Documentation updates
  234. - Moved 'more accurate syntax highlighting' option from 'Loading and
  235. Saving' option pane to 'Text Area' option pane
  236. + Bug Fixes
  237. - First time jEdit was run, the file system's divider position would be
  238. such that the parent directories list would be invisible
  239. - 'End' key didn't work properly
  240. - Due to the changes in buffer property handling caused by the
  241. transition to the new document model, new files would always have the
  242. system default line separator and encoding, instead of the defaults
  243. that were specified in the 'Loading and Saving' option pane
  244. - Changing the fold mode by clicking in the status bar did not expand
  245. currently collapsed folds, which could result in portions of the
  246. buffer becoming inaccessable
  247. - Fixed ugly memory usage indicator on MacOS X
  248. - Even when 'quick copy' was disabled in the text area option pane, the
  249. middle-drag feature would still be active
  250. - Fixed ArrayIndexOutOfBoundsException when triple-clicking on the only
  251. line of a blank new file
  252. - Fixed repaint slowdown that would happen when switching menus on some
  253. JDKs
  254. - If the file system browser was set to show hidden files by default,
  255. the state of the 'show hidden files' menu item in the browser's
  256. "Commands" menu would be reversed
  257. - Fixed dockable panel layout problem if there were more buttons than
  258. can fit
  259. - Fixed a problem when dockable panels were larger than the size of the
  260. view
  261. - 'Select All' button in close dialog box didn't work
  262. - Shortcuts assigned to CA+x where x was a letter didn't work. I hope
  263. the fix for this didn't break AltGR sequences; let me know if it did
  264. - 'Run Last Macro' and 'Run Other Macro' commands assumed the macro was
  265. written in BeanShell (Mike Dillon)
  266. - 'Toggle Line Comment' macro was broken
  267. - Hard wrap didn't work properly if space was pressed at the end of a
  268. line whose length was exactly that of the wrap margin
  269. - Searching for .*, ^ by itself and $ by itself should now work
  270. - Fixed another problem with soft wrapping syntax highlighted buffers
  271. - Soft wrap would break if a line ended with enough whitespace to be
  272. longer than the wrap margin
  273. - When using 'save as' to save over an already opened buffer, the
  274. already opened buffer is closed first. This prevents having two open
  275. buffers with the same path (and possibly different contents)
  276. - Changed shortcut of 'go to next/previous bracket' to C+e C+[/C+] since
  277. shortcuts such as C+e [ are tricky to handle
  278. - Fixed possible NullPointerException in search and replace code
  279. - Replace All in selection now works with rectangular selections
  280. - Selection.Rect.getEnd(Buffer,int) returned incorrect values
  281. - 'Range Comment' command didn't work properly with a rectangular
  282. selection
  283. - Control-Shift clicks in the text area didn't work
  284. - Rectangular selections are now drawn correctly when soft wrap is
  285. active. Note they are still rather non-intuitive when used with soft
  286. wrap, as they rely on character offsets within physical lines, not
  287. screen positions in screen lines.
  288. - If a save operation fails, the buffer's modified flag is no longer
  289. cleared, and if it was a 'save as' the buffer is not renamed either
  290. - Path names of the form "X:foo" (with no \ after the drive letter), and
  291. UNC paths (\\servername\directory\file) will no longer cause problems
  292. on Windows
  293. + API Additions
  294. - View.addToolBar(int group, int layer, Component comp) method
  295. (Mike Dillon)
  296. - group: one of View.TOP or View.BOTTOM
  297. - layer: any integer, some predefined constants are in View.java. This
  298. lets you define the approximate position, from the top or bottom of
  299. the view, of the tool bar
  300. + API Changes
  301. - The current line highlight and collapsed fold highlight is painted as
  302. a text area extension now, so plugin extensions can now paint stuff
  303. below this highlight
  304. * Version 4.0pre6
  305. + New Features
  306. - Enhanced quick copy feature:
  307. - Dragging with the middle mouse button now creates a selection
  308. without moving the caret, when the mouse button is released the
  309. selected text is inserted at the caret position and the selection is
  310. deactivated
  311. - A status bar message is shown while middle-dragging to avoid
  312. confusion
  313. - This is disabled by default -- enable in Text Area option pane
  314. - Modula-3 syntax highlighting (Marcio Marchini)
  315. - Smalltalk syntax highlighting (Marcio Marchini)
  316. + Enhancements
  317. - Minor tweaks to VFS path code, that should make things a bit smoother
  318. for the FTP plugin
  319. - Updated Prolog syntax highlighting (Giulio Piancastelli)
  320. - Hard wrapping is now performed if there is only whitespace between the
  321. caret and the end of the line
  322. - Pressing the Up or Down arrow when the caret is the first or last line
  323. of the buffer moves the caret to the beginning and end of the buffer,
  324. respectively
  325. - Only one 'Search and Replace' dialog can be opened per view. Note that
  326. due to bugs in the Linux (and probably other Unix) Java
  327. implementation, the dialog has to be mometarily hidden and shown again
  328. for this to work
  329. - Favorites menu in file system browser is now sorted using a
  330. case-insensitive sort
  331. - Improved behavior of 'Plugins' menu when lots of plugins are installed
  332. - Slightly faster scrolling
  333. - Added 'Close' command to file dialog's right-click menu
  334. - Removed funky background token's "paint to end of line" behavior
  335. - Saving a file no longer causes cached token information to be flushed
  336. (doing this on a save was kind of pointless)
  337. - Entering a new path in a file dialog box and clicking 'Open' now sets
  338. the browser's location to that path
  339. - Home/end commands, up/down arrows are now soft-wrap-aware
  340. - Documentation is now built using DocBook-XSL stylesheets 1.48
  341. - Optimized text area's buffer event handler -- this should result in
  342. faster 'Replace All'
  343. - Addition to jEdit's glob syntax: "{!glob}" is converted to the
  344. regular expression "(?!glob).*"
  345. - You can double-click abbrevs in the 'Abbreviations' option pane to
  346. edit them
  347. - If the block caret is enabled, the overwrite caret is now 1/3 the
  348. height of a character
  349. - Documentation updates (me and John Gellene)
  350. - Changes to build.xml; documentation on compiling from source now part
  351. of the source distribution (README.SRC.txt)
  352. - Restored word command behavior to how it was in jEdit 3.2
  353. + Bug Fixes
  354. - Malformed URL errors were not being reported correctly
  355. - Fixed exception when double- or triple-click dragging (this was meant
  356. to be fixed in pre5 but I didn't get the fix quite right)
  357. - Fixed NullPointerException when opening a new view
  358. - Out of memory errors were not always reported
  359. - Fixed minor inconsistency in handling of words -vs- keywords in
  360. 'Complete Word' command
  361. - Properly fixed 'unprintable characters in table of contents' bug
  362. - Replace in selection would preserve the current selection, but not
  363. the caret position, so if there was a match at the start of the
  364. selection, the caret would move inside the selected range
  365. - On Windows, double-clicking on a drive letter in the drives list of
  366. the file system browser would open the wrong location
  367. - Focus manager under JDK 1.4 used the wrong traversal policy, this
  368. caused a few problems
  369. - The status bar message shown when a bracket is out of bounds was not
  370. always being displayed if soft wrap was in use
  371. - Fixed silly behavior in 'Install Plugins' dialog box
  372. - Fixed possible NPE when loading tool bar with buttons for which
  373. actions do not exist
  374. - Fold level changed events were not fired; this caused problems with
  375. indent folding
  376. - Changing the fold mode using the 'Buffer Options' dialog box in a
  377. buffer that defined the 'collapseFolds' property could have slightly
  378. bizzarre results, because the folds were collapsed before the fold
  379. handler was changed
  380. - Creating rectangular selections on MacOS was not possible since both
  381. the context menu and the rectangular selection was bound to
  382. Control-click. Now, you can Command-drag to create rectangular
  383. selections on MacOS
  384. - Since the 'apply text area colors to all components' setting only
  385. fully took effect after a restart, jEdit.propertiesChanged() no longer
  386. performs the initialization for this setting, instead it has been
  387. moved to the startup sequence
  388. - Fixed problem with markers returning to their original locations on
  389. save
  390. - Removed obsolete option from 'Docking' option pane
  391. - Fixed possible ArrayIndexOutOfBoundsException when expanding and
  392. collapsing folds near the end of the buffer
  393. - 'Add Explicit Fold' command did not work properly with multiple
  394. selections
  395. - Scrolling would not be performed when text was inserted sometimes, due
  396. to the last physical line index not being updated properly
  397. - If tokens had background colors defined, scrolling horizontally would
  398. draw the backgrounds as if no scrolling had taken place
  399. - When closing the last buffer, the edit pane would retain a reference
  400. to it in the 'recent buffer' field, and using the 'Go to Recent
  401. Buffer' command would result in weird things happening
  402. - Setting the lineSeparator buffer property to override the line
  403. separator for a specific file did not work
  404. - Fixed (harmless) missing resource exception when starting jEdit for
  405. the first time
  406. - Fixed possible ArrayIndexOutOfBoundsException when using the
  407. 'Collapse Fold' command (clicking fold triangles in the gutter still
  408. worked though)
  409. - Removing text from the middle of a line with soft wrap on might not
  410. repaint the text area properly
  411. - Added missing 'read error' and 'write error' I/O error strings
  412. - Workaround for Graphics2D.setPaintMode() bug on Windows placed in
  413. background token painting code as well
  414. - Memory indicator in status bar looked stupid on Windows L&F and other
  415. look and feels where the text color and progress bar foreground was
  416. the same
  417. - Possible fix for 'timeout' error when opening a large number of files
  418. with jEditLauncher on Windows
  419. - Autosave would stall the editor because it grabbed a read lock for the
  420. entire operation
  421. - 'New File' command no longer creates read only buffers if the current
  422. buffer is located on a read-only filesystem
  423. - jEditLauncher 4.0.2 fixes several bugs in the installer module
  424. (John Gellene)
  425. + API Additions
  426. - Support for macros written in other languages (Mike Dillon)
  427. - Macros.registerHandler(Macros.Handler handler) method
  428. - Macros.Handler class has these methods:
  429. public abstract Macro createMacro(String macroName, String path);
  430. public abstract void runMacro(View view, Macro macro);
  431. protected Handler(String name)
  432. - 'name' is used to key "macro-handler.<name>.label" and
  433. "macro-handler.<name>.glob" properties.
  434. - One minor UI addition is that the language a macro is written in,
  435. along with the full path to the macro file is shown in the status
  436. bar when the mouse is over a macro's menu item or tool bar button.
  437. - Support for pluggable fold handlers (Mike Dillon)
  438. - FoldHandler.registerFoldHandler(FoldHandler handler) method
  439. - FoldHandler class has these methods:
  440. public abstract int getFoldLevel(Buffer buffer, int line, Segment seg);
  441. protected FoldHandler(String name)
  442. * Version 4.0pre5
  443. + New Features
  444. - ObjectRexx syntax highlighting (George Hovey)
  445. + Enhancements
  446. - If jEdit runs out of memory while loading a file, it now reports the
  447. error using the standard I/O error reporting method, instead of just
  448. dumping an exception in the activity log
  449. - If indent folding is enabled, lines consisting of white space only no
  450. longer inherit the fold level of the previous line
  451. - QuickNotepad plugin compiled by default
  452. - FAQ updates (John Gellene)
  453. - The "Open in New View" command has been re-added to the file system
  454. browser right-click menu
  455. - Pressing ENTER in the file system browser no longer closes the
  456. selected file if 'double click close' is enabled; now, only double-
  457. and middle-clicks can close open files
  458. - NEWS.txt written
  459. - Updated Pascal syntax highlighting (Barry Carr)
  460. - 'Spaces to Tabs' and 'Tabs to Spaces' now operate on the entire buffer
  461. if there is no selection (Ollie Rutherfurd)
  462. - 'More accurate syntax highlighting' option is now even more accurate;
  463. when editing PHP files with very long embedded scripts, you should
  464. never see the highlighting mess up
  465. - Documentation updates
  466. - Tweaked word and line selection behavior
  467. - Previously, jEdit would only parse the first 10 lines of a buffer for
  468. buffer-local properties; now the last 10 lines are parsed as well
  469. (Ollie Rutherfurd)
  470. - jEditLauncher 4.0.1 (John Gellene)
  471. + Bug Fixes
  472. - Removed unnecessary menu bar hack on MacOS X
  473. - Tab width would be wrong on some JVMs
  474. - Tighter layout in the file system browser's parent directory list
  475. - The Commands->Root Directory command in the file system browser opened
  476. the 'roots:' VFS even on systems where it is not used (ie, Unix)
  477. - Tool bar buttons had incorrect tool tips
  478. - In the total size tally, the plugin manager didn't add the sizes of
  479. plugins that would be implicitly installed due to dependencies
  480. - Plugin manager displayed the wrong message when installing plugins
  481. - 'Print' command threw a NullPointerException if 'print header' was
  482. disabled
  483. - Selection wasn't cleared when switching buffers sometimes. This caused
  484. problems
  485. - If the block caret was enabled, mouse clicks would position the caret
  486. in the wrong location
  487. - Files would not be saved properly if two stage saving was disabled and
  488. backups were enabled
  489. - Workaround for Graphics2D.setPaintMode() bug on Windows (John Gellene)
  490. - Docked windows can no longer be made larger than the width or height
  491. of the view
  492. - If the first narrowed line was not a fold start, newly inserted lines
  493. within the narrowed region would become invisible
  494. - Making changes to the last line in the buffer that would result in the
  495. line being wrapped would result in incorrect repaints
  496. - Double-click and triple-click drags would throw exceptions if the
  497. mouse was moved outside the text area
  498. - Fixed several bugs when painting tokens with a background color
  499. - File system browser would throw NullPointerExceptions when loading
  500. directories under some circumstances
  501. - Fixed ArrayIndexOutOfBoundsException when loading a file with saved
  502. markers
  503. - Running "jedit -usage" and "jedit -version" produced no output
  504. - Floating window positions were not saved
  505. - Fixed arrow keys in HyperSearch Results window (again...)
  506. - Fixed Java, C, C++, and similar mode's auto indent bug
  507. - Fixed minor problem when indenting a line containing "{{{"
  508. - When I overhauled the action system in jEdit 4.0pre1, I tried to
  509. preserve compatibility with macro shortcuts set in previous versions,
  510. but I did it incorrectly. This has been fixed; if you set macro
  511. shortcuts with 4.0pre1-pre4, you will need to set them again, but
  512. shortcuts set in 3.2.2 should work without any trouble.
  513. - If the 'BeanShell replace' radio button was selected, the search and
  514. replace dialog box would open with the replace field's history set up
  515. incorrectly.
  516. - Sometimes the scroll bar would not be updated correctly when opening a
  517. file
  518. - Disabling anti-aliasing might work now on MacOS X
  519. - Macros that switch buffers should no longer result in an error being
  520. printed to the activity log when they finish executing
  521. - Fixed long-standing docked window button layout bug
  522. - Triple-click drag didn't support selective selection of the trailing
  523. line feed due to some changes in pre4
  524. - If a very long string is selected, the Search and Replace dialog will
  525. not be unacceptably wide when 'Find' is invoked
  526. - Fixed broken soft wrap in syntax highlighted files
  527. - Made sure that all XML mode files now validate against the xmode.dtd
  528. - Print jobs would be named 'true' (or 'false' if you were lucky)
  529. - Fixed unprintable characters in the help table of contents
  530. - Added minor hack to jEdit.initMisc() so that plugins wishing to use
  531. the JAXP API to access the XML plugin's Xerces parser can work
  532. - Fixed some focus problems with 'Complete Word' command
  533. - 'Center caret on screen' command threw an exception if the buffer was
  534. shorter than the number of visible lines divided in half
  535. - "Scroll to caret" code is now soft wrap-aware
  536. * Version 4.0pre4
  537. Note that jEdit now has a source file, Java14.java, that only compiles
  538. under Java 2 version 1.4. If you're using Java 2 version 1.3 and wish to
  539. compile jEdit from source, you should comment out the "jdk14" property
  540. in build.xml.
  541. + New Features
  542. - Soft wrap.
  543. - Three wrapping modes are available:
  544. "none" - no wrapping is performed
  545. "soft" - soft wrap
  546. "hard" - this is the old hard wrap feature that has been available
  547. since jEdit 3.0.
  548. - Change the wrap mode in Global Options or Buffer Options
  549. - When soft wrap is enabled, you can set the 'Wrap margin' setting to
  550. zero to wrap to the width of the text area.
  551. - Some plugins will need to be updated; see below
  552. - Two JDK 1.4-specific options added to 'Appearance' option pane:
  553. 'Draw window borders using Swing look & feel', 'Draw dialog box
  554. borders using Swing look & feel'. Both are disabled by default.
  555. - New 'Keyboard Tester' command in Utilities->Troubleshooting menu; it
  556. displays a 'grab key' dialog and dumps key events into a new buffer
  557. - Option to split file dialogs vertically (Ollie Rutherfurd)
  558. - Plugin manager's install plugins dialog box now shows plugin download
  559. sizes, and has a slightly improved look
  560. - jEdit Frequently Asked Questions is now included in the online help
  561. (John Gellene)
  562. - Prolog syntax highlighting (Giulio Piancastelli)
  563. + Enhancements
  564. - Firewall plugin integrated into editor core
  565. - Global Options dialog box now has an 'Overview' page
  566. - Better GZIP file auto-detection; previously, jEdit would check for a
  567. filename extension of .gz, now it checks for the GZIP magic number at
  568. the start of the file
  569. - Unicode files are now automatically detected as being such, and opened
  570. with the Unicode encoding
  571. - 'Narrow to Fold' on a collapsed fold now automatically expands the
  572. fold
  573. - The complete word changes started in 4.0pre3 are now complete.
  574. - UP/DOWN arrow keys wrap selection around in complete word list
  575. - Keywords are now completed (and shown in the list in a bold font)
  576. - The popup is updated on the fly if you type or press BACKSPACE while
  577. it is showing
  578. - In the file system browser, trying to add a file to the favorites now
  579. adds that file's directory to the favorites, instead of showing an
  580. error message
  581. - The edit server now un-iconifies the view, if necessary
  582. - Updated ML mode (Ingmar Stein)
  583. - Printing code rewritten to use Java 2 print API. The only user-visible
  584. change is that the printed output is now word-wrapped.
  585. - The file system browser now preserves expansion state when reloading
  586. directories
  587. - On Unix operating systems, the roots: VFS is no longer available,
  588. since it is not necessary (Unix systems have a single file system
  589. root, /)
  590. - Changed file system browser to underline open files, not show a black
  591. chunk next to their names
  592. - Closed three possible holes in the edit server:
  593. - Opening a socket and leaving it open no longer stops other clients
  594. from connecting; there is now a 1 second timeout
  595. - Opening a socket and sending a whole load of crap, all on one line,
  596. no longer causes the edit server to read it in; the protocol has
  597. been changed to send the authorization key in binary as four octets,
  598. as opposed to in a line of text
  599. - On some braindamaged Unix systems, users can read files in each
  600. other's home directories. jEdit now explicitly sets the server
  601. file's permissions to 0600 to work around this brain damage
  602. - Improved JSP syntax highlighting (Daiji Takamori)
  603. - Quick-copy (middle mouse button pasting most recent selection) is now
  604. disabled by default, since people seem to get confused by it to no end
  605. when they accidentally click the middle mouse button while using a
  606. wheel mouse to scroll
  607. - Shift-double click and shift-middle mouse button clicks in the file
  608. system browser now open files in a new view
  609. - Minor search and replace dialog box usability improvements:
  610. - Keep dialog on by default
  611. - Somewhat confusing 'Replace' button removed
  612. - Faster HyperSearch
  613. - Updated Foxpro mode (Matthew J. Price)
  614. - jEditLauncher version 4.0 (John Gellene)
  615. - Revised installer module
  616. - Logging feature for easier troubleshooting of installation problems
  617. - Updated for 4.0pre4 EditServer changes (but backwards compatible
  618. with older jEdit versions)
  619. + Neutral
  620. - Tips moved to doc/tips directory; documentation is no longer inside
  621. the JAR
  622. + Bug Fixes
  623. - Next-fold command was slightly broken
  624. - Fixed possible plugin manager NPE when installing incompatible plugins
  625. - On some Java versions, the plugin manager's progress windows would
  626. hang until explicitly given focus
  627. - Minor fix for S+HOME/S+END behavior
  628. - Fixed for weird caret position after control-clicking a closing
  629. bracket
  630. - The position of the wrap guide is now determined using the Java2D API,
  631. so it should be correct now. Previously, it could be drawn in the
  632. wrong place if anti-aliasing was enabled
  633. - The tab width is also determined using the correct APIs
  634. - Fixed possible NullPointerException in VFS file dialog box
  635. - Fixed minor bug in 'Select Fold' command
  636. - Fixed some JDK 1.4-specific bugs:
  637. - The 'select text on focus' feature of some text fields fixed
  638. - File system browser's type select fixed
  639. - Keyboard shortcuts only worked in the text area
  640. - Sometimes keyboard focus would jump to the search bar
  641. - Unfortunately, fixing the last two required the use of Java
  642. 1.4-specific APIs. As a result, the Java14.java source file will not
  643. compile under a 1.3 JDK.
  644. - Embedded tabs in lines would show up as boxes in bracket matching
  645. status bar messages
  646. - Sometimes hard tabs would be inserted into the buffer, even if soft
  647. tabs were enabled
  648. - Trying to reload a read only file would fail
  649. - Fixed possible NullPointerException in 'Styles' option pane
  650. - I removed the feature that automatically folds newly inserted text as
  651. necessary, because it had too many problems
  652. - Changed some tree cell renderers to work around problems experienced
  653. on MacOS X
  654. - Fixed possible ArrayIndexOutOfBoundsException when closing a view
  655. - File name and first line globs were not shown in the 'Mode specific'
  656. option pane
  657. - Fixed ArrayIndexOutOfBoundsException when scrolling a one-line buffer
  658. with the WheelMouse plugin
  659. - "Insert File" was broken since 4.0pre1
  660. - Text area syntax highlighting would not always be updated properly
  661. when switching modes
  662. - Display_Shortcuts macro didn't work
  663. - jEdit would hang if 'Find Previous' was invoked while regular
  664. expressions were enabled
  665. - "Narrow to Fold" would never include the last line of the buffer in
  666. the narrow, even if it was part of the fold in question
  667. + API Additions
  668. - BufferUpdate.SAVED message type added. Previously, DIRTY_CHANGED could
  669. be used for this purpose, but since jEdit now clears the dirty flag
  670. when all changes up to a save are undone, doing on-save actions when a
  671. DIRTY_CHANGED is received can have unexpected consequences.
  672. - New method: MiscUtilities.quicksort(List a, Compare a)
  673. - MiscUtilities.Compare now extends java.util.Comparator (which has the
  674. same API)
  675. - MiscUtilities.quicksort(Object[],Compare) now calls
  676. java.util.Arrays.sort()
  677. - MiscUtilities.quicksort(Object[],Comparator),
  678. MiscUtilities.quicksort(List,Comparator) methods added
  679. - The above changes are completely binary compatible, and they make
  680. jEdit's sorting API more consistent with the Java collections API.
  681. - New OperatingSystem class, with the following methods:
  682. isDOSDerived(), isWindows(), isWindows9x(), isWindowsNT(), isOS2()
  683. isMacOS()
  684. isUnix()
  685. hasJava14()
  686. + API Changes
  687. - Offset conversion API changes. Old methods (xToOffset(), offsetToX(),
  688. yToLine(), lineToY()) deprecated; you must now use xyToOffset() and
  689. offsetToXY() instead. Also note that xyToOffset() will return -1 if
  690. the y co-ordinate is not visible in the text area.
  691. - The BufferChangeListener API was inconsistent. foldLevelChanged() was
  692. called with the last two parameters being a start and end line,
  693. respectively, but the documentation claimed that the first parameter
  694. was a single line index, and the second was a fold level. This was an
  695. error on the part of the documentation, and has since been fixed.
  696. - TextAreaExtension API replaces TextAreaHighlights. It now supports the
  697. concept of 'layers', so you can for example add an extension that will
  698. be painted below the selection (the JDiff plugin wants to do this).
  699. * Version 4.0pre3
  700. jEdit now requires Java 2 version 1.3 or later! Java 2 version 1.2 and
  701. Java 1.1 can no longer be used to run jEdit.
  702. + New Features
  703. - Two-stage save (where a file is first saved to #filename#save#, then
  704. renamed to the actual file name) can be disabled in the 'Loading and
  705. Saving' option pane
  706. - -noplugins command line switch added
  707. - Added option to have backups created on every save (default is to only
  708. create one backup for each file, until it is closed)
  709. (Ollie Rutherfurd)
  710. - 'Extra word characters' setting added to Editing option pane
  711. - 'Range Comment' and 'Line Comment' commands now behave correctly when,
  712. for example, inserting comments in inline JavaScript in an HTML file.
  713. - The new Buffer.getContextSensitiveProperty() method first checks the
  714. properties of the parser rule set at the specified offset; then the
  715. edit mode that contains that rule set; and finally, the edit mode of
  716. the buffer itself.
  717. - In mode files, you can now place a PROPS element inside a RULES
  718. element to define ruleset-specific properties. Currently, only the
  719. 'commentStart', 'commentEnd' and 'lineComment' properties can be
  720. ruleset-specific.
  721. - 'Search->Incremental Search for Word' command puts the word under the
  722. caret in the search bar
  723. - 'Search->HyperSearch for Word' performs a HyperSearch for the word
  724. under the caret
  725. - View->Folding submenu is now a top-level Folding menu. A few commands
  726. have been added:
  727. - Add Explicit Fold (C+e a): surrounds the selection with explicit
  728. fold markers ({{{ and }}})
  729. - Go to Previous/Next Fold (A+UP, A+DOWN): self-explanatory. Go to
  730. Previous/Next Marker, which were formely bound to A+UP/DOWN, are now
  731. bound to C+e , and C+e ..
  732. - Go to Parent Fold (C+e u): moves caret to fold with a higher level
  733. than the one containing the caret
  734. - Narrow to Fold (C+e n n): equivalent to invoking 'Select Fold', then
  735. 'Narrow to Selection'
  736. - Narrow to Selection (C+e n s): this command is the same as before,
  737. but has a new shortcut
  738. - ActionScript syntax highlighting (Ben Glazer)
  739. + Enhancements
  740. - C+LEFT/C+RIGHT are now more intelligent. Tell me if you like the new
  741. behavior.
  742. - If there are more buttons in a docking area than can fit, a popup menu
  743. button is shown; clicking it shows a popup listing all dockables in
  744. that area
  745. - Added option to disable file system browser's tool bar
  746. - I/O errors are now batched into a single dialog box
  747. - New, smaller icons in file system browser (Dirk Moebius)
  748. - New jEdit window icon (Phillip Richdale)
  749. - First item in File->Current Directory menu (the directory path itself)
  750. is no longer a grayed out label; you can invoke it to view the
  751. directory in the file system browser
  752. - First item in 'Paste Previous' dialog pre-selected when dialog shown
  753. - Focus is returned to file list in 'Close All' dialog box after one of
  754. the buttons are clicked
  755. - Recent Directories menu, Browse System/User Macros commands, and other
  756. commands that open directories in the file system browser now work a
  757. little better
  758. - The list of open files is now saved by the autosave task
  759. - Smoother incremental search
  760. - When HOME is pressed while there is a selection, the caret is moved to
  761. the beginning of the first selected line. END moves the caret to the
  762. end of the last selected line.
  763. - Search bar automatically selects its contents as soon as it gets focus
  764. - The file system browser's 'Search in Directory' command no longer
  765. hangs the event dispatch thread until the directory hierarchy has been
  766. listed
  767. - If an error occurs while loading one of the files involved in a
  768. multi-file search, the search will continue; previously it would have
  769. been aborted. Any errors will be listed in a dialog box after the
  770. search is complete.
  771. - Commands in View->Splitting menu moved to top level of View menu
  772. - Updated PL-SQL mode (Steve Snider)
  773. - Updated MS-DOS batch mode (Mirco Bova)
  774. - Files on read-only filesystems (such as the URL filesystem) now have
  775. the read-only flag set. Previously, only local files would have the
  776. read only flag set automatically.
  777. + Neutral
  778. - Syntax highlighting can no longer be disabled -- too many features
  779. (bracket matching, commenting commands) rely on syntax info now
  780. + Bug Fixes
  781. - JEditTextArea now uses type-safe buffer property accessors, so there
  782. shouldn't be any more ClassCastExceptions
  783. - Fixed stack overflow if attempting to use URL filesystem (to open an
  784. http:// URL, for instance)
  785. - Fixed stupid bug in installer that affected MacOS X installation
  786. - File system browser's parent directory view could not be completely
  787. hidden by dragging the split pane
  788. - Pressing the left arrow key in the file system browser didn't always
  789. work
  790. - Bracket matching would sometimes show a status bar message even if the
  791. bracket was visible
  792. - Fixed another minor bracket repaint problem that would occur if the
  793. matched bracket was not visible and the text area lost focus
  794. - Select Line, Select Word, Select Paragraph actions were slightly
  795. broken
  796. - Fixed minor undo modified flag clearing bug
  797. - Pressing the tab key with a one-line selection would insert a hard tab
  798. even if soft tabs were enabled
  799. - Deprecated MiscUtilities.compareVersions() method was an instance
  800. method, which made plugins that used it throw VerifyErrors on startup.
  801. These plugins will now work again (but should eventually be updated to
  802. call non-deprecated methods).
  803. - Fixed another search and replace bug triggered by the Tags plugin
  804. - When searching in multiple selections, HyperSearch would create one
  805. tree node for each selection
  806. - InputHandler.readNextChar() didn't work with all characters
  807. - Floating positions would sometimes be updated incorrectly when text
  808. was inserted
  809. - Fixed another file system browser 'Search in Directory'
  810. NullPointerException
  811. - Buffer-local property parsing code was broken
  812. - Sometimes multi-line tokens would not be repainted correctly
  813. - Opening files whose path began with ~ (which was supposed to be
  814. expanded to your home directory path) didn't work
  815. - Trying to do a directory search inside a directory which contained a
  816. symlink loop would hang jEdit
  817. - The 'Auto Wrap' search option did not take effect in macros
  818. - Bug fix in MacOS plugin (Kris Kopicki)
  819. - Fixed problem with default position of table of contents in help, and
  820. dockable window dividers
  821. - Default filename filter in file system browser skipped files with
  822. single-character names. Now the default filter is *[^~#], which should
  823. work properly
  824. - On JDK 1.4, closing a docking area didn't deselect the currently
  825. selected button
  826. + API Changes
  827. - VFS.reloadDirectory() method added; it is called before a directory is
  828. reloaded by the file system browser
  829. - MiscUtilities.charsToXMLEscapes() method added
  830. - To take advantage of the new I/O error dialog box, virtual filesystem
  831. implementations should call:
  832. VFSManager.error(Component comp, String path, String messageProp,
  833. Object[] args)
  834. instead of
  835. VFSManager.error(Component comp, String message, Object[] args)
  836. The message is obtained from the property 'messageProp' (nothing is
  837. prepended or appended to the property name).
  838. - New method: VFSBrowser.browseDirectory(View view, String path)
  839. - New method: MiscUtilities.listDirectory(String directory, String glob,
  840. boolean recurse)
  841. * Version 4.0pre2
  842. + New Features
  843. - MacOS plugin bundled (Kris Kopicki)
  844. - jEdit exits cleanly when Command+Q is pressed
  845. - Files created or associated with jEdit can now be opened from the
  846. Finder by double-clicking on them, or dragging them to the jEdit
  847. icon
  848. - jEdit is assigned as the creator of new files
  849. - A few Alt-key shortcuts added for commonly-used commands so that you
  850. don't have to move your fingers all over the keyboard:
  851. - A+i, A+k: prev, next line
  852. - A+j, A+l: prev, next character
  853. - A+q, A+a: page up, page down
  854. - A+z, A+x: home, end
  855. - A+d: delete next character
  856. - A new View->Docking menu; contains commands for closing the left, top,
  857. right and bottom docking areas (shortcuts: C+e 1,2,3,4)
  858. - Narrowing re-implemented. This feature was present in jEdit 3.2 but
  859. was missing from 4.0pre1.
  860. + Enhancements
  861. - Bracket matching improvements:
  862. - If the highlighted bracket is off screen, the text of the matching
  863. line is shown in the status bar. And here's the best part: if the
  864. matching line cosists of only a bracket and whitespace, the
  865. *previous* line is shown in the status bar instead
  866. - Clicking the scope indicator in the gutter moves the caret between
  867. the two matching brackets
  868. - Control-clicking the scope indicator or a bracket in the text area
  869. selects all text between the two matching brackets
  870. - File system browser improvements:
  871. - Parent directories are now listed in a widget at the top of the
  872. file system browser
  873. - File->Recent Directories menu lists directories that were recently
  874. visted in the file system browser
  875. - File selection dialog boxes now have a status bar that shows the
  876. number of pending I/O requests
  877. - Middle mouse button click in file system browser now has the same
  878. effect as double-clicking
  879. - You can now enter relative paths in the file system browser's path
  880. field
  881. - 'More' menu split into 'Commands' and 'Plugins' menus
  882. - 'Commands' menu and tool bar now have the same set of commands
  883. - 'Favorites' menu added for quicker access to favorites
  884. - If invoked while a file is selected, the 'Search in Directory'
  885. command now sets the search file name filter to that file's
  886. extension
  887. - Icons added to 'BeanShell Error' and 'Close All' dialog boxes
  888. - Updated PV-WAVE mode (Ed Stewart)
  889. - Updated Transact-SQL mode (Ollie Rutherfurd)
  890. - Updated Omnimark mode (Lionel Fiol)
  891. - Closing a docked window now returns focus to the text area
  892. - Memory indicator tooltip now shows used and total Java heap memory in
  893. kilobytes
  894. - Option for search and replace to beep on auto wrap (Kenrick Drew)
  895. - Faster (in theory anyway) file loading as a side effect of some bug
  896. fixes
  897. - Improved help viewer welcome screen
  898. - Updated QuickNotepad sample plugin for jEdit 4.0 API changes (John
  899. Gellene)
  900. - 'Delete Line' now leaves the caret in the same column
  901. - '~' in buffer and directory path names is now automatically expanded
  902. to the home directory
  903. - Improved undo
  904. - Pressing Tab while there is a selection will now only shift the line's
  905. leading indent if the selection spans more than one line
  906. - If indent on tab is enabled, a line will only be indented if Tab is
  907. pressed inside the leading whitespace of that line. Indent on tab is
  908. now enabled by default
  909. - Bundled set of macros slimmed down somewhat. You can find more macros
  910. at http://community.jedit.org (John Gellene)
  911. - Text selection commands (Select Word, Select Line, and so on) are now
  912. multiple selection aware
  913. + Bug Fixes
  914. - Fixed a memory leak with the search and replace dialog box
  915. - Undo would be broken after a file was reloaded
  916. - Fixed exception thrown if a buffer contained definitions for integer
  917. properties (tab size, maximum line length, ...)
  918. - Changing the gutter font didn't update the gutter width
  919. - Fixed broken scrolling behavior
  920. - Some files would open with only one line visible
  921. - MiscUtilities.compareStrings() would throw exceptions with strings
  922. that contained embedded numbers larger than 2^31
  923. - Creating a new view or splitting the view didn't work
  924. - Tool bar tooltips were broken
  925. - With the Windows look and feel, file names were invisible in the file
  926. system browser
  927. - In the help viewer, the top-level user's guide link was broken
  928. - BufferChangeAdapter didn't properly implement BufferChangeListener
  929. interface (Maik Schreiber)
  930. - GUIUtilities.loadToolButton() no longer throws an exception with
  931. invalid tool bar buttons
  932. - It was not possible to bind an action to a non-alphanumeric key
  933. without any modifiers
  934. - The file system browser's notion of the current directory is not
  935. changed until the directory is actually loaded successfully
  936. - Some directories could not be deleted from the favorites
  937. - It is no longer possible to add the same directory to the favorites
  938. twice
  939. - File->Current Directory menu now shows 'No Files' if there are no
  940. files in the current directory
  941. - Fixed a few bugs in the File System Browser->Colors option pane
  942. - Compound edits were rather buggy
  943. - 'Trailing EOL' setting did not work
  944. - Fixed possible MacOS X keyboard problems (again...)
  945. - Fixed a buffer corruption bug
  946. - 'Select Fold' command threw an exception of there were no folds in the
  947. buffer
  948. - Fixed a few bracket matching bugs
  949. - Fixed cosmetic bug in search and replace code that was triggered by
  950. the Tags plugin
  951. - Fixed minor repaint bug with multiple selections
  952. + API Changes
  953. - New method in VFS class: _canonPath().
  954. - VFS.DirectoryEntry constructor accepting a 'color' parameter removed.
  955. Instead, write a VFS.DirectoryEntry subclass that overrides the
  956. getColor() method
  957. - MiscUtilities.constructPath(), .getFileName(), .getParentOfPath()
  958. methods are now VFS-aware
  959. - Note that the behavior of correspondingly-named methods in the VFS
  960. class has changed in a suttle manner, and they should no longer be
  961. called directly. Use the MiscUtilities methods for all path
  962. manipulation.
  963. - EditAction.getView() deprecated, call GUIUtilities.getView() instead
  964. * Version 4.0pre1
  965. + New Features
  966. - New document model uses less memory, loads files faster, and has a
  967. simpler API for developers. Also, finally, the file modification flag
  968. is cleared when all edits up to a save are undone
  969. - New folding features:
  970. - Three fold modes: none, indent, explicit. 'none' is the default now.
  971. 'indent' is the indent-based folding mode, that behaves the same as
  972. indent-based folding in jEdit 3.1 and 3.2. 'explicit' parses the
  973. buffer for {{{ and }}} and adds folds based on that.
  974. - Change the fold mode by clicking the fold mode widget in the status
  975. bar, or in the Buffer Options dialog box, or with the 'folding'
  976. buffer-local property, or in the Global Options dialog box.
  977. - Folds are now shown in the gutter as triangles, which is more
  978. intuitive than filled/not-filled boxes
  979. - View->Folding->Collapse All Folds command, equivalent to invoking
  980. 'Expand Folds With Level' and specifying a level of 1
  981. - Different text areas editing the same buffer can now have different
  982. folds collapsed and expanded. Previously, fold visibility was stored
  983. at the buffer level
  984. - Utilities->Memory Status command to replace 'Show Free Memory' macro
  985. - General look and feel settings moved to 'Appearance' option pane
  986. - If you are using the Metal or Kunststoff L&F, the UI control font can
  987. be changed in Utilities->Global Options->Appearance
  988. - 'Vertical Paste' macro (Andre Kaplan)
  989. - File listings in the file system browser are now colorized. Change the
  990. colors in Utilities->Global Options->File System Browser
  991. - When a file is loaded, jEdit now remembers if it contained a trailing
  992. newline, and if so, writes it out when saving the file. Previously, a
  993. trailing newline would always be written, regardless of it being
  994. present in the file on disk or not
  995. - The tab and enter key can now be used in shortcut assignments
  996. - Utilities->Evaluate for Selected Lines command evaluates specified
  997. BeanShell expression for each selected line, replacing the contents of
  998. that line with the return value of the expression
  999. - Macros.confirm() method added, for use in macros
  1000. - BBj (Business Basic based on Java) syntax highlighting (Thomas Bock)
  1001. - BibTeX syntax highlighting (Nils Krahnstoever)
  1002. - Option added to sort recent file list by name
  1003. - -nogui switch is back. If specified when jEdit is being run in
  1004. background mode, the initial view will not be opened
  1005. - Edit->Invert Selection command added
  1006. - The gutter now displays a scope indicator when the caret and matching
  1007. bracket are not on the same line
  1008. - Ant is used instead of jmk to compile jEdit
  1009. + Neutral
  1010. - Word wrap is disabled by default
  1011. + Enhancements
  1012. - BeanShell 1.2b3 now included, instead of slightly patched 1.2b1
  1013. - New splash screen and about box (Kris Kopicki)
  1014. - HTML documentation is now generated using DocBook XSL 1.44 stylesheets
  1015. - Option in activity log window to automatically scroll to bottom on
  1016. output (Dirk Moebius)
  1017. - Status bar improvements:
  1018. - Tool tips for all controls
  1019. - Double-click on caret status shows the 'go to line' dialog box
  1020. - Instead of showing 'multi' in gray of multiple selection was
  1021. disabled, and in black if it was enabled, the display now
  1022. alternates between 'multi' and 'single'
  1023. - Same for the overwrite status; it now shows 'ins' or 'ovr'
  1024. - I/O progress display replaced with a Java heap memory indicator
  1025. - I/O status is now shown in the message area of the status bar
  1026. - New color scheme
  1027. - Pressing Tab while a selection is active shifts it right by one level
  1028. of indent
  1029. - Pressing S+Tab shifts the selection right by one level of indent
  1030. - If a selection ends at the beginning of a line, that line is no longer
  1031. considered to be part of the selection by line manipulation commands
  1032. - Improved window docking feature:
  1033. - New, much simpler API for plugins
  1034. - 'Auto open' setting in Docking option pane removed, now jEdit
  1035. remembers which dockables were open automatically
  1036. - Docked windows are shown inside a custom control, not a tabbed pane
  1037. - ALL dockable windows set to dock in a certain area are shown in that
  1038. area, not just those currently 'open'. When a dockable is requested
  1039. for the first time, it is created and loaded
  1040. - Changes made in the Docking option pane now take effect immediately
  1041. - In the Shortcuts option pane, each plugin's actions are shown in a
  1042. separate section. This solves the problem of plugin actions having
  1043. ambiguous names (for example, "Edit Settings"). This change is the
  1044. reason for the jEdit.addAction() method was dropped.
  1045. - Macros.message(), Macros.error() and Macros.input() methods now accept
  1046. an arbitriary java.awt.Component, instead of a View, as the component
  1047. that will parent the dialog box. This will not break any macros since
  1048. BeanShell resolves methods at run-time.
  1049. - jEdit now makes an effort to display popup menus on-screen. If you
  1050. want your plugin to do this, use the new GUIUtilities.showPopupMenu()
  1051. method.
  1052. - Editing and saving a mode file, or mode catalog file within jEdit will
  1053. automatically reload that mode, or all edit modes
  1054. - A few keyboard shortcuts added to file system browser:
  1055. ~ - goes to home directory
  1056. / - goes to file system roots list
  1057. - - goes to current buffer's directory
  1058. - Improved Abbreviations option pane
  1059. - Improved Styles option pane
  1060. - Improved search and replace:
  1061. - It is now possible to do a HyperSearch in the current selection
  1062. - When a match is clicked on in the HyperSearch results window, the
  1063. match is now selected in the text area. Previously, the caret was
  1064. only moved to the line containing the match.
  1065. - Search in Selection radio button: when selected, the 'Replace All'
  1066. button does the same thing as the 'Replace' button
  1067. - If text is selected when the dialog box is being opened, this radio
  1068. button is selected automatically, unless only one line of text is
  1069. selected, in which case that text becomes the search string
  1070. - Because of the above, the 'Find Selection' command is no longer
  1071. necessary
  1072. - 'All buffers' and 'Directory' radio buttons now pre-select the
  1073. 'HyperSearch' check box (it is still possible to do a normal search
  1074. over a set of buffers, by deselecting the check box)
  1075. - When doing a case-insensitive search and replace, the substituted
  1076. string's case is converted to the found match case, if the found
  1077. match is all lower case, all upper case, or title case
  1078. - gnu.regexp 1.1.4 now included
  1079. - Multiple selections are now stored in the order they appear in the
  1080. buffer, not the order they were added
  1081. - New MiscUtilities.compareStrings() method compares two strings,
  1082. treating numbers specially. So, for example, it will say that
  1083. "my file 10" comes after "my file 2", and that "2.9" comes before
  1084. "2.10"
  1085. - MiscUtilities.StringCompare and StringICaseCompare classes use this
  1086. method by default
  1087. - The buffer-local noWordSep property now has a default value of "_".
  1088. Previously, there was no default, but most modes specified a value of
  1089. "_".
  1090. - jEdit now backs up files it saves to the settings directory to
  1091. $HOME/.jedit/settings-backups
  1092. - Settings files are now saved to #filename#save#, then renamed to the
  1093. actual file name. This prevents settings from being lost if jEdit
  1094. crashes in the middle of saving them
  1095. - PL/SQL mode updates (Steve Snider)
  1096. + Bug Fixes
  1097. - 'Recent Files' menu behaved in a strange manner if there were no
  1098. recent files
  1099. - Fixed a NullPointerException if the 'Narrow to Selection' command
  1100. was invoked with no selection
  1101. - JCheckBoxList typo prevented it from working in the XML plugin
  1102. - On MacOS, the option key, which is reported as ALT, can be used to
  1103. generate user input, but jEdit ignored Alt key strokes that were not
  1104. bound to shortcuts.
  1105. - More JDK 1.4 key event bug workarounds
  1106. - History text field border wasn't repainted after the model was changed
  1107. - If two shortcuts were assigned to a command, the second wasn't shown
  1108. in the tool bar button tooltip
  1109. - In syntax highlighting rule sets that enabled digit highlighting but
  1110. didn't have SEQ rules for '-' and '.', these two characters would be
  1111. highlighted with the digit syntax style, even if they were not part of
  1112. a numeric expression.
  1113. - Pressing Home three times put the caret at the end of the last visible
  1114. line, not the start of the last visible line as intended
  1115. - Entering a file name in the text field of the Open dialog box would
  1116. open that file name relative to jEdit's current working directory, not
  1117. the directory selected in the dialog box
  1118. - 'Reload' command didn't preserve caret position very well if sections
  1119. of the buffer were folded
  1120. - When running on Java 2 version 1.3 (and possibly others), the default
  1121. size of the help viewer was not set properly
  1122. - Velocity mode had an incorrect file name glob
  1123. - In the Search and Replace dialog box, 'Replace with:' and 'Auto wrap'
  1124. had the same Alt-key mnemonic
  1125. - Regular expression bug fixes:
  1126. - Searching for a regular expression of $ or ^ by itself should work
  1127. now
  1128. - In regular expressions, ^ and $ not only matched newlines, but the
  1129. start and end of the substring to search.
  1130. - Fixed possible ArrayIndexOutOfBounds when searching for regular
  1131. expressions that start with \<
  1132. - The RESearchMatcher class converted \t to the tab character and \n
  1133. to the newline character, even if the replace string was a BeanShell
  1134. script, in which case a BeanShell execution error would occur.
  1135. - In the help viewer, nodes in the tree were not selected as links were
  1136. followed
  1137. - On Windows, it is now possible to rename a file such that the new name
  1138. only differs from the old in case
  1139. - Sometimes, the most recently opened files would not be restored if the
  1140. -background command line switch was used
  1141. - Sometimes, Untitled buffers would not be replaced when another file
  1142. was opened
  1143. - Fixed slowdown when making changes to the last line of a buffer
  1144. + API Changes
  1145. - New methods in jEdit class for accessing properties:
  1146. jEdit.getIntegerProperty(String name, int def);
  1147. jEdit.setIntegerProperty(String name, int value);
  1148. jEdit.getFontProperty(String name);
  1149. jEdit.getFontProperty(String name, Font def);
  1150. jEdit.setFontProperty(String name, Font value);
  1151. jEdit.getColorProperty(String name);
  1152. jEdit.getColorProperty(String name, Color def);
  1153. jEdit.setColorProperty(String name, Color value);
  1154. - VariableGridLayout is now used to lay out tool bars, instead of
  1155. BoxLayout. This means it is no longer necessary to add a
  1156. Box.createGlue() to the tool bar to prevent it from being centered.
  1157. - Removed these APIs, which have been deprecated since jEdit 2.6:
  1158. EditPlugin.createMenuItems(View,Vector,Vector) (override
  1159. createMenuItems(Vector) instead)
  1160. GUIUtilities.loadMenuItem(View,String) (use loadMenuItem(String)
  1161. instead)
  1162. GUIUtilities.loadToolBarIcon() (use loadIcon instead)
  1163. GUIUtilities.showFileDialog() (use showVFSFileDialog() instead)
  1164. - Removed these APIs, which have been deprecated since jEdit 3.0:
  1165. jEdit.addAction()
  1166. EditAction.actionPerformed()
  1167. EditAction.isSelected(Component)
  1168. EditAction.getView(EventObject)
  1169. EditAction.getBuffer(EventObject)
  1170. - CreateDockableWindow class deprecated. Write a dockables.xml file
  1171. instead of listening for this message.
  1172. - DockableWindow interface deprecated. No need to implement it any more.
  1173. - EditBus named list stuff deprecated. It was only being used for
  1174. dockables and ErrorList's error sources. To register dockables, use
  1175. the new dockables.xml API. To register error sources, use the relevant
  1176. APIs in the ErrorList plugin.
  1177. - DockableWindowManager.getDockableWindow() method (that returns a
  1178. DockableWindow instance) has been deprecated in favor of the new
  1179. DockableWindowManager.getDockable() (which returns a JComponent
  1180. instance)
  1181. - TextAreaHighlight.init() method removed. If it exists, it will be
  1182. called via reflection so that old plugins can continue to work, but
  1183. new plugins should pass a text area instance to the constructor of the
  1184. highlighter.
  1185. - MiscUtilities.VersionCompare class and MiscUtilities.compareVersions()
  1186. method removed. Use compareStrings() instead
  1187. - Buffer.markTokens() now returns instance of Buffer.TokenList class
  1188. - New BufferUpdate message type: FOLD_HANDLER_CHANGED
  1189. - Buffer.insertString() deprecated; call Buffer.insert() instead
  1190. - Buffer.remove(), Buffer.getText() and Buffer.createPosition() no longer
  1191. throw BadLocationExceptions
  1192. - Buffer.getDefaultRootElement() deprecated; call
  1193. Buffer.getLineStartOffset(), Buffer.getLineEndOffset(),
  1194. Buffer.getLineLength() and Buffer.getLineOfOffset() instead